Skip to main content
Get started free

Shopify Product Image Size: What Actually Gets Served

Shopify accepts 5000 x 5000 px and 20 MB, then re-encodes every file on its CDN. The upload spec, the delivered spec, and which one decides what shoppers see.

Shopify Product Image Size: What Actually Gets Served

The Shopify product image size that displays best is 2048 x 2048 px for square shots. The platform accepts anything up to 5000 x 5000 px or 25 megapixels, under 20 MB per file. That is the upload spec. Shopify then re-encodes every file on its own CDN and serves it at a width your theme picks, so the upload number is only half the answer.

Almost every guide on this question stops at the first half. It quotes 2048 x 2048, lists the accepted formats, and hands you a checklist. Then a merchant uploads a perfect square, opens the collection page, and finds the top of the bottle cropped off and the file arriving as WebP when they exported a PNG.

Neither of those is a bug. Both are documented behaviour that the upload spec does not describe. This guide covers what Shopify accepts, what Shopify delivers, why the two differ, where the theme takes over, and the second spec set that applies the moment your catalog reaches Google Shopping.

Key Takeaways

The upload ceiling is 5000 x 5000 px or 25 megapixels, under 20 MB. Square product images display best at 2048 x 2048 px (help.shopify.com, accessed August 2026). Shopify picks the delivered format, not you. The CDN detects what the browser supports and selects the format for best quality and file size, so PNG and JPEG uploads reach modern browsers as WebP or AVIF (shopify.dev, accessed August 2026). The delivery ceiling is 5760 px. Shopify’s image_url filter serves up to 5760 px on either axis, above your 5000 px upload cap, so a 2048 px square is never the limiting factor on a retina zoom (shopify.dev, accessed August 2026). Cropping is a theme decision, and focal points are the override. A focal point always stays in frame when a theme crops, and you get one per image (help.shopify.com, accessed August 2026). Google Shopping enforces a 500 x 500 minimum from 31 January 2027. Today the floor is 250 x 250 for apparel and 100 x 100 for everything else (support.google.com, accessed August 2026). Alt text is capped at 512 characters, with 125 or fewer recommended (help.shopify.com, accessed August 2026). Target roughly 300 KB per product photo. Shopify’s own guidance puts product images near that figure and notes WebP runs 24% to 34% smaller than JPEG at matching quality (shopify.com, accessed August 2026).

What size should Shopify product images be?

Set your Shopify product image size to 2048 x 2048 px for squares. Shopify names that size as the one that displays best, and it clears every theme layout and zoom interaction in common use. The hard limits sit well above it: 5000 x 5000 px or 25 megapixels, whichever you hit first, and under 20 MB per file. Anything larger is rejected at upload rather than resized.

The reason 2048 is the working number rather than 5000 is that oversized files buy nothing. Shopify resizes on delivery, so a 5000 px master and a 2048 px master reach the same shopper as the same rendered file. The 5000 px version only costs you upload time and storage.

One caveat sits under the megapixel limit. It is a separate ceiling from the file size, so a heavily compressed 3 MB file at 6000 x 4500 px fails on pixels while a 15 MB file at 2048 x 2048 px passes. Check both numbers before a bulk import, because the error message names only the one that tripped.

Shopify’s upload limits, in one table

SpecLimitPractical note
Recommended square size2048 x 2048 px4.2 MP. The number to standardise on
Maximum dimensions5000 x 5000 pxRejected above this, not downscaled
Maximum resolution25 megapixelsA separate ceiling from file size
Maximum file size20 MBRarely the binding constraint
Target file sizeAround 300 KBShopify’s own guidance for product photos
Preferred formatsPNG, then JPEGAlso PSD, TIFF, BMP, GIF, SVG, HEIC, WebP
Media per product250 filesImages, video and 3D models share the pool
Alt text512 characters max125 or fewer recommended

Two rows in that table do real work and the rest are trivia. The 2048 recommendation decides whether your images hold up on a zoom, and the 250-file cap decides whether your plan for a wide catalog is possible at all. That second number is the one that breaks on large variant matrices, and the 250-media cap against Shopify’s 2,048 variants works through where it stops being theoretical.

If you are standardising a folder of mixed exports, a free image resizer will square them in one pass, and running the set through a compressor before upload is what moves a 4 MB export down to the 300 KB Shopify asks for.

Shopify does not serve the file you upload

This is the part the upload spec leaves out, and it explains most of the confusion around Shopify image quality.

Every product image is served through Shopify’s CDN, and the CDN chooses the delivered format. Shopify’s documentation states it detects which formats the client supports, then selects the format for optimal quality and file size. A browser that supports WebP or AVIF gets WebP or AVIF, whatever you uploaded. Animated GIFs are converted to animated WebP to cut file size.

So the PNG you carefully exported is a transport format, not a delivery format. Uploading PNG is still the right call, because it is lossless going in and Shopify names it first among accepted types. It just will not be a PNG by the time a shopper loads it.

The delivered dimensions are chosen the same way. Shopify’s image_url filter, which is what themes call to build every product image tag, accepts a width and a height up to a maximum of 5760 px on either axis. Your theme requests the width it needs for each slot, and the CDN renders that size on demand.

Two consequences follow, and both are useful:

  • You cannot control delivered file size directly. Compressing a 2048 px JPEG from 800 KB to 300 KB changes what you store, not what ships. The CDN re-encodes either way. Compress for upload speed and storage hygiene, not for page weight.
  • Delivery has more headroom than upload. The 5760 px delivery ceiling sits above the 5000 px upload ceiling, so the platform is never the bottleneck on a zoom interaction. Your source file is.

That last point is the one worth acting on. If a product needs a deep zoom, the fix is a larger source, not a theme setting. Where the source is a legacy file that was never sharp to begin with, upscaling adds pixels but not information, and an AI image upscaler helps only when the detail was captured and something downstream destroyed it.

Why a perfect square still gets cropped

Upload a 2048 x 2048 square, then look at the collection grid. On most themes the card is not square. It is portrait, or it adapts to the first image’s ratio, and your square is cropped to fit.

That crop is a theme setting, not an image problem. Shopify’s image_url filter takes a crop parameter with six values: top, center, bottom, left, right and region. It decides which part of the image survives when the requested dimensions do not match the source ratio. Themes set it, and most default to center.

Center works for a bottle standing in the middle of a frame. It fails for a shoe photographed at an angle in the lower third, and it fails for anything where the product sits deliberately off-centre.

The override is a focal point. You set one per image in the admin, and Shopify keeps it in frame whenever a theme crops. You can set them from Content then Files, from the theme editor, or from a product’s media section. Shopify notes the focal point might not sit visually centred depending on how the theme crops and resizes, so check the result rather than assuming it.

Three rules make this manageable across a catalog:

  1. Keep one aspect ratio across every featured image. Mixed ratios are what make a grid look ragged, and no focal point fixes it.
  2. Shoot or generate with crop room. Leave margin on all four sides so a portrait crop and a square crop both work from the same file.
  3. Set focal points only where centre fails. On a clean packshot the default is already correct, and one focal point per image is all you get.

Google Shopping is the second spec, and it changes in January 2027

The moment your catalog syncs to Google Shopping, a second rulebook applies to the same files, and it is stricter than Shopify’s in one direction and looser in another.

Google Merchant Center currently requires at least 250 x 250 px for apparel and 100 x 100 px for everything else, with a ceiling of 64 megapixels or 16 MB. Those floors are so low that almost nothing fails them today.

That changes. Google has announced a minimum of 500 x 500 px for all product images, with enforcement beginning on 31 January 2027. Until then, images that clear the current floor but fall under 500 x 500 generate warnings rather than disapprovals.

A 2048 px square clears both the current and the future floor with room to spare, which is the practical reason to standardise there instead of at some lower number that happens to look fine on a phone. Merchants running variant swatch images or thumbnail-sized secondary assets are the ones with exposure here, because those are the files that live in the 200 to 400 px range.

Google is one of several parties with a rule about your product photos, and none of them is Shopify. Which rulebooks actually bind a Shopify store covers the disclosure side of the same question, and the image spec for five sales channels covers the marketplaces where the numbers get tighter than either.

What to upload, shot by shot

The Shopify product image size is one number for every slot in the gallery. What changes per slot is the framing.

SlotFramingWhy the spec matters here
Main imageProduct centred, even marginGets cropped by every collection grid
Second angleSame distance, rotatedRatio must match slot one or the grid jumps
Detail cropClose on texture, closure or finishThe only slot where zoom resolution is tested
In-scale shotProduct against a known referencePrevents the returns a spec sheet does not
Lifestyle or on-modelProduct in useWidest crop tolerance, so focal points earn their place
Variant swatchTight on the colour or finishThe slot most likely to fail Google’s 2027 floor

Two of those rows carry the risk. The detail crop is the only image where a shopper can out-zoom your source file, so it deserves the largest original you have. The variant swatch is the one people export small out of habit, and it is the one Google’s new minimum will catch.

Everything else can run at 2048 x 2048 without thought. Consistency across the set matters more than any individual file, because a definition of what a Shopify product image has to do comes down to a gallery that reads as one shoot rather than six.

Alt text and file names survive the re-encode

The CDN rewrites your file. It does not rewrite the metadata you attach in the admin, which makes alt text the most durable thing you control.

Shopify caps alt text at 512 characters and recommends 125 or fewer. The recommendation is the real number. Screen readers read the whole string, and a 400-character description of a t-shirt is a worse experience than a 90-character one.

Write what the image shows, not what the product is called. “Charcoal merino crew neck, front view on a white background” describes an image. “Merino Crew Neck | Premium Wool | Free Shipping” describes a listing and helps nobody who cannot see the photo.

Rename files before upload for the same reason. Shopify keeps the file name in the CDN path, so a folder of camera serial numbers stays that way permanently.

Where generated images meet the same spec

Generated product images clear these numbers or they do not ship, and output resolution is where most tools fall short rather than realism.

The relevant threshold is 2048 x 2048. A tool returning 1024 px squares produces files that look correct on a collection grid and go soft the moment a shopper zooms, and no amount of upscaling recovers detail the generator never produced. Check the output dimensions before you check the output quality.

DesignerBox runs 13 image and video models on one subscription, and generation starts from your actual product photo rather than a text description, so the output is your product rather than a lookalike of it. Packshots, extra angles, styled scenes and on-model shots all come off the same source file inside Photo Studio, which is what keeps a gallery consistent across slots. Basic is $15 a month with 500 credits, and the free plan starts at 112 credits.

The workflow that matters for Shopify is boring and it works: one well-lit source photo per product, generated variations from it, one aspect ratio across the set, 2048 px square on upload, focal points only where centre crops badly.

FAQ

What size should Shopify product images be?

Use 2048 x 2048 px for square product images, which is the size Shopify names as displaying best. The platform accepts up to 5000 x 5000 px or 25 megapixels, under 20 MB per file (help.shopify.com, accessed August 2026). Going above 2048 buys nothing, because Shopify resizes on delivery.

Does Shopify compress product images?

Yes. Every product image is served through Shopify’s CDN, which re-encodes the file and selects a format based on what the browser supports, delivering WebP or AVIF where available (shopify.dev, accessed August 2026). Compressing before upload saves storage and upload time, not page weight.

Do Shopify product images have to be square?

No, but every featured image should share one aspect ratio. Themes crop images to fit their layout, so a mix of square and portrait sources produces an uneven collection grid. Square is the common choice for Shopify product image size because it survives crops in both directions with the least loss.

Why does Shopify crop my product images?

The theme requests a specific aspect ratio, and Shopify’s image_url filter crops to it using a crop parameter that defaults to center on most themes (shopify.dev, accessed August 2026). Set a focal point on the image to force the important area to stay in frame (help.shopify.com, accessed August 2026).

What is the maximum file size for a Shopify product image?

20 MB. A separate limit caps resolution at 5000 x 5000 px or 25 megapixels, and an image can fail on pixels while passing on file size (help.shopify.com, accessed August 2026). Shopify’s own guidance suggests aiming for around 300 KB per product photo.

How many images can one Shopify product have?

250, covering images, video and 3D models combined (help.shopify.com, accessed August 2026). That cap did not move when Shopify raised the variant limit, which is what makes it the binding constraint on catalogs with a wide colour or finish range.

What image size does Google Shopping require?

At least 250 x 250 px for apparel and 100 x 100 px for other products, up to 64 megapixels or 16 MB. Google has announced a 500 x 500 px minimum for all product images with enforcement starting 31 January 2027 (support.google.com, accessed August 2026). A 2048 px square clears both.

Shopify upload limits, CDN delivery behaviour, focal points and alt text limits verified from Shopify’s Help Center and developer documentation, and Google Shopping image requirements from Google Merchant Center Help, as of August 2026. DesignerBox pricing from the product brief. Individual results vary.

Cristian

Head of Content at DesignerBox

Cristian covers AI product photography, video ad tools and model comparisons. He runs the same prompt and the same product across models, then publishes the output side by side, so you pick on evidence instead of marketing copy.

Follow along on Instagram at @designerboxai for campaign breakdowns.

Shoot the whole catalogue without a studio

Upload one product photo. Get listing shots, new angles, flat lays and styled scenes that stay on-brand across every SKU. Nothing comes out looking generic AI.

Start free

Upload one product photo. Ship the whole campaign, without a photoshoot.