Skip to content
GuidesFile naming

Shopify Product Image File Naming: A SKU Convention That Scales

A simple, SKU-based file naming convention for product photos that makes bulk uploads, image order and variant images automatic, with examples and mistakes to avoid.

By Craftshift Team · · 3 min read

The best way to name product image files for Shopify is after the variant’s SKU, followed by an underscore and a number for the image order: SKU_1.jpg, SKU_2.jpg, SKU_3.jpg. That one rule lets you bulk upload thousands of images and land each one on the right product, in the right order, with the right variant image.

Why naming matters

A file name is the only reliable link between a photo and a product. Pictures of a blue shirt and a navy shirt look almost identical to software; SHIRT-BLU-M.jpg and SHIRT-NAV-M.jpg don’t. When names follow your catalog’s identifiers, every step after the photoshoot can be automated.

The convention

<identifier>_<order>.<extension>
  • Identifier: the variant SKU (or barcode, product title, metafield value or variant ID).
  • Order: an optional number for the image position. No number means first.
  • Extension: .jpg, .png, .webp or .gif.

Examples

FileLands onPosition
TEE-WHT-S.jpgSKU TEE-WHT-S1st (variant image)
TEE-WHT-S_1.jpgSKU TEE-WHT-S2nd
TEE-WHT-S_2.jpgSKU TEE-WHT-S3rd
5901234123457.jpgBarcode 59012341234571st

Choosing the identifier

IdentifierChoose it whenWatch out for
SKUEvery variant has a unique SKUDuplicate or empty SKUs
BarcodeProducts have EAN/UPC/GTIN codesProducts without barcodes
Product titleNo SKUs or barcodesTitles change and are often duplicated
MetafieldPhotos use a supplier or ERP codeYou need to fill the metafield
Variant IDRe-uploading or fixing specific variantsRequires exporting IDs

SKU is the default choice: it is unique, stable and usually already known by your photographer or supplier.

One photo for several variants

If a photo shows a product in every size, name it after the shared base code and use a “SKU contains image name” match:

TEE-WHT.jpg   → TEE-WHT-S, TEE-WHT-M, TEE-WHT-L

Photos that carry extra text

Photographers often add angles or dimensions: TEE-WHT-S-front-2000x2000.jpg. You don’t have to rename them: an “image contains SKU” match finds the SKU inside the name, and the longest matching SKU wins so short codes can’t steal images.

Naming mistakes that break matching

  1. Trailing spaces: TEE-WHT-S .jpg. Invisible, and the most common cause of a non-match.
  2. Letters as order: TEE-WHT-S_a.jpg is read as SKU TEE-WHT-S_a.
  3. Mixed separators: _1 for some files and -1 for others.
  4. Missing extensions: some exports drop them, and such files never match.
  5. Duplicates: TEE-WHT-S.jpg and TEE-WHT-S_0.jpg both claim the first position.

Renaming an existing photo library

If your library doesn’t follow a convention yet:

  • Batch rename with your operating system or a tool like Adobe Bridge, using a spreadsheet of old name → SKU.
  • Or skip renaming: store each photo’s existing code in a product metafield and match on that.
  • Or try AI matching, which reads inconsistent names the way a person would, and you review every match before upload.

A checklist for photographers and suppliers

Share this with whoever produces your images:

  • Name each file after the variant SKU, exactly as in Shopify.
  • Add _1, _2, _3 for additional images, main image without a suffix.
  • No spaces, no letters after the last underscore.
  • JPG or WEBP, sRGB, 2048–4096 px on the longest edge, under 5 MB.
  • One folder per delivery.

Summary

Name files SKU.jpg, SKU_1.jpg, SKU_2.jpg and bulk uploads become a matter of choosing a folder. Read the full naming guide or try it free on your own catalog.

Keep reading

Try it on your own catalog

Matching is free and read-only. See exactly where every image would go before you upload anything.