Shopify product CSV checklist for apparel variants

By Raian Mehrak Noor. Updated 30 October 2026. Counts come from a synthetic 21-row file I built to test the cleanup process, not from real stores.

Before you import an apparel CSV into Shopify, make sure every size and colour is spelled one way, every variant has its own SKU and price, handles stay as they are, and you test five rows on the live store first. Most apparel import trouble is variant data written inconsistently.

What should you check before importing a Shopify product CSV?

Check variants first, because apparel catalogs are mostly variants. Work through the list below in order and stop at any "no". Shopify's product CSV template has more columns than this covers, and its columns can change, so compare against a fresh export from your own store before you start.

  1. Back up. Export your current products from Shopify and keep that file untouched.
  2. One row per variant. Every size and colour combination is its own row.
  3. Handle repeats, SKU does not. Rows of one product share a Handle; every variant has a unique Variant SKU.
  4. Options named the same on every product. "Size" and "Colour", not "Size" on one product and "Sizes" on another.
  5. Values from an approved list. One spelling per size and per colour.
  6. Every variant has a price. Blank means a person must answer.
  7. Image URLs are well formed and point to files that exist.
  8. Inventory counts are whole numbers, not negative and not text.

How are variants laid out in a product CSV?

Each variant sits on its own row. Rows belonging to one product repeat the Handle, and the option columns (Option1 Name and Value, up to Option3) describe the variant. Below, three rows of the cleaned sample: one product, three sizes and colours, three unique SKUs.

HandleTitleSizeColourVariant SKUPrice
classic-teeClassic TeeSNavyFC-TEE-NVY-S28.00
classic-teeClassic TeeSNavyFC-TEE-NVY-S228.00
classic-teeClassic TeeMNavyFC-TEE-NVY-M28.00

Synthetic data. Column names follow Shopify's product CSV; confirm them against your own export.

Which variant problems show up most in apparel files?

In my synthetic 21-row file with 6 products, the biggest groups were messy titles (17 rows) and option names (8), then size labels (5) and colours (5). This is one invented file made to include typical faults, so it is an illustration, not a statistic about real stores. Some problems stay after cleaning on purpose, because fixing them means guessing.

CheckBeforeAfterWhy it matters
Size labels not in approved list50Customers see "Small", "S" and "S " as three different sizes, and filters split.
Colour values not in approved list51Colour filters and swatches break when "navy" and "Navy" are separate values.
Rows with title spacing, case or encoding problems170Double spaces and odd capitals show on the storefront and in search results.
Option name cells not in the agreed form80Option names should read the same on every row of a product, for example "Size" and "Colour".
Invalid image URLs20A malformed image URL means the image does not import.
Duplicate SKUs11Two variants with one SKU confuse inventory and fulfilment. Not fixable by guessing.
Rows missing a required value11A blank price cannot be guessed. It needs a human answer.
Negative inventory quantities11A negative count is a data error, not a stock level.

How do you standardise sizes and colours?

Pick one approved list, map every variant spelling onto it, and record each change. Never invent a value for something blank. In the sample the approved sizes are S, M, L and XL, and colours are written in title case. A dot marks a stray space.

FieldAs exportedApproved value
Option1SmallS
Option2navyNavy

Settle the order of sizes (for example XS to 3XL) and whether you use "One Size" or "OS" before you start, not halfway through.

What should you leave alone in a Shopify product CSV?

Do not rewrite handles or SKUs to make them tidier. A handle forms the product URL and is how an import matches existing products, so changing it can break links or create duplicates.

In the sample, one handle with capital letters was flagged and not changed. The change log says: "Handle has capitals. Not changed: changing a handle can change the product URL and break matching on import. Client to decide."

How do you test a CSV import safely?

  1. Back up the current catalog, as in step one above.
  2. Import three to five rows, covering at least one product with several variants.
  3. Open those products on the storefront. Check sizes, colours, prices, images and inventory.
  4. Check that existing products were not overwritten if you did not mean that.
  5. Import the rest only after the sample looks right.

No checklist can promise an error-free import. It lowers the odds of a bad one.

Can someone else clean the file for you?

Yes. Apparel Catalog Rescue is a fixed-price cleanup of a product CSV: you get your original untouched, a cleaned copy, a field-level change log (54 entries in the sample: 41 changes and 13 flags), a validation summary and a list of missing facts. See exactly what comes back in the sample report.