You formatted your CSV, uploaded it to Shopify, and got an error. Or worse — the import "succeeded" but your products look wrong. Here's what's actually happening and how to fix it.
Error: "There's a problem with the CSV file"
This is Shopify's generic error for malformed CSV files. It usually means one of three things:
- Wrong encoding. Save your file as UTF-8 CSV. Excel defaults to a different encoding on some systems. In Google Sheets, use File → Download → Comma-separated values.
- Broken quoting. A description field contains a double quote that isn't escaped. In CSV, double quotes inside a quoted field need to be doubled:
""not". - Wrong column count. Some rows have more or fewer columns than the header row. Usually caused by unescaped commas in a field.
Products created as duplicates instead of variants
This is the most common "silent" error. Your import succeeds, but instead of one product with three sizes, you get three separate products.
The fix: All variant rows for the same product must share the same Handle. The Title should only appear on the first row. Leave Title blank on subsequent variant rows.
Check for trailing spaces in your Handle column — canvas-tote and canvas-tote are different handles to Shopify.
Images not importing
Your Image Src column looks right but images show up broken or missing. Common causes:
- Local file paths.
IMG_4829.jpgorC:\Users\Photos\product.jpgwon't work. Shopify needs a publicly accessible URL starting withhttps://. - Private URLs. Google Drive links, Dropbox links, or anything requiring authentication won't work. The URL must return the image directly without a login page.
- URL encoding. Spaces in filenames need to be encoded as
%20. Most hosting services handle this automatically, but watch for it.
Variant options showing as "Default Title"
If your products show a single variant called "Default Title" instead of your actual options (Size, Color, etc.), you're missing the Option columns.
The fix: Add Option1 Name and Option1 Value columns. Set Option1 Name to your option label (e.g., "Size") and Option1 Value to the specific value (e.g., "Large").
If you have a product with no variants, you can either leave these columns blank or set Option1 Name to "Title" and Option1 Value to "Default Title".
Prices showing as $0.00
The column is called Variant Price, not Price. If you named your column just "Price", Shopify ignores it and defaults to zero.
Also check for currency symbols in the values. Use 29.99, not $29.99. Shopify applies your store's currency automatically.
HTML showing as plain text in descriptions
If your product pages show raw HTML tags like <p> and <br> as visible text, your Body (HTML) column values are being double-escaped.
This happens when your spreadsheet app wraps the HTML in extra quotes during export, turning <p>Hello</p> into "<p>Hello</p>" with escaped inner quotes. Open the raw CSV in a text editor and check that HTML tags aren't being re-encoded.
Products importing but not visible in store
Check two things:
- Published column. Should be
true, notTRUE,yes, or1. Shopify is case-sensitive here. - Status column. If present, should be
active. If set todraft, products won't appear in your store even if Published is true.
Tags not importing correctly
Tags should be comma-separated within a single field: "tag1, tag2, tag3". The whole list needs to be in one column, wrapped in quotes if it contains commas (which it always will).
Multi-word tags work fine: "leather bag, handmade, gift idea". Don't use hashtags or special characters.
Error: "Couldn't save the import"
This usually means your file is too large. Shopify's CSV import has a practical limit of around 15MB. If your file is larger:
- Split it into multiple files
- Remove columns you don't need
- Check for unnecessarily long descriptions or base64-encoded images in your data
How to validate your CSV before uploading
Before uploading to Shopify, check these things:
- Open the CSV in a text editor (not Excel). Verify column names match Shopify's exactly.
- Count columns in the header row, then spot-check a few data rows. Same count?
- Search for unescaped quotes in description fields.
- Verify all Image Src values start with
https://. - Check that variant rows share the same Handle as their parent product.
Or avoid these errors entirely
Every error on this page comes from the same root cause: manually formatting data into Shopify's specific CSV structure. Catalogd generates Shopify CSVs that pass validation every time — correct column names, properly escaped HTML descriptions, hosted image URLs, and correctly structured variant rows.
Upload your product data in whatever format you have. Download a CSV that imports cleanly on the first try.