How to Batch Optimize Images Before Uploading to Shopify
By Michael Lenn, Co-founder, GlassyPic
It's Saturday. The new collection goes live Monday, and there are 60 product photos in a folder on your desktop: some straight off the camera at 6 MB, some from the supplier at 500 px, all named like a camera roll.
To batch optimize images before uploading to Shopify, resize every photo to one size (2048 × 2048 px for square product images), compress to WebP at roughly 70–150 KB each, rename the files to describe the product, and write alt text, all in one pass. In our October 2026 test, 10 mixed supplier files went from 13.5 MB to 869 KB, a 94% cut, with every file renamed and tagged.
Should you optimize images before or after uploading to Shopify?
Optimize before you upload. Shopify stores your original file and builds smaller copies from it for the storefront, but it won't rename IMG_4829.jpg, write alt text, fix a photo that's too small, or turn a mixed set of shapes into one consistent size. Doing the work first means the file you upload is already the file you want.
Shopify does part of the job for you. Its CDN serves resized versions and modern formats like WebP to browsers that support them. What it can't do is fix the source. A 500 px supplier photo stays 500 px no matter how Shopify serves it, and it'll look soft on a 1000 px product slot.
After-upload apps exist and work well for stores with thousands of products already live. Our roundup of the best Shopify image optimization apps compares them. For a new collection you haven't uploaded yet, preparing the files first is faster and costs nothing extra in apps.
What should every image pass before upload?
Every product image should meet six checks before it goes into Shopify: right size, one aspect ratio, a web format, a sensible file weight, a descriptive filename, and alt text. Shopify's hard limits are 20 MB per file and 5000 × 5000 px; the targets below are much stricter than that.
| Check | Target | Why |
|---|---|---|
| Dimensions | 2048 × 2048 px | Shopify's recommended size for square product images; enough for zoom |
| Aspect ratio | 1:1 for every product photo | Collection grids line up; no uneven cards |
| Format | WebP (or JPG if a tool needs it) | Smaller than JPEG at the same quality |
| File size | About 70–150 KB at 2048 × 2048 px | Fast on phones; our test batch averaged 87 KB |
| Filename | product-name-color-angle.webp | Tells Google what the image shows |
| Alt text | One sentence describing the product | Screen readers and image search use it |
If a photo needs a different ratio (Dawn theme collection images default to 3:4 portrait), the Shopify image sizes guide has per-theme numbers.
What does the usual multi-tool workflow look like?
Most guides to batch-preparing Shopify images chain three or four tools: a batch resizer, a compressor, a bulk-rename utility, and then alt text typed by hand into the Shopify admin, one product at a time. Each tool saves a new copy of every file, and each handoff is a chance to grab the wrong folder.
A typical chain looks like this:
- Resize the folder to 2048 × 2048 px in a desktop batch resizer.
- Compress the resized copies in a web compressor, a couple of dozen files at a time if it's a free one.
- Rename the compressed files in a bulk-rename utility.
- Upload to Shopify, then open each product and type alt text for every image.
None of those steps is hard. The cost is the repetition: four passes over 60 files, with a fresh chance to mix up final, final-2, and final-compressed each time. Step 4 is the one that gets skipped when Monday comes, which is how product images end up with no alt text at all.
How do you batch optimize images in one pass?
Drop the whole folder into GlassyPic, set the output to 2048 × 2048 px, choose WebP, turn on alt text, and press Polish. Each file comes back resized, compressed, renamed for SEO, and tagged with alt text. Photos too small for the target size are AI-upscaled first, and HEIC and TIFF files are converted on upload.
Our 10-file test set, run in October 2026, before and after:
| Before | After | |
|---|---|---|
| Total size | 13.5 MB | 869 KB (−94%) |
| Largest file | 10.1 MB PNG, 2820 × 6000 px | 96 KB WebP |
| Smallest file | 16 KB JPEG, 360 × 270 px | 68 KB WebP, AI-upscaled 4× |
| Formats | JPEG, HEIC, TIFF, PNG | All WebP, 2048 × 2048 px |
| Filenames | IMG_4821 … IMG_4830 | e.g. blue-lock-yoichi-isagi-anime-figure.webp |
| Alt text | None | One sentence per image |
The smallest file got bigger, from 16 KB to 68 KB. That's correct: a 360 × 270 px photo has 1/43rd the pixels of a 2048 × 2048 px one, and a photo that's finally big enough to look sharp weighs a little more. And the biggest file shrank by 99%, which is where batch compression earns its keep.
Alt text was right on every full product shot. On one tight crop with no face in frame, it confidently named the wrong character. Skim the alt text on close-ups before you upload; a 10-second check catches it.
What happens to images that are too small?
When you ask for a size more than 1.2 times bigger than the original, GlassyPic AI-upscales the image 2× or 4× before resizing it to your exact target. In our batch, every photo 720 px wide or smaller was upscaled 4×. The 10.1 MB PNG was already larger than the target, so it was only scaled down.
Upscaling costs 2 extra credits per image, so a full pass with upscaling uses 7 credits and one without uses 5. You only pay for the upscale when it runs. The result is sharper than a plain stretch, with one caveat from our test: small logos and printed text can come back smoothed, so check those on products where the label matters. More in How to Process Supplier Images for Shopify.
How many images can you optimize at once?
GlassyPic processes up to 10 images per batch without an account, 20 once you sign in for free, and up to 50 on paid plans. The free daily credits cover a few full-pipeline images, enough to test the workflow on your worst photos before you commit a whole collection.
For a 60-photo collection, that means a handful of batches. Our 10-file batch, with 9 photos AI-upscaled, finished about a minute after upload. Before you commit a collection to any bulk tool, run the five-minute checks in Bulk Image Optimization for Product Photos.
How do you upload the finished batch to Shopify?
Upload the finished WebP files straight to each product's media section, or to Content → Files if you're importing products by CSV and need image URLs. Keep the descriptive filenames: Shopify uses them in the image URL, and that's part of what Google reads.
If you used GlassyPic's alt text, paste it into each image's alt text field in the product editor. Shopify stores alt text per image, so it needs to be set where the image lives.
What if the folder has HEIC files in it?
Leave them in. GlassyPic converts HEIC to JPG when you upload, so iPhone photos go through the same batch as everything else. Our test batch had two HEICs; both came back as 2048 × 2048 px WebP under 100 KB. The details, including why converting HEIC on its own makes files bigger, are in HEIC to JPG for Shopify.
Try a batch in GlassyPic on your own photos, no account needed. A Shopify app that runs the same steps from inside your admin is on its way to the Shopify App Store.
Frequently Asked Questions
Q: Does Shopify compress images automatically?
Partly. Shopify's CDN serves resized copies and modern formats like WebP to browsers that support them, but it keeps your original upload as the source. It won't enlarge a photo that's too small, rename files, or write alt text. Compressing before upload also keeps your admin and media library lighter.
Q: What's the best image size for Shopify product photos?
Use 2048 × 2048 px square, the size Shopify recommends for square product images. It's large enough for zoom on most themes and keeps collection grids even. After WebP compression, a 2048 × 2048 px product photo usually weighs 70–150 KB. Shopify's upload limit is 20 MB, far above what you need.
Q: Can I bulk add alt text in Shopify?
Not natively. Shopify's product editor sets alt text one image at a time, and bulk editing needs an app or a CSV import with an image alt text column. Generating alt text before upload, as part of your batch, means you only paste or import it rather than writing 60 descriptions from scratch.
Q: Is WebP OK for Shopify product images?
Yes. Shopify accepts WebP uploads, and every modern browser displays WebP. WebP files are smaller than JPEG at the same visual quality. In our test, a 3.0 MB TIFF became a 96 KB WebP at 2048 × 2048 px. Use JPG only if another tool in your workflow needs it.
References
- GlassyPic dogfood runs, 10-file supplier set, October 15 and 16, 2026 (
docs/blog/research/dogfood-runs.md). - Shopify Help Center, "Product media types": 2048 × 2048 px recommended for square images; 20 MB file limit; up to 5000 × 5000 px.
Co-founder, GlassyPic
Michael Lenn is a co-founder of GlassyPic and builds AI-powered image optimization tools for developers and e-commerce teams.
Try GlassyPic free
Compress, resize, upscale, and tag images in one click. 20 free daily credits — no signup needed.