Shopify Product Image Normalizer
Shopify doesn't reject on size the way marketplaces do — it rejects masters above 5000×5000px and lets inconsistent aspect ratios make your collection page look ragged. A 2048px square master and a consistent shape across products is what Shopify's zoom and grid expect. This free tool reads your image against Shopify's media specs and exports a clean, correctly sized image. No upload, no watermark.
Drag product images here, or click to choose
neutral bg · up to 2048px / 20MB · 100% in-browser
What This Tool Checks
This tool reads your image against Shopify's published product media requirements and shows you the numbers — then normalizes it in place. All in your browser:
- Neutral background. Shopify recommends a consistent, clean background across products so collection pages look uniform. Transparent PNGs are supported.
- Square, 2048px. For square product photos, 2048x2048px displays best; Shopify's zoom works above 800x800px.
- Consistent aspect ratio. Keep all product images the same shape so collection and product pages line up cleanly.
- Format and file size. Exports JPEG at high quality; Shopify accepts up to 20MB and 5000x5000px.
- Confidence. Tells you how sure the analysis is, so you know when to eyeball it yourself.
No account, no upload, no watermark. Your image bytes never leave your device.
Your Images Never Leave Your Browser
- No upload, no cloud API, no CDN round-trip. All processing runs locally via Canvas and Web Worker.
- We only fetch our own JavaScript (
listing.js/jszip) on first use. That loads code, it does not upload your image. - No cookies, no tracking. Only CDN edge analytics (Cloudflare, zero on-page script). Verify it yourself in your browser's Network tab.
What This Tool Does Not Do
- Does not guarantee Shopify's channel review. It checks technical attributes only.
- Does not perform AI background removal or alter your background in any way — it keeps your existing background and only resizes, frames, and strips EXIF.
- Does not upscale low-resolution images (enlarging only softens pixels).
- Does not add or detect text/logo compliance.
- Does not alter the product beyond resizing, framing, and EXIF stripping.
Based on Shopify's published product media requirements (last reviewed 2026-10-25). Always confirm in the Shopify Help Center.
Requirements at a Glance
Shopify resizes from your master, so a single high-res image feeds every placement. Consistency matters more than any single dimension.
| Spec | Shopify requirement |
|---|---|
| Recommended size | 2048x2048px (square) |
| Zoom threshold | above 800x800px |
| Max size | 5000x5000px / 20MB |
| Background | Neutral; transparent PNG supported |
| Formats | PNG, JPEG, TIFF, BMP, GIF, SVG, HEIC, WebP |
| Aspect | Consistent across products |
| Theme crop | image_url default crop: center |
Shopify Does Not Approve Your Images — Your Theme Does
There is no marketplace review to pass on Shopify, so nothing rejects a photo before it goes live. The constraints come from somewhere else: the theme asks the CDN for a specific crop, the collection grid compares your images side by side, and every sales channel — Google, Meta, TikTok — pulls the same file and applies its own rules. The strictest channel you sell on is the real specification, not Shopify.
The crop Parameter Decides What Survives
Liquid's image_url filter takes crop values of top, center, bottom, left and right, and defaults to center. When the requested width and height produce a different aspect ratio from the original, the theme keeps that band and throws the rest away. A product sitting low in the frame loses its base in a square grid tile; a wide shot of a tall item loses both ends. crop: 'region' with crop_left, crop_top, crop_width and crop_height lets a theme take an exact box instead of a band.
The CDN Shrinks, but It Never Enlarges
image_url accepts width and height up to 5760px, and the documentation is explicit that an image can never be resized larger than its original dimensions. Upload an 800px file and request 2048px: you get 800px. That is why the master file matters more than the export — a square master at 2048x2048 covers the largest theme placement and still leaves room for retina screens. Variants are requested per placement, so one upload feeds the whole store.
Format Conversion Only Runs One Way
The format parameter accepts jpg and pjpg only, and Shopify can convert png to jpg, png to pjpg and jpg to pjpg — never the reverse. You cannot ask the CDN for a transparent PNG from a JPEG. quality takes 10 to 90, and if you omit it Shopify picks a value from the output format. pad_color takes hex3 or hex6 and pads instead of cropping, which is the option to reach for when a square tile must not cut the product.
Frequently Asked Questions
Why 2048px for Shopify?
Shopify recommends 2048x2048px for square product photos; it displays best and feeds the zoom feature (which works above 800x800px). Shopify auto-generates smaller sizes from your master.
Can I use transparent PNGs?
Yes — Shopify supports transparent PNGs for product images, unlike some marketplaces. We flatten transparency onto white and export JPEG (JPEG has no alpha channel); opaque backgrounds are kept exactly as shot.
Why keep a consistent aspect ratio?
Shopify's collection pages place images side by side; mismatched shapes look ragged. A consistent square (or uniform) shape keeps the grid clean.
Is there a file size limit?
Shopify accepts images up to 20MB and 5000x5000px, but smaller, web-optimized files load faster. We export up to 2048px at high JPEG quality, preserving your image's shape.
Why is my product cut off in the collection grid?
Collection tiles request their own aspect ratio, and the theme crops to it with crop: 'center' by default. If the product sits near an edge of the original, the tile removes that edge. Either keep the subject centred with margin, or set crop to top or bottom so the theme takes the band that suits the shot.
Can I use image_url to make a small photo bigger?
No. Shopify states that an image is never resized larger than its original dimensions, whatever width or height you request. A 600px file stays 600px on a 2048px tile — it is simply scaled up in the browser and looks soft. Fix the master, not the URL.
Can I convert a JPG to a transparent PNG through the CDN?
No. Only png to jpg, png to pjpg and jpg to pjpg are supported. Transparency that is not in the original file cannot be created by the CDN, so export a PNG with alpha from your editor and upload that as the master instead.