Product Images Blurry After Upload: Where the Pixels Go

Product images blurry after upload? The softness is added in eight stages between your export and the buyer's screen. Here is each stage, and the fix.

Product Images Blurry After Upload: Where the Pixels Go

Product images blurry after upload is almost never a camera problem. The file that left your desktop was sharp. The file the buyer's phone actually downloaded is not that file — it has been resampled, re-encoded, capped and re-served, usually four or five times, by systems tuned for page speed rather than for your dimension callouts.

Nobody uploads a blurry image. Sharpness is not lost at upload; it is spent, one stage at a time, and most of those stages are invisible from the seller dashboard. Here is the whole pipeline in one table, then what to do about the three stages that cost you the most.

Product images blurry after upload: the eight stages, in order

# Stage What it does to your file What you lose Under your control?
1 Capture Motion, missed focus, diffraction at very small apertures Real detail, unrecoverable later Yes
2 Export resample Downscaling to your target pixel size without output sharpening Micro-contrast on edges, arrowheads and small text Yes
3 Your JPEG encode Quality setting plus chroma subsampling discards colour detail Thin coloured lines, red and blue callout text Yes
4 Platform ingest The marketplace decodes your JPEG and re-encodes it to its own settings Generation loss, ringing halos on hard edges No
5 Pixel ceiling The platform stores at its own maximum longest side Everything above the cap, permanently Only by choosing the right export size
6 Derivative sizes The page requests a thumbnail-sized copy, not your master Detail in proportion to the downscale ratio Partly, via which slot you target
7 Device pixel ratio A 3x phone screen wants three image pixels per CSS pixel Two thirds of apparent sharpness on dense screens Partly
8 Delivery Lazy-load placeholders, theme settings, slow-network fallbacks Temporary or persistent softness on first paint Partly

Stages 1 and 2 are yours. Stages 4 and 5 belong to the platform and are not negotiable. In practice, most complaints about product images blurry after upload trace back to stages 3, 4 and 7 — the encode, the re-encode, and the screen — which is also why re-shooting rarely fixes anything.

Stage 3: chroma subsampling is why your red dimension arrow dies first

Chroma subsampling is a JPEG encoding shortcut that stores brightness at full resolution but colour at a fraction of it — in the common 4:2:0 mode, one colour sample for every 2x2 block of pixels. Brightness detail survives; colour detail is quartered before the file ever leaves your machine.

That is a reasonable trade for a photograph of a sofa. It is a terrible trade for a one-pixel red arrow drawn across a grey panel, because a mid-red line on mid-grey has almost no brightness difference from its background. Nearly all of its visibility is carried by hue — exactly the channel the encoder throws away first. The line does not disappear; it smears into a soft pink bruise about two pixels wide, and the arrowhead loses its point.

The fix is not a higher quality slider. The fix is to make callouts win on brightness rather than on colour:

  • Dark line on a light background, or light line on a dark one. Contrast in luminance, not hue.
  • Give the line a thin contrasting outline or halo so the edge survives a 2x2 colour average.
  • Keep dimension text at least 2 px thick in the delivered size, not the master size.
  • Avoid saturated red or blue text directly on a mid-tone product. Those are the two hues that break down first.

Stage 4: the re-encode nobody sees

Every marketplace decodes what you upload and writes its own copy. JPEG is lossy, so the second encode does not just repeat the first one's errors — it quantises an image that already contains compression artefacts, and the artefacts get treated as detail worth preserving. The visible result is ringing: faint halos hugging every hard edge, most obvious on black text over white and on the straight lines of a spec diagram.

You cannot switch that off. You can stop feeding it damaged input:

  • Keep a lossless master (PNG, TIFF or the layered original). Never edit the exported JPEG and re-save it.
  • Export once, from the master, at the final pixel size. Every intermediate JPEG save is a generation you are paying for.
  • Do not pre-compress to hit a file size target that the platform's own ceiling already handles.

The rule that follows from stages 3 and 4: the number of times a listing image is JPEG-encoded matters more than the quality slider on any single encode.

Stage 5: the pixel floor that keeps zoom alive

Zoom is the feature buyers use to check whether a spec is legible, and every platform gates it behind a pixel threshold. Miss the threshold and the image is not blurry — it simply never gets a high-resolution version to serve.

Platform Minimum accepted Zoom threshold Ceiling
Amazon 500 px on the longest side 1,000 px minimum; 1,600 px or larger for the best zoom experience 10,000 px longest side
eBay 500 px on the longest side 1,600 px on the longest side 12 MB per photo
Shopify No published floor Larger than 800 x 800 px for zoom to work 5,000 x 5,000 px, up to 20 MB; 2,048 x 2,048 px recommended for square

Two things follow. First, uploading a physically larger file does not add resolution that was never captured — that is the same confusion behind the 300 DPI vs 72 DPI argument, where a number stored in the file header gets mistaken for image detail. Second, exporting at the platform's ceiling is usually free and always safer than exporting at the size your theme currently happens to display.

Stage 7: the 2x tax on dense screens

Device pixel ratio is the number of physical screen pixels a browser uses for one CSS pixel. Modern phones commonly report 2 or 3. A 1,000-pixel image dropped into a 500-CSS-pixel slot looks crisp on an old laptop and visibly soft on a phone, because the phone asked for 1,500 pixels and got 1,000.

This is the single most common reason a seller says "it looks fine on my monitor." It probably does. Your monitor asked for fewer pixels than your buyer's phone did. Check every listing image on a phone, at 100%, before you decide the file is fine.

Cropping compounds it. If the platform's display slot has a different shape from your export, the sharp part of your image can be cut away before it is ever scaled — a different failure that reads to the eye as the same softness. That is a separate decision, covered in product image aspect ratio.

What to change, in order of payback

  1. Export at the platform ceiling, once, from a lossless master. Biggest single win, costs nothing.
  2. Fix callout contrast before you touch the quality slider. Luminance beats hue through every encode.
  3. Sharpen after the resize, never before. Sharpening a 6,000 px master and then downscaling throws the sharpening away and adds halos.
  4. Stop round-tripping JPEGs. One export per delivered size, from the master.
  5. Verify on a phone. Not on the desktop preview, and not in the upload dialog.

There is a fifth lever that sits upstream of all of this: how the callout was authored in the first place. Dimension lines and spec text drawn as geometry and exported once at the delivered pixel size stay crisp through a platform re-encode, because they are hard-edged, high-luminance-contrast shapes rendered at native resolution. The same numbers typed into a photo editor over a zoomed-in view and then scaled down arrive soft before compression even starts. Tools that snap the measurement to the product's real edges and export the annotated image at each platform's spec-diagram size skip stages 2 and 3 altogether — and because the geometry is measured rather than generated, the number on the arrow is the number on the tape, not a plausible-looking figure an image model invented. If you are weighing up approaches, the shortlist of tools to add dimensions to product photos is a sane starting point.

The 60-second diagnosis

Run this before you re-shoot anything. It separates the three causes of product images blurry after upload — too few pixels, too many encodes, too dense a screen — in about a minute:

  • Open the live listing on a phone and pinch to zoom. Does zoom engage at all? If not, you are below the platform's zoom threshold — this is a pixel-count problem, not a sharpness problem.
  • Right-click the live image and open it in a new tab. Compare its pixel dimensions to what you uploaded. A smaller number means the platform capped or re-derived it.
  • Look at a hard black-on-white edge at 200%. Faint light halos on both sides mean re-encoding, not soft focus.
  • Look at a coloured callout line at 200%. If the line has bled sideways but black text nearby is clean, that is chroma subsampling.
  • Check the file you uploaded. If it was ever opened and re-saved as JPEG, redo the export from the master.
  • Compare the master's longest side to the platform ceiling. If it is well under, re-export larger.

If all six pass and the image still looks soft, only then is it a capture problem — and at that point the fix is the shoot, not the export. Setting up a shot that stays measurable is its own discipline, and it is covered in how to photograph a product for measurement.

FAQ

Why are my product images blurry after upload to Shopify but sharp on my desktop?

Because your desktop shows the master and the storefront shows a derivative. Shopify automatically resizes images to fit smaller screens, so the buyer is usually getting a scaled copy rather than your file. Shopify accepts images up to 5,000 x 5,000 px and 20 MB, recommends 2,048 x 2,048 px for square product images, and needs images larger than 800 x 800 px for zoom to work at all; if your upload is far below that, every derivative starts from too little detail.

Does uploading a larger file make the image sharper?

Only up to the resolution you actually captured. More pixels help when the platform's zoom threshold or its derivative sizes are starving the display — for example, going from 800 px to 1,600 px on Amazon or eBay switches zoom on. Upscaling a 900 px photo to 3,000 px adds file size and no detail, and often adds visible interpolation softness on top.

Why does my dimension text look fine in the main image but mushy in the gallery thumbnail?

The thumbnail is a separate derivative, generated by downscaling. Text that is 14 px tall in a 1,600 px master is about 4 px tall in a 450 px thumbnail, which is below the size at which letterforms survive any resampling. Size callout text against the smallest slot it will appear in, not against the master.

Should I upload PNG instead of JPEG for spec diagrams?

Where the platform allows it, yes for images that are mostly flat colour, hard lines and text, because PNG is lossless and immune to chroma subsampling. The catch is that most marketplaces re-encode to JPEG on ingest anyway, so PNG protects stages 2 and 3 but not stage 4. It is still worth doing: a clean input survives one re-encode far better than an already-degraded one.

Why do my images look worse on mobile data than on wi-fi?

Some browsers and networks substitute a lower-quality version on constrained connections, and many storefronts show a tiny blurred placeholder while the real file loads. If the image sharpens up after a second, that is the placeholder and there is nothing to fix. If it stays soft, work back through stages 5 to 7.

Sources & References

Mark precise sizes & specs on your product photos in minutesprecise sizes & specs · freeStart free
Product Images Blurry After Upload: Where the Pixels Go