October 27, 2026 · 6 min read
Bulk Image Resizer for Shopify
Resize an entire product folder to Shopify's recommended 2048 × 2048 px in one pass, free, without uploading anything: drag every photo into BatchBG's browser-based batch resizer, set the long edge to 2048, keep quality at 80, and export the whole catalog in minutes. The resize and compression run on your own machine via the Canvas API — there is no per-image fee, no sign-up wall, and no file ever leaves your laptop.
The Shopify numbers that actually matter
Three numbers govern every Shopify image, and most "image size guide" posts blur them together. From Shopify's own product-media documentation:
- Hard ceiling: 5000 × 5000 px or 25 megapixels, file under 20 MB. Past this the upload simply fails — the admin error even says "The pixel limit is 20 megapixels" in some flows, which is the legacy phrasing for the same rejection.
- Sweet spot: 2048 × 2048 px for square product photos — Shopify's own wording is that this "usually displays best." It carries enough detail for the zoom viewer while keeping compressed size in the 150–300 KB band.
- Zoom floor: images under roughly 800 × 800 px lose the zoom feature on most themes. A supplier who sent you 750 px thumbnails cannot be upscaled back into real zoom detail — no resizer invents pixels that were never captured.
The trap is the gap between the ceiling and the sweet spot. Raw camera files land at 4000 × 6000 px and 8–15 MB — inside the limit, so nothing errors, but Shopify's imagery service then does the downscaling on its schedule, and 20 MB uploads eat your Files storage and bandwidth allowances. Preparing files to 2048 px before upload puts the outcome under your control instead.
Shopify has no native bulk resize — here's the honest comparison
There is no "select all → resize" action anywhere in the Shopify admin. Your real options:
| Method | Cost | Works on | Catch |
|---|---|---|---|
| Browser bulk resizer (local, e.g. BatchBG) | Free | Your source files, before upload | Must re-attach replaced images after the fact |
| App Store bulk-image apps | ~$5–20/mo | Images already in Shopify | Recurring cost scales with SKUs; processes files on their servers |
| Preview (Mac) / IrfanView (Win) | Free | Local folders | No aspect-safe square padding, no compression preview, clunky at 500+ files |
| Photoshop Image Processor | Subscription | Local folders | Overkill for resize-only pipelines; desktop app round-trips |
App Store tools earn their keep when images are already live in the store and you want to shrink them in place. But if you are preparing a new catalog — supplier downloads, a phone-full of product shots, renders from a manufacturer — the work belongs before upload, on files you control, where it costs nothing. Pre-sizing to 2048 px is also the only durable way to stay under your plan's Shopify file storage cap: resized files occupy a fraction of the GB quota that raw masters do.
The batch workflow: raw folder to CSV-ready in five steps
- Sort originals into one folder. One file per SKU angle. Filenames matter: Shopify's own guidance and most SEO checklists prefer descriptive slugs (`matte-lipstick-red-350.jpg`) over `IMG_4832.jpg` — Google Image surfaces filenames as a relevance signal, and renaming 500 files afterwards is its own batch job.
- Run the whole folder through the bulk resizer. Drop everything in at once, set maximum dimension to 2048 px, lock aspect ratio. The tool scales proportionally — landscape and portrait files both end up with a 2048 px long edge, nothing stretched.
- Compress at quality 80. Preview the result before committing. Quality 80–85 is visually indistinguishable from the original on product photos while cutting 60–80% of the bytes; below ~70 you start seeing banding on gradients and softness on dense texture. Target band for a 2048 px product JPEG: 150–300 KB.
- Normalize backgrounds if the catalog is mixed. Ragged backgrounds look worse than ragged sizes. Run the folder through the bulk background remover and composite onto pure white before (or after) resizing — 2048 px white-backed JPEGs give every row of your gallery the same frame.
- Feed the CSV. Upload the finished files to Shopify Admin → Settings → Files, copy the generated CDN URLs into the Image Src column of your product export (see the full Shopify image guide for the exact CSV mechanics, including the Variant Image column trap), then import. Shopify fetches and attaches everything in one pass.
Square vs fit: what a resizer will not do for you
A resizer caps the long edge; it does not crop. If some photos are 4:3 landscape and others 1:1, they all become ≤2048 px but the gallery still shows mixed ratios — themes crop to a fixed region, so part of your product gets sliced off at the edges on collection pages. Two fixes: pick one aspect ratio for the entire catalog and re-shoot/re-export to it, or pad non-square files onto a white (or transparent PNG) square canvas. If the mixed files are cutouts, transparent-background output lets any theme's colored card sit behind them cleanly — but check the format rules first: Shopify accepts PNG, but JPEG marketplaces downstream of your catalog do not.
What happens after upload (so you don't over-engineer)
Shopify's imagery service already creates resized variants of every uploaded image and negotiates the best format (including WebP and AVIF) for each visitor's browser. You cannot and should not try to beat the CDN — the goal of pre-sizing is simply to (a) guarantee zoom-capable resolution, (b) keep one predictable aspect ratio, and (c) stop paying storage for 12 MB originals you'll never serve at full size. Done once per batch, locally, with no app subscription: that is the entire job of a bulk resizer for Shopify.
Frequently Asked Questions
What size should Shopify product images be?
Shopify accepts product images up to 5000 x 5000 pixels or 25 megapixels, with a 20 MB per-file cap. For square product photos, 2048 x 2048 px is the size Shopify itself says displays best — large enough for the zoom viewer, small enough that compression stays predictable. A batch resizer should cap the long edge at 2048 px and keep aspect ratio locked so nothing distorts.
How do I resize hundreds of Shopify product images at once for free?
Use a browser-based bulk resizer: drop the whole folder in, set the maximum dimension (2048 px for Shopify), pick a JPEG quality around 80, and export all files in one pass. BatchBG's compressor runs the resize locally on your machine with no upload, no account, and no per-image limit, so a 500-photo supplier folder finishes in minutes instead of 500 manual exports in Preview or Photoshop.
Can I bulk resize images inside the Shopify admin?
No. Shopify's admin has no native bulk resize. The Apps Store options (Bulk Image Edit, Photo Resize, and similar) work on images already inside Shopify, and most charge monthly from roughly $5-20 depending on SKU count. Resizing before upload — on your own files — is faster, free, and avoids paying to process images you may re-upload anyway.
Do I need to crop my images to a perfect square for Shopify?
Only if you want a uniform gallery grid. Shopify fits non-square images into a crop region chosen by your theme, which is why mixed orientations look ragged. The safest approach: pick one aspect ratio (1:1 is standard) and apply it consistently. When using a fit-mode resizer, add white padding to make short files square, or run a bulk background remover first if your product shots have busy backgrounds.
Why do my resized Shopify images look soft or blurry?
Two common causes: upscaling (resizing a 1200 px original up to 2048 px invents detail that was never there) and over-compression (quality below ~70 on dense textures). Always start from the largest original you have, cap rather than force dimensions, and preview at 100% zoom before uploading. Shopify's CDN serves smaller variants to phones, but it can never add back resolution your source file lacked.
Ready to process your catalog? Try the batch image compressor for combined resize + compression, the free bulk background remover to normalize backdrops, or read how many images you can actually process at once before a 500-photo pass.