Almost every Shopify theme assumes 1:1 product photos and opens the zoom modal at up to 2048 pixels on retina screens. Drop your catalog photos in and the studio exports a clean 2048-square set ready for the admin.
Drop your product photos
JPG, PNG, WebP or HEIC. Up to 12 photos. Studio will pick the squarest one as your listing hero — you can swap it after.
Everything stays in your browser. No upload.
Files never leave your device
Runs in your browser
Free, no signup
How it works
1
Drop the catalog photos
Up to twelve photos per pass. The squarest, largest one is suggested as the hero.
2
The studio sets the spec
Square crop, 2048 × 2048, JPG at quality 92, well under Shopify's 20 MB cap.
3
Upload to the admin
Drag the shopify/ folder into the product's media area. Hero is named 01.
What this Shopify resizer does
2048 × 2048 default
Hits the retina zoom modal sharply without inflating file size or upload time.
Square because themes assume it
Theme grids hard-crop landscape uploads. Square sources put the crop decision in your hands.
Consistent across the catalog
Re-render every product photo with the same defaults so the storefront grid stays tidy.
How Shopify compares to the other marketplaces
Shopify's allowances are the most generous of any marketplace covered: any aspect, up to 4472 × 4472, 20 MB. The right answer is narrower because of the theme. The table compares published rules side by side; the Shopify row is highlighted.
Re-square photos that worked on Etsy for a Shopify theme that assumes the same.
Refresh
Catalog refresh
Re-render every product photo to a consistent 2048-square in one pass.
Theme
Theme switch
New theme expects a different aspect or size. Re-export the catalog without a designer.
Starter
First-time Shopify store
Skip the photo-editor step and upload straight from your phone via the studio.
Tips that help
1
Pick one fill ratio and apply it across the catalog
Inconsistent crop tightness makes the storefront grid feel scattered. 70% fill across all heroes is a reasonable default.
2
Use the same background across hero photos
Mixing white-background and lifestyle heroes in one grid reads as inconsistent.
3
Place video after the second still
Photos do the first round of work. A video that opens before the photos can distract from them.
4
Re-upload after a theme switch
If a new theme assumes a different aspect, a quick re-export from the studio fixes the grid.
What to upload for Shopify and why
Shopify gives you a wide allowance for image size, format and aspect. The right answer is narrower than the spec sheet because the theme (not Shopify) sets the displayed shape, and the CDN handles resizing on its own. The sections below cover what to upload and why.
2048 square is the target
Every popular Theme Store theme (Dawn, Refresh, Sense, Impact, Crave) renders the product page zoom modal at up to 2048 pixels on retina screens. Below 2048 the zoom view starts upscaling, which softens detail. Above 2048 produces no visible improvement.
The CDN generates every smaller responsive size (cart, collection, product page) from the same source you upload. A 2048-square source covers all of them without upscaling.
Shopify charges nothing extra for serving larger files, so the trade-off above 2048 is just upload time and admin storage. The studio's default lands JPEGs around 300 KB to 1.5 MB.
Square because themes assume it
Theme grids assume 1:1 product cards. Landscape or portrait uploads are hard-cropped to fit, with a centre-crop policy that you cannot override per-product.
Cropping square before upload puts the centre-crop decision in your hands. The studio's hero slot is locked to 1:1 by default.
A few specialty themes (Symmetry and a handful of others) support 4:5 or 3:4 product aspects. If you are using one of those, the studio's aspect can be adjusted per export.
Consistency across the catalog
The storefront grid shows multiple products at once. A grid where some heroes have a white background and others have wood-grain tabletops reads as scattered.
Picking one or two background treatments and applying them across the catalog tightens the storefront. The same applies to how tightly each product fills its frame: a 70% fill across the catalog with one 40% outlier makes the outlier look small.
Within a single product, mixing background treatments across slots two onwards is fine. The constraint is only on slot one.
Read moreRead less
Video, 3D and the rest
Shopify supports video (MP4 / MOV up to 1 GB), 3D models (GLB / USDZ) and external embeds from YouTube and Vimeo. These augment the still photos rather than replace them.
Place a video after the second still so the photos do the first round of work. The studio handles still photos only.
Shopify display issues and their causes
Shopify itself does not reject product images on policy grounds; the issues sellers run into are display problems caused by the theme or the file size.
Landscape photo is cropped awkwardly in the grid
Observed pattern
Cause: The theme's product grid is 1:1 and hard-crops landscape uploads to fit. The centre-crop policy is not configurable per product.
Fix: Upload square. The studio's Shopify default crops to 1:1 before export.
Image is rejected for being too large
Documented rule
Cause: Shopify caps individual files at 20 MB and image dimensions at 4472 × 4472.
Fix: Use the studio's default 2048 × 2048 JPG output, which lands well under both caps.
Storefront grid looks scattered across products
Observed pattern
Cause: Inconsistent backgrounds or crop tightness across products. Each one looks fine alone; together they look unrelated.
Fix: Re-render the whole catalog with the studio using identical settings. One pass, consistent output.
Zoom view looks soft on retina screens
Observed pattern
Cause: Source uploaded below 2048 × 2048. Most popular themes open the zoom modal at 2048 on retina; below that the view is upscaled.
Fix: Re-upload at 2048 on the shortest side. The studio's default already targets that size.
Shopify workflows the studio covers
Three Shopify workflows the studio handles in one pass.
50-product catalog launch
Building a new Shopify store with photos already shot for every product.
1Group the source photos by product (one folder per SKU).
2Run the studio per product: drop in the photos, tick Shopify, build the pack.
3Repeat for each SKU. Every output is 2048 × 2048 with identical settings, so the storefront grid stays consistent.
4Upload each shopify/ folder to the matching product in the admin media area.
Theme switch re-render
Switching to a theme that expects a different aspect or higher zoom resolution.
1Identify the new theme's recommended product image size and aspect (Dawn, Refresh and most paid themes default to 2048 square).
2Pull the original-source photos out of your asset library, not the admin export (which is already CDN-compressed).
3Re-run them through the studio with Shopify ticked.
4Replace the admin media files. The CDN re-generates every responsive size from the new source.
Variant photos for a single product
A product has multiple variants (colours, sizes) each needing their own hero.
1Photograph each variant on the same background, framed identically.
2Drop them all into the studio in one batch.
3Tag each one with the variant name in your file system before upload to Shopify; the studio keeps source filenames in the export.
4In the Shopify admin, assign each photo to its variant in the product media area.
Shopify-specific gotchas
Shopify itself does not enforce category rules; the gotchas come from the theme and from app integrations.
Variant images
Documented
Most themes accept per-variant images. Assign each variant photo to its option in the product media area; otherwise the storefront defaults to the first photo for every variant.
Alt text for accessibility
Documented
Shopify lets you set per-image alt text in the admin. Real alt text (what the photo shows) helps screen readers and image search; an empty alt text is treated as decorative.
Theme-specific aspect ratios
Observed
A handful of paid themes (Symmetry, Empire) support 4:5 or 3:4 product aspects instead of 1:1. Check the theme docs before locking in a square crop.
Bulk import via CSV
Documented
Shopify's CSV import accepts image URLs in the Image Src column. The URLs must be publicly accessible; private CDN links fail.
Frequently asked questions
Honest answers to what people ask before using this tool.
Shopify documents 4472 × 4472 as the upper bound and 20 MB as the per-file cap. The platform itself does not require a particular size; the theme decides what shape and resolution the storefront displays. The studio defaults to 2048 × 2048, which covers retina zoom on every popular Theme Store theme.
Popular themes (Dawn, Refresh, Sense, Impact, Crave) open a product zoom modal at up to 2048 pixels on retina screens. A 2048-square source serves the full chain of responsive sizes (200 px cart, 500 px collection grid, 1000 px product page, 2048 px zoom) without upscaling. Above 2048 there is no visible improvement on any current Shopify surface.
2048 × 2048 is the cleanest answer for the typical retina-supporting theme. For mobile-only themes a 1500-pixel square is usually enough. For very specific layouts (a paid theme that targets 4:5 product cards) follow that theme's documentation; the studio supports per-export aspect adjustment.
Shopify itself accepts any aspect ratio, but almost every theme assumes 1:1 product photos and hard-crops landscape uploads to fit. The cleanest result is a square source, which the studio exports by default.
Shopify re-encodes uploads to WebP on its CDN for delivery and serves them at responsive sizes. The original source you upload is not lossy-compressed on upload; it stays as the master file. The CDN re-encode is delivery-side only.
JPG for photos and PNG for graphics with transparency. Shopify also accepts WebP, HEIC and (static) GIF. The CDN converts everything to WebP for delivery anyway, so the upload format is mostly about which one you have to hand. JPG is the studio's default.
The studio handles up to 12 photos per pass per product. For larger catalogs, run it per product (drop in one product's photos, build, repeat for the next). Each pass takes a few seconds because everything renders locally; no upload, no queue. For folder-level batch resize outside a product context, resize multiple images is the simpler tool.
JPG/JPEG, PNG, GIF (not animated), WebP and HEIC. Shopify re-encodes uploads to WebP on its CDN regardless of source format, so uploading JPG and getting WebP delivery requires no extra step.
Shopify allows up to 250 media items per product, which is far more than the storefront can usefully display. The studio caps at 12, which covers any realistic listing.
Shopify re-encodes for delivery via its image CDN (the WebP step) but does not lossy-compress the source on upload. The file you upload is what every responsive size is generated from. Uploading at 2048 lets the CDN serve every size from 100 to 2048 without upscaling.
Shopify lets you set per-image alt text in the admin and supports it for accessibility and image search. Real alt text (what the photo shows) is treated as a content signal; an empty alt is treated as decorative. The studio does not set alt text; that step happens in the Shopify admin after upload.
Further reading
Independent references if you want to go deeper on the formats and tradeoffs.