
Product images are the most important element on your Shopify store. Customers can’t touch, hold, or try on your products. They rely entirely on photos to decide whether to buy. Bad images kill conversions. Good images reduce returns.
But “good images” means more than just sharp photography. It means the right size, the right format, proper alt text, smart file naming, enough angles per variant, and an organization system that doesn’t fall apart at 50 products.
This post covers everything. Technical specs, SEO optimization, variant-specific image management, and the tools that make it all work at scale.
In this post
- Optimal image size and resolution
- Image format: JPEG, PNG, or WebP
- How Shopify’s CDN handles your images
- Alt text best practices
- File naming conventions
- How many images per product
- The 250 media limit
- Variant-specific images
- Image SEO for Google
- Uploading images in bulk
- Backing up your images
- The complete checklist
- Frequently asked questions
- Related reading
Optimal image size and resolution
Shopify accepts images up to 4472 x 4472 pixels and 20 megapixels maximum. But bigger is not always better. Here is what actually matters.
Recommended: 2048 x 2048 pixels. This gives you enough resolution for zoom functionality without sending unnecessarily large files. Most Shopify themes use image containers between 600 and 1200 pixels wide. A 2048px source image gives sharp results at 2x display density (retina screens) while keeping file sizes reasonable.
Minimum: 1024 x 1024 pixels. Anything smaller and your images will look blurry on retina displays or when customers use the zoom feature. Desktop product pages often display the main image at 600-800px wide, which means you need at least 1200px for sharp rendering on retina.
Aspect ratio. Keep it consistent across all product images. Square (1:1) is the most common choice. It works well in grids, collection pages, and social media. If your products are tall (like dresses), you can use 2:3 or 3:4. The key is consistency. Mixed aspect ratios make your collection pages look messy and your product galleries uneven.
Image format: JPEG, PNG, or WebP
Three formats matter for Shopify product images. Each has a specific use case.
JPEG. Best for product photos. It handles photographic detail well and produces small file sizes. Use JPEG for anything that came from a camera: studio shots, lifestyle images, detail close-ups. Quality setting of 80-85% gives the best balance between file size and visual quality.
PNG. Use for images that need transparency (products on a transparent background) or graphics with sharp edges (logos, size charts, infographics). PNG files are significantly larger than JPEG for photographic content, so don’t use PNG for regular product photos.
WebP. The modern choice. WebP produces smaller files than JPEG at equal quality, and it supports transparency like PNG. You can upload WebP directly to Shopify. The one caveat: if you need to use your product images outside of Shopify (wholesale catalogs, marketplaces), some platforms don’t support WebP yet. In that case, upload JPEG and let Shopify handle the conversion.
How Shopify’s CDN handles your images
Shopify automatically processes every image you upload. Understanding what the CDN does helps you make better decisions about what to upload.
- Auto-compression. Shopify compresses images on upload. You don’t need to optimize them heavily beforehand. A minor quality reduction you won’t notice visually.
- Format conversion. When a browser supports WebP (and most do in 2026), Shopify serves a WebP version automatically, even if you uploaded a JPEG. You get smaller file sizes without doing anything.
- Responsive sizing. Themes request different image sizes for different contexts. Shopify generates thumbnails, medium, and large versions on the fly. This is why uploading a large source image (2048px) matters: Shopify can generate smaller versions from it, but it can’t upscale a small image.
- Global CDN. Images are served from edge servers worldwide. A customer in Tokyo loads your product images from a server near Tokyo, not from Shopify’s central servers. You don’t need a third-party CDN or image optimization app.
The takeaway: upload high-quality source images at 2048px and let Shopify handle the rest. Don’t pre-compress to tiny file sizes. Don’t resize to match your theme’s container width. Let the CDN do its job.
Alt text best practices
Alt text serves two purposes: accessibility (screen readers describe the image to visually impaired users) and SEO (Google uses alt text to understand what an image shows). Both matter.
Be descriptive, not stuffed. Good: “Navy blue merino wool crew neck sweater front view.” Bad: “sweater blue sweater buy cheap sweater navy blue sweater best sweater.” Google penalizes keyword stuffing in alt text. Screen reader users find it annoying.
Include the product name and key attribute. “Merino wool crew neck sweater in navy blue” tells both Google and screen readers exactly what the image shows. Include the variant-specific attribute (color, pattern, material) if the image is variant-specific.
Describe the angle or context. Add the shot type when it adds value: “front view,” “back detail,” “lifestyle on model,” “close-up of stitching.” This helps Google serve your images for specific search queries like “sweater back detail.”
Keep it under 125 characters. Most screen readers cut off alt text around 125 characters. Longer descriptions are allowed but rarely necessary for product images.
Don’t pollute alt text with hashtags. Some themes use hashtags in alt text to group variant images (#Blue, #color_red). This hurts both accessibility and SEO. Use a proper variant image app instead. Rubik Variant Images handles variant-specific gallery filtering without touching your alt text.
File naming conventions
File names matter for SEO. Google reads image file names as a signal for what the image contains.
Use descriptive names. merino-sweater-navy-blue-front.jpg is better than IMG_4832.jpg or product-photo-1.jpg. Include the product name, variant attribute, and angle.
Use hyphens, not underscores. Google treats hyphens as word separators. navy-blue-sweater is read as three words. navy_blue_sweater is treated as one long string.
Lowercase everything. URLs are case-sensitive on some servers. Keep file names lowercase to avoid broken image links and duplicate content issues.
Keep it readable. A human should be able to understand the image content from the filename alone. This also helps with bulk image management: when you’re looking at a folder of 200 product photos, merino-sweater-navy-front.jpg is a lot more useful than DSC_0842.jpg.
How many images per product
More images sell more products. Research consistently shows that conversion rates increase with the number of product images, up to a point.
Minimum: 5-6 images per variant. Cover these angles:
- Front view. The hero shot. Clean background, full product visible.
- Back view. Shows details customers can’t see from the front.
- Detail close-up. Texture, stitching, hardware, material quality.
- Scale shot. Product in context: on a model, next to a common object, in use.
- Lifestyle photo. The product in its natural environment. A jacket being worn outdoors. A lamp on a desk.
- Packaging or accessories. What comes in the box. Included accessories. This reduces “what’s included?” support tickets.
If you sell a product in 8 colors with 5 images per color, that is 40 images. Plus a size chart and packaging shot, you’re at 42. This is normal for well-optimized product pages.
The problem: a 42-image gallery is unusable if every image shows at once. Customers scrolling through 42 photos on mobile will give up. That is where variant-specific image filtering becomes critical. Show only the 5-6 images that match the selected variant. More on that below.
The 250 media limit
Each Shopify product can hold a maximum of 250 media items. That includes images, videos, and 3D models combined. For most stores, this is more than enough. Even a product with 10 color variants and 6 images per color only uses 60 slots.
Where it gets tight: products with many options. A product with 20 colors and 8 images per color hits 160 images. Add 10 videos and a few 3D models, and you’re approaching the limit. If you run into this ceiling, consider whether some variants should be separate products linked via combined listings instead of variants on one product.
Variant-specific images
Shopify natively assigns one image per variant. When a customer selects that variant, the gallery scrolls to the assigned image. But all other images stay visible. A customer who selects “Blue” still sees all 40 images from all 8 colors.
To show only the images that match the selected variant, you need a variant image app. Rubik Variant Images lets you assign unlimited images per variant and filters the gallery in real time. When a customer picks “Blue,” only the blue photos show. When they switch to “Red,” the gallery swaps instantly.
Three ways to assign images to variants:
- Manual: Open a product, click a variant, select the images that belong to it
- AI auto-assign: Rubik’s AI analyzes 4 data points (product name, variant name, image filename, alt text) and matches images to variants automatically. Per product.
- Bulk assign: For products where images are arranged sequentially by variant in the gallery, bulk assign detects variant boundaries using image order and processes hundreds of products in the background
Variant-specific filtering is the single most impactful thing you can do for multi-variant product pages. It reduces confusion, cuts returns, and makes your gallery usable on mobile. Full guide: variant image optimization for Google Shopping.
Image SEO for Google
Product images can drive significant traffic through Google Images and Google Shopping. Here is how to optimize for both.
Google Images. Google indexes product images and shows them in image search results. To rank:
- Use descriptive alt text with the product name and key attribute
- Use descriptive file names (not IMG_1234.jpg)
- Include structured data (Product schema) on your product pages. Most Shopify themes do this automatically.
- Make sure your first product image is the strongest one. It’s the image Google most commonly pulls for search results.
Google Shopping. If you use Google Merchant Center, your product feed includes image URLs. Google Shopping has specific image requirements:
- Minimum 100 x 100 pixels (250 x 250 for apparel)
- No watermarks, promotional text, or logos overlaid on the image
- No placeholder images
- White or transparent background preferred for the main image
- The image must match the specific variant being listed (the blue jacket listing should show the blue jacket, not the red one)
That last point is where variant images matter for Shopping. Shopify’s product feed sends the variant’s assigned image to Google Merchant Center. If you only assign one image per variant (the default), that’s the only image Google Shopping sees. Using a variant image app and making sure each variant has a strong hero image assigned directly in Shopify admin improves your Shopping feed quality. More on this: Google Shopping variant image optimization.
Uploading images in bulk
Adding images one by one through the Shopify admin works for a handful of products. For stores with hundreds of products and thousands of images, you need a faster way.
Shopify admin bulk upload. You can drag and drop up to 200 images at once per product in the Shopify admin. This works for individual products but doesn’t help when you need to add images across many products.
CSV import. Shopify’s product CSV supports image URLs. You can add multiple images per product by having multiple rows with the same handle. This is fast for large catalogs but requires image hosting (the images must be accessible via URL during import).
CS Smart Bulk Image Upload. CS Smart Bulk Image Upload lets you upload images to multiple products at once by matching filenames to product handles or SKUs. Drop 500 images into the app, and it distributes them to the right products automatically. Useful when you receive a batch of product photos from a photographer and need to get them onto the right products fast.
Backing up your images
Shopify hosts your product images on their CDN. If you delete images or lose access to your store, those files are gone. Keeping a backup is smart practice.
CS Export Product Images. CS Export Product Images downloads all your product images in their original quality, organized by product. Export to a ZIP file and store it locally or in cloud storage. Run it periodically to keep your backup current.
You can also maintain your own image archive by keeping the original files from your photographer organized by product and variant. Use a consistent folder structure: /product-name/variant-color/. This makes re-uploading easy if you ever need to rebuild your catalog.
The complete checklist
Here is everything in one place. Run through this for every product.
- Images are 2048 x 2048px (minimum 1024px)
- Consistent aspect ratio across all products
- JPEG for photos, PNG for transparency, WebP if your workflow supports it
- Descriptive file names with hyphens (
product-color-angle.jpg) - Alt text describes the image (product name + variant + angle), under 125 characters
- No hashtags or code in alt text
- 5-6 images per variant minimum (front, back, detail, scale, lifestyle)
- First image is the strongest hero shot (this is what Google pulls)
- Variant images assigned and gallery filtered (use Rubik Variant Images)
- Common images (size chart, packaging) marked as shared across variants
- No watermarks or promotional text overlaid on images
- White or clean background for the main image (Google Shopping requirement)
- Images backed up locally or via CS Export Product Images
Watch it in action
See how variant image assignment and gallery filtering work on a live Shopify store:
Frequently asked questions
What is the best image size for Shopify products?
2048 x 2048 pixels. This provides enough resolution for retina displays and zoom functionality without creating unnecessarily large files. Shopify’s CDN generates smaller versions automatically.
Should I use JPEG or WebP for Shopify product images?
Either works. If you upload JPEG, Shopify’s CDN automatically serves WebP to browsers that support it. If your workflow already produces WebP, upload WebP directly. The end result for the customer is the same.
How many images should a Shopify product have?
At least 5-6 per variant: front, back, detail, scale, and lifestyle. Products with multiple color variants should have 5-6 images per color, plus shared images like size charts. Shopify allows up to 250 media items per product.
Does Shopify automatically compress images?
Yes. Shopify’s CDN compresses images on upload and serves them in WebP format when the browser supports it. You don’t need a third-party image optimization app.
How do I show only the images for the selected variant?
Shopify does not do this natively. It only scrolls to the variant’s assigned image while keeping all others visible. Use a variant image app like Rubik Variant Images to assign multiple images per variant and filter the gallery based on the customer’s selection.
What alt text should I use for product images?
Describe the image content: product name, color/variant, and angle. Example: “Navy blue merino wool sweater front view.” Keep it under 125 characters. Don’t stuff keywords or add hashtags.
Get started
Good product images start with the right specs and end with the right tools. Get your sizing, naming, and alt text right. Then use Rubik to filter those images by variant so customers see exactly what they’re buying.





