Seasonal range photography for upload teams needs more than a folder of files. The checklist below tells your team which images are ready, how they're named, and which products are retiring, so they can process new images without touching the wrong ones. Without it, a batch of correctly shot photography can still cause hours of re-work at upload time.
Key takeaways
- Each Shopify variant supports only one assigned image, so your file naming must map one image to one variant from the moment the photographer delivers the files.
- Shopify's CDN interprets file names ending in "small", "medium", "large", or "grande" as image transformation requests, which can alter how the image displays. Use season codes and style codes instead.
- Send your upload team a retirement list alongside the new images so they know which existing product records to update rather than duplicate.
- Shoot brief consistency notes to your photographer when the seasonal aesthetic changes, because an upload team can't fix an image that is correctly delivered but inconsistently lit or cropped.
- Deliver in JPEG, PNG, or WebP format (as of November 2026, Shopify also accepts HEIC and GIF), at no more than 20 MB per file and 25 megapixels maximum resolution.
What your upload team needs from seasonal range photography
Your upload team handles the gap between what the photographer delivers and what Shopify requires. When seasonal range photography for upload teams is handed over well, that gap is small. When it isn't, the team spends time working out which file belongs to which product, which color is "sand" versus "stone," and which product records should be retired rather than updated.
The checklist below covers four areas: file naming, delivery format, the accompanying product sheet, and retired product handling. It's written for stores where the upload work is handled by a Shopify product uploading service rather than done in-house.
File naming for seasonal range photography

Shopify accepts JPEG, PNG, WebP, HEIC, and GIF images, with a maximum file size of 20 MB and a maximum resolution of 25 megapixels (as of November 2026, per the Shopify Help Center). Within those limits, the file name is the most important decision you make before delivery.
A good naming convention does two things: it matches each image to exactly one product variant, and it stays readable six months later when you're pulling archived files.
Use a season code plus a style code. For example: SS27-BLZ-001-navy.jpg (season SS27, product type BLZ for blazer, style number 001, colorway navy). This structure links directly to the variant option values in Shopify, which is what the upload team uses to assign images to the right variant records.
Avoid these in seasonal range file names:
- Endings like "small", "medium", "large", or "grande": Shopify's CDN treats these as image transformation flags and may serve a resized version instead of the original
- Underscores directly before a dimension string (for example
product_800x600.jpg): Shopify adds its own suffix in that case - Color names that differ from the option value in the product record: if the Shopify variant says "midnight blue," the file name should say "midnight-blue," not "navy" or "dark-blue"
The last point matters most. Because each variant in Shopify supports only one assigned image, your upload team assigns images by matching color or option values. A mismatch means manual checking of every assignment, which on a 300-product seasonal range can take half a day.
The delivery checklist: what to send with the images

Photography files alone aren't enough. Your upload team needs context to process them accurately.
| Item | What to include | Why it matters |
|---|---|---|
| Style sheet | Style code, product name, and all option values (color, size, material) for every new product in the range | The upload team matches file names to option values using this sheet. Without it, they build it themselves from the images, which introduces errors. |
| Retirement list | SKUs or style codes for every product being retired from the previous season | Tells the team whether to unpublish, delete, or archive a product record rather than update it with new images |
| Carryover list | Style codes that continue from the previous season with no image change | Prevents the team from re-uploading images that are already live and correctly assigned |
| Updated colorway list | Products where the name or color code changed between seasons (for example, "blush" renamed to "dusty rose") | A variant option value change requires updating both the product record and the image assignment |
| Shot type guide | Which images are hero shots, which are lifestyle, and which are detail shots | The upload team assigns the first image in a product's gallery to the variant record; the order of the remaining images affects what customers see first when browsing |
For more on what to include in a full handover package, the guide to seasonal catalog handover for Shopify teams covers the data and timeline side of the process.
Image consistency notes for your photographer
An upload team can fix a wrong file name. It cannot fix a correctly delivered image that doesn't match the rest of the range in crop, background, or lighting. If your seasonal range changes aesthetic direction (a move from clean white backgrounds to lifestyle shots, or a new crop ratio), brief the photographer in writing before the shoot, not after.
The brief should state:
- Aspect ratio and minimum resolution for all hero images
- Background color or setting, with a reference image
- Crop anchor point (center, chest, waist) for flat-lay or model shots
- Whether ghost mannequin or model is used, and the model's pose range if applicable
This isn't about the upload team's preferences. It's about maintaining the product image standards your Shopify store needs so images can be published without manual corrections. An inconsistent crop across 150 products means the team either publishes inconsistent results or raises every image for re-shoot, both of which cost more than a clear brief upfront.
Retiring last season's images
The retirement step is where seasonal range handovers most often go wrong. A product record from last season that gets new images applied to it, rather than being retired and replaced, can cause SEO and inventory issues that are hard to trace.
For product records being retired from the range:
- Confirm whether the record should be unpublished, deleted, or moved to a "past seasons" collection. Unpublishing keeps the URL live (useful for pages with backlinks or traffic). Deleting removes it from Shopify permanently. A past-seasons collection keeps the product browsable for existing customers looking to repurchase.
- Remove the product from any collections where active seasonal range products are listed, or update collection conditions if you're using automated collections.
- Archive the original images in a dated folder (for example
SS26-archived-YYYY-MM-DD) before the new season's images are added to the same directories.
For carryover products that share a style code but have changed colorways, treat the new color as a new variant record. Updating an existing variant's color name changes what appears in the customer's order history and may also affect any active Shopify automations or collection conditions tied to that option value.
The guide to scale photography for furniture Shopify uploads shows how a similar naming and retirement approach works for a product type with complex variant structures.
Working with an upload team on a seasonal handover
For stores using an outsourced product image optimization and upload team, the standard expectation is a single delivery: the image batch, the style sheet, and the three lists (retirement, carryover, updated colorways) in one handover package.
For example, say a homewares store switches from its summer to its autumn range, adding 120 new products and retiring 80. If the handover package is complete on day one, the upload team can process all 120 new products and handle the 80 retirements in one coordinated job. If the retirement list arrives three days later, the team has to hold the new range, re-check for any records they've already touched, and confirm nothing was updated out of sequence.
A complete handover on day one is a function of preparation, not speed. The checklist approach means that preparation happens before the files are delivered, not while the team is waiting.
Frequently asked questions
Does Shopify have a maximum number of images per product?
Shopify's Help Center does not state a fixed maximum for images per product. In practice, stores regularly use 10 to 20 images per product without issue. The practical limit is the 20 MB per-file size cap and the 25-megapixel resolution limit (as of November 2026). Your upload team will flag if any file fails these limits during processing.
What happens if a file name has the wrong color compared to the variant option value?
Your upload team will either raise it for clarification or make a best-guess assignment based on visual matching. Both options take longer than a correct file name. On a large seasonal range, mismatched color names between file names and option values are the single most common cause of re-work. Use the exact option value text in the file name, hyphenated rather than spaced.
Can a Shopify product have different images for each size variant?
No. In Shopify's standard product setup, variant images are assigned per color or style option, not per size. All sizes of a given color share the same assigned image. If you need size-specific imagery, the Shopify Combined Listings app (available on Shopify Plus and Shopify Enterprise Commerce plans) supports more complex image-to-option assignments. Confirm with your upload team before changing variant structure on a seasonal range.
Should I send original camera files or processed JPEGs to my upload team?
Send processed JPEGs or WebP files, not raw camera files (.CR2, .ARW, .NEF). Shopify doesn't accept raw formats, and asking your upload team to convert raw files adds time and introduces compression decisions that should be the photographer's or retoucher's job. Deliver files that are retouched, color-corrected, and sized to your brief before handover.
What is the best file size for seasonal range product images before uploading to Shopify?
Shopify accepts files up to 20 MB, but most stores aim for 1 to 3 MB per hero image after retouching. Shopify's CDN handles delivery optimization, so uploading a larger master file is generally better than uploading an over-compressed small one. For bulk seasonal uploads, your upload team will often check file sizes as part of a pre-upload quality check and flag any files outside the agreed range.




