The fastest way to make a good site slow is to put a beautiful hero image on it. Generated designs are especially dangerous here, because they arrive as large uncompressed rasters and they look perfect in the editor — where nobody is measuring how long they take to arrive.
This is the short version of what to do between the download button and the deploy, starting with the mistake almost everyone makes first.
The 3x Trap
Exports offer 1x, 2x and 3x, and the reasonable assumption is that a higher number means a more detailed render. It does not. The larger sizes are produced by drawing the existing image onto a canvas at two or three times the dimensions with smoothing — the same operation your image editor performs when you enlarge a photograph. No detail is added, because there is none to add.
The consequence is worth stating plainly: a 3x export has roughly nine times the pixel count of the 1x, and therefore several times the file weight, while carrying exactly the same amount of real information.
The rule
For the web, export at 1x and use 2x only when the image will be displayed on a high-density screen at close to its full size. Reserve 3x for print, where the enlargement genuinely helps and nobody is waiting on a download.
Choose the Format by What Is In the Picture
PNG and JPG are not interchangeable, and the right choice depends entirely on the content:
- PNG for flat graphics. Logos, typography-led layouts, interface mockups, anything with hard edges and large areas of solid colour. JPEG compression puts visible fuzz around sharp edges and around text especially.
- JPG for photographic and gradient-heavy work. Product renders, photographic composites, soft lighting. These compress enormously well and a PNG of them is wasteful — often several times the size for no visible gain.
- Not sure? Export both and compare the files. It takes thirty seconds and the difference is frequently an order of magnitude.
One thing to know about JPG exports: because JPEG has no alpha channel, the image is painted onto a white background before encoding. That is the correct behaviour — the alternative renders transparent areas black — but it means JPG is the wrong choice for anything intended to sit on a coloured surface.
Convert Before You Ship
Exports are PNG and JPG only — there is no WebP or AVIF export here — and the JPEG encoder runs at high quality, which is right for a file you might edit further and unnecessarily heavy for one going onto a web page. So treat the download as a master, not as the asset you deploy.
- Convert to WebP or AVIF. Typical savings over a comparable JPEG are substantial, and support is universal across current browsers. Squoosh in the browser or ImageOptim on a Mac will do it in seconds.
- Drop the JPEG quality. Around 80 is usually indistinguishable from maximum on a photographic design and meaningfully smaller.
- Better still, let your framework do it. Next.js
next/image, an image CDN or a build-time pipeline will generate modern formats and multiple widths automatically, which is more reliable than remembering to do it by hand each time. - Strip the metadata. Optimisers remove colour profiles and EXIF you do not need.
Size It to the Slot It Sits In
An image displayed in a 640px column does not benefit from being 2048px wide; the browser downsamples it on arrival and you paid for the extra pixels anyway. Measure the actual rendered width of the slot, double it if you want to serve high-density screens well, and export to that. Serving one enormous file to every device is the most common single cause of a poor mobile score, because phones pay the largest penalty for it.
Which Metric Images Actually Affect
Google's three Core Web Vitals have documented thresholds for a good experience: Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1.
Images dominate two of them. The hero image is almost always the LCP element, so its file size is very often the whole score. And an image without declared dimensions is the classic cause of layout shift, as everything below it jumps down the moment it loads. Interaction responsiveness is mostly a JavaScript problem, not an image one — the exception being the heavy visual effects covered in our glassmorphism guide.
Stop the Layout Shift
Always declare the dimensions. The browser then reserves the correct space before the file arrives and nothing moves:
<img src="/hero.webp" alt="..." width="1200" height="750">
/* Let it scale responsively without losing the reservation */
img {
max-width: 100%;
height: auto;
}
The width and height attributes are not the display size — they give the browser the aspect ratio so it can hold the space. Keeping height: auto in CSS is what lets the image scale while the reservation still applies.
Make the Hero Arrive First
<!-- Above the fold: load it eagerly and early -->
<img src="/hero.webp" alt="..." width="1200" height="750"
fetchpriority="high" decoding="async">
<!-- Everything below the fold -->
<img src="/feature.webp" alt="..." width="800" height="500"
loading="lazy" decoding="async">
The single most common own goal is putting loading="lazy" on the hero. It delays the very image the LCP measurement is waiting for, which makes the score worse rather than better. Lazy-load everything below the fold and nothing above it.
Image SEO: Filenames and Alt Text
Generated files download with a slug based on the design's title, which is already better than a random string — but it is worth renaming to describe the subject rather than the project. navy-linen-sofa-hero.webp is a useful filename; design-3-final@3x.png is not.
Alt text should describe what the image shows for someone who cannot see it, not list keywords. For a generated design that usually means describing the subject and any text that appears in it, because words rendered inside an image are invisible to both screen readers and search engines:
- Good: "Navy linen three-seat sofa in a bright room, with the headline Spring Collection".
- Bad: "sofa furniture modern living room design ai generated best sofa".
- Purely decorative? Use an empty
alt=""so assistive technology skips it entirely. - Never leave real content only in the image. If a headline matters for search, it must exist as text on the page as well.
Structured Data, and the Trap In It
Structured data helps search engines understand the page, and is worth adding. But there is one line that gets copied into a great many templates and should not be:
Never publish an invented aggregateRating
A star rating in your schema must come from reviews you have actually collected. Placeholder values copied from a tutorial — a tidy 4.9 from 1,250 reviews — are a structured-data policy violation, and the penalty is a manual action against the site rather than a quiet ignore. If you have no review data, omit the property. This site's own schema omits it for exactly this reason.
The properties that are safe and useful are the descriptive ones: what the page is, who published it, when it was updated, and how it fits in the site's hierarchy.
The Checklist
- Export at 1x for the web; 2x only when it is displayed large; 3x for print.
- PNG for flat and typographic work, JPG for photographic work.
- Convert to WebP or AVIF and re-compress before deploying.
- Resize to roughly the slot width, not the largest screen you own.
- Declare
widthandheighton every image. fetchpriority="high"on the hero,loading="lazy"on everything below it.- Descriptive filenames and honest alt text.
- Measure on a throttled mobile connection, not on your laptop.
Frequently Asked Questions
Why is my AI-generated image file so large?
Usually because it was exported as a PNG at 2x or 3x. PNG is lossless, so a large colourful design stays heavy, and the higher scales multiply the pixel count without adding detail. Exporting at 1x and converting to WebP typically cuts the file to a fraction of its original size with no visible difference on screen.
Does 3x export give me a higher-quality image?
Not in terms of detail. The larger scales enlarge the existing render on a canvas with smoothing rather than generating more pixels of real information. It is genuinely useful for print, where physical size matters, and close to pure page weight on the web.
Should I use PNG or JPG for my website?
PNG for anything with text, hard edges or flat colour, because JPEG artefacts show badly around those. JPG for photographic or gradient-rich imagery, where it compresses far better. Then convert whichever you chose to WebP or AVIF, which beats both on the web.
Can I export WebP or AVIF directly?
No — exports are PNG or JPG at 1x, 2x or 3x, with no watermark on any plan. Convert afterwards using Squoosh, ImageOptim or your framework's image pipeline. If you are on Next.js, next/image will handle the modern formats and the responsive widths for you, which is the least error-prone route.
Do images affect SEO?
Indirectly and substantially. Heavy images slow the page, page experience is a ranking input, and the hero image is usually the element the LCP measurement is timing. Separately, descriptive filenames and alt text are how images become findable in image search, and alt text is an accessibility requirement regardless of ranking.
What is a good LCP score?
Under 2.5 seconds is Google's threshold for good, measured at the 75th percentile of real visits. The companion thresholds are 200 milliseconds for Interaction to Next Paint and 0.1 for Cumulative Layout Shift. Field data from real users is what counts, so a perfect lab score on a fast laptop can still coexist with a failing report.
How do I stop images causing layout shift?
Put width and height attributes on every image and keep height: auto in your CSS. The attributes give the browser the aspect ratio so it can reserve the right space before the file arrives, and the CSS keeps the image responsive. That combination removes the most common source of layout shift entirely.
What should alt text say for a generated design?
Describe the subject and repeat any words that appear inside the image, since text rendered into a design is invisible to screen readers and search engines. Keep it a natural sentence rather than a keyword list, and use an empty alt="" for purely decorative graphics so assistive technology skips them.
What size should I export a social or thumbnail image?
Match the platform's native size and stop there — 1280 by 720 for a YouTube thumbnail, 1080 square or 1080 by 1350 for an Instagram post. Platforms re-encode uploads anyway, so a larger file gains nothing and simply takes longer to upload. Web banners follow the slot-width rule instead.
None of this is difficult, and all of it is easy to skip when the design looks finished on screen. Export at 1x, convert, declare the dimensions, and check the result on a throttled phone connection rather than on the machine you designed it on. Browse the design tools to make the asset, then ship it properly.
