Most sellers obsess over lighting, backgrounds and pixel dimensions, then dump every finished shot into a folder called "new photos final v2" on the desktop. Six months later, nobody can find the front view of SKU-4471, three near-identical files are floating around, and the wrong variant image goes live on Amazon.

File naming and folder structure are the least glamorous part of product imagery and quietly the most expensive to get wrong. Once you sell on more than one channel, your image library stops being a pile of photos and becomes a database. This guide covers how to name files so marketplaces accept them automatically, how to structure folders so bulk uploads become a copy-paste job, and how to avoid the version-control mess that costs high-volume sellers hours every week.

Why file names actually matter

Three separate systems read your file names, and each one punishes you differently for getting it wrong.

1. Marketplace bulk upload systems

Amazon's image upload via Seller Central or a bulk transfer expects a strict pattern: the product identifier, a full stop, a four-character variant code, then the extension. A main image for ASIN B012345678 must be named B012345678.MAIN.jpg. Secondary images use .PT01 through .PT08, with specialised codes such as .BACK and .BOTT for rear and bottom views. The identifier can be an ASIN, UPC, EAN, GTIN, ISBN, JAN or your seller SKU. Spaces, dashes and special characters break the parse, and an extension that does not match the actual file type gets rejected.

2. Search engines

On your own storefront, the file name is a ranking signal. Google treats hyphens as word separators and underscores as glue, so navy-merino-sweater-front.jpg is read as four words while navy_merino_sweater_front.jpg is read as one meaningless string. Descriptive, lowercase, hyphenated names in roughly the 30 to 60 character range are the accepted target. Generic names like IMG_4832.jpg tell a crawler nothing.

There is a Shopify-specific trap here: Shopify does not let you rename an image after upload. Whatever file name you push is what sits on the CDN. Renaming means deleting and re-uploading, which breaks any hard-coded URLs. Get it right before the upload, not after.

3. Your own future self

The third reader is you, at 11pm, trying to find the lifestyle shot for a product you photographed in March. A good name answers "which product, which angle, which version" without opening the file.

A naming convention that works across every channel

The core principle: build the name around your internal SKU. If the file name contains the SKU, any system, spreadsheet or person can connect image to product automatically. If it does not, someone has to maintain that mapping by hand, and that person is you.

A convention that survives contact with real marketplaces:

sku-productname-view-variant.jpg

For example: 4471-merino-crew-front-navy.jpg, 4471-merino-crew-back-navy.jpg, 4471-merino-crew-detail-cuff-navy.jpg.

Rules worth enforcing without exception:

Channel-by-channel naming requirements

ChannelFile name requirementPractical note
AmazonStrict: identifier.VARIANT.ext (e.g. B012345678.MAIN.jpg)No spaces, dashes or special characters. Extension must match the real file type.
ShopifyFree-form, but permanentCannot be renamed after upload. Use descriptive SEO names from the start.
ShopeeFree-form; mass upload accepts direct upload or public image URLsJPEG, JPG and PNG supported. Google Drive links must be set to public.
LazadaFree-form; bulk template uses main_image and additional_images URL columnsImages must be hosted somewhere publicly reachable before the CSV import.
Google Shopping / Merchant CenterFree-form; the image_link URL matters, not the nameStable URLs are critical. Changing a file name changes the URL and triggers a re-crawl.
eBay, Etsy, Carousell, Qoo10Free-formNaming is for your own sanity and on-site SEO rather than platform compliance.

The pattern is clear: only Amazon dictates the file name, but the channels that import images by link (Lazada, Shopee mass upload, Google Merchant Center) make your folder structure and hosting the bottleneck instead.

A folder structure that scales

Two structures dominate, and the right choice depends on how you shoot.

Structure A: by SKU (best for steady catalogues)

One master library, one folder per SKU, sub-folders for masters and exports:

Structure B: by shoot date (best for high-volume studios)

Folders named 20260802-autumn-knitwear hold everything from one session, with SKU-named files inside. This mirrors how the work actually happens and makes it easy to find "the batch we shot the day the lighting was off". Retrieval by SKU then relies on search rather than browsing, which is fine as long as the file names carry the SKU.

Whichever you choose, keep the numbered prefix on sub-folders (00-raw, 01-master, 02-export). It forces the correct order in every file browser and makes the workflow self-documenting for anyone you hire.

The master file rule

Keep exactly one master per shot: the fully edited, full-resolution, sRGB version with the background already handled. Every marketplace export is generated from that master and treated as disposable. Never edit an export, and never let a resized JPEG become the source for another resize, because each save cycle compounds compression artefacts.

This is where the export folders earn their keep. A single master becomes a 2000 x 2000 px square for Amazon, a 1600 x 1600 px square for Shopee and Lazada, and a 2048 px-wide file for your Shopify product page. Doing that by hand across a few hundred SKUs is a full day of work. Batch tools such as PixelPrep take a whole folder of masters and produce marketplace-ready sets in one pass, which is what makes the 02-export structure practical rather than aspirational.

Version control without a version control system

The classic failure is a folder containing final.jpg, final-v2.jpg, final-FINAL.jpg and final-use-this-one.jpg. Three fixes solve almost all of it:

  1. Never use the word "final". Use a date stamp or a version number instead: 4471-merino-crew-front-v02.jpg.
  2. Archive, do not delete. Move superseded files into an /archive sub-folder rather than leaving them beside the current version. Deleted files come back to haunt you when a marketplace flags an old listing.
  3. One person owns the master folder. If a freelancer edits images, they work on copies and deliver into an /incoming folder that you review before promoting anything to /01-master.

Retro-fitting a messy library

If your existing library is already chaotic, do not try to fix everything at once. Work in this order:

  1. Freeze the convention in writing, in a one-page document your team can actually follow.
  2. Apply it to every new shoot from today. Stop the bleeding first.
  3. Rename the top 20 per cent of SKUs by revenue. These are the listings where a wrong image costs real money.
  4. Rename the rest opportunistically, whenever you touch a product for a re-shoot, a price change or a new marketplace launch.

Bulk rename tools handle the mechanical part, but test on a small batch first: a find-and-replace across 5,000 files with a typo in the pattern is a very fast way to lose an afternoon. And remember that renaming a file already live on your storefront changes its URL, so update the listing rather than leaving a broken link behind.

Your naming and structure checklist

None of this makes a single photograph look better. What it does is make sure the right photograph reaches the right listing, on the first attempt, every time you launch a product or open a new marketplace. For a seller running four or five channels, that is worth more than another hour spent fiddling with the lighting.