What this Shopify product CSV checker can verify
A Shopify product CSV has two layers of requirements. First, it must be a structurally valid CSV. Second, it must match Shopify's product-import expectations. This preflight checks the parts that can be proven from the file without connecting to your store.
| Encoding | Shopify product CSVs should be saved as UTF-8. The checker reports non-UTF-8 input. |
| Delimiter | Product CSV columns should be comma-separated. |
| Quotes | Finds malformed or unclosed quoted fields that can shift record boundaries. |
| Row width | Checks whether data records resolve to the same number of fields as the header. |
| Headers | Checks duplicate or empty headers plus basic Shopify product-column signals. |
| Title | The checker looks for the Title column used for product creation and updates. |
| URL handle | The checker looks for URL handle and accepts the legacy Handle name as a compatibility signal. |
| Size | The Shopify-specific page limits local checking to 15 MB to match the documented product CSV upload ceiling checked below. |
What Shopify documents for product CSV imports
Shopify's product CSV guide says columns are comma-separated. For new product imports, Title is the only required column unless variants are being added, when URL handle is also required. Product updates require URL handle and Title. Shopify also documents a 15 MB product CSV limit.
Shopify product CSV format guide →
Shopify product import guide →
Official Shopify references checked September 9, 2026.
Example: structurally valid CSV, but missing a Shopify product header
A reproducible example
This small file is valid generic CSV but lacks a Title header, so it is not sufficient for creating a new Shopify product.
Handle,Vendor
blue-shirt,Example Store
red-shirt,Example StoreWhat the checker can prove from the file
- The generic CSV structure is rectangular and comma-separated.
- The Title column is absent.
- This is a platform-specific blocker rather than a generic CSV syntax error.
Start from Shopify's current product CSV template or add the required column with values taken from the actual product source.
Do not generate product titles from handles automatically unless that transformation is explicitly part of your own data workflow.
Reproduce the behavior
Read the underlying rule
Recommended preflight order before a Shopify upload
- Confirm UTF-8. Convert only after identifying the actual source encoding.
- Confirm comma separation. A semicolon-delimited export can look correct in a spreadsheet but fail another importer.
- Check quotes and row widths. A broken quote can make later rows appear to have the wrong number of fields.
- Check the product headers. Compare the file with Shopify's current documentation or template.
- Review a few representative records. Include variants, multiline text, commas, quotes, and blank optional values.
- Keep a backup and test carefully. File-level validation does not guarantee that store-specific rules will accept every row.
What this checker cannot know
CSVFixLab has no connection to your Shopify store. It cannot confirm whether a handle already exists, whether a variant relationship is valid, whether a referenced object exists, whether a data dependency is satisfied, or whether an account-specific workflow will accept a row. Those checks still happen in Shopify.
If Shopify reports an illegal quoting error
Use the Shopify illegal quoting checker to focus on malformed quoted fields, UTF-8 issues, and row-width side effects. For a broader explanation of import failures, see the Shopify CSV import errors guide.
Frequently asked questions
Can I validate a Shopify product CSV without uploading it?
You can validate many file-level conditions offline: encoding, delimiter, quotes, row widths, headers, and some documented product-column requirements. Store-specific state and relationships still require Shopify context.
Why does a Shopify CSV open correctly in Excel but fail to import?
Spreadsheet software can be more forgiving than a strict importer. The underlying file may use a different delimiter, malformed quotes, non-UTF-8 text, inconsistent row widths, or headers that do not match the destination requirements.
Does a clean result guarantee Shopify will import the file?
No. A clean result means the checks on this page passed. Shopify can still reject values or relationships that depend on your store, product state, or current platform rules.
CSVFixLab is an independent utility and is not affiliated with, endorsed by, or sponsored by Shopify.
Last reviewed: October 7, 2026. Shopify-specific requirements above are limited to checks CSVFixLab can verify from the file itself.