From: CSV Formatting & Fields
Shopify CSV Format Explained
The Shopify CSV format is used to import and update products using a spreadsheet.
Your CSV file must follow a specific structure. Each column has a fixed meaning, and small mistakes can cause import issues.
How the Shopify CSV format works
A CSV file is a table with rows and columns:
- Each row is a product or a product variant
- Each column is a field (like Title or Price)
Shopify reads each column by its name, so the column names must match exactly.
Important fields in a Shopify CSV
Here are some of the most important fields:
- Handle (used in the product URL, for example: yourstore.com/products/my-product)
- Title (the product name)
- Body (HTML) (product description)
- Vendor (brand or supplier)
- Type (product category)
- Tags (used for filtering and organization)
- Published (TRUE or FALSE)
If required fields are missing, the import may fail.
How variants work in CSV
Variants (like size or color) are added by using multiple rows with the same handle.
Each row represents one variant.
For example:
- Product with handle "t-shirt"
- Row 1: Size = Small
- Row 2: Size = Medium
- Row 3: Size = Large
All rows share the same handle, but have different variant values.
How images work in CSV
Images are added using URLs (links to images).
Each image can be placed on a separate row with the same handle.
Make sure:
- The image URL is public and accessible
- The link points directly to an image file (not a webpage)
Using a Shopify CSV template
The easiest way to get the correct format is to export your existing products from Shopify.
This gives you a ready-to-use template with the correct column names.
You can also use the Simple CSV Shopify app to generate templates based on your store data.
Common formatting mistakes
Small mistakes in your CSV can cause big issues.
Common mistakes include:
- Wrong column names
- Missing required fields
- Incorrect variant structure
- Broken image links
Another common issue is with barcodes (EAN or ISBN).
Spreadsheet tools like Excel or Google Sheets may change long numbers into scientific notation.
- 8712345678901 → 8.71235E+12
This breaks the barcode.
To avoid this:
- Format the column as Text before adding values
- Or add an apostrophe before the number (for example: '8712345678901)
Next steps
Now that you understand the CSV format, you can create or fix your CSV file.
If your import still fails, see:
→ Fix CSV import errors