1. Illegal quoting on line
Shopify documents illegal quoting as an error that can involve non-UTF-8 content, missing quotes, or stray quotes. The first useful step is to verify UTF-8 and inspect the reported row for quote-state problems.
Check Shopify illegal quoting →
2. Invalid CSV header or missing headers
Shopify product imports depend on recognized headings. A header can also fail because of extra whitespace. Header requirements evolve, so a checker should use versioned rules and avoid assuming one historical template is forever correct.
3. Unexpected characters after import
Shopify requires UTF-8 for product CSV imports. If international characters appear garbled, verify the source encoding before uploading again. Do not “repair” the visible text by replacing characters one by one unless you know the original encoding.
4. Duplicate handle or existing product conflicts
Shopify uses handles to identify products. Some duplicate or update behavior depends on the current store state. An offline file checker can identify duplicates inside the uploaded CSV, but it cannot prove whether the handle already exists in the store without API or account access.
5. Line did not contain product data
Shopify’s troubleshooting documentation includes cases where a handle exists but the row does not contain the required product information. This is a destination rule rather than generic CSV syntax.
6. Product-reference and metafield errors
Some fields reference products or resources that must already exist in the store. A local CSV parser cannot validate those references. CSVFixLab should report these checks as outside the offline scope instead of pretending the file alone is enough.
A useful diagnostic order
- Verify the file is UTF-8.
- Confirm comma-delimited CSV structure.
- Check quotes and row widths.
- Check recognized headers.
- Review handles and required product fields.
- Only then investigate store-specific references, limits, and existing data.
What CSVFixLab can check offline
- UTF-8 validity.
- Comma delimiter.
- Broken or unclosed quotes.
- Inconsistent field counts, empty headers, and duplicate header names.
- The current Shopify profile checks for an exact
Titleheading and warns if neitherURL handlenorHandleis present. It also reports surrounding header whitespace.
This is a limited product-creation preflight profile. It does not check every Shopify heading, inspect product-field values, or detect duplicate handle values. Repeated handles can be part of a product's multiple rows; they are not the same problem as repeated header names. A store-specific update workflow may have different requirements.
Reproduce the missing-Title check
The missing-Title lab case starts with two data records and two columns. It is readable generic CSV, but the Shopify profile reports shopify-title. Adding explicitly supplied synthetic titles produces a three-column example that passes these offline checks. The published result is a worker test, not a successful import into a Shopify store.
When the checker is clean but Shopify still rejects the file
- Keep the exact Shopify error message and the original file.
- Compare your headings with a current export from the destination store or Shopify's official sample. Do not rename fields from memory.
- Check the import operation: new product creation, variant rows, and updates need different context.
- Review field values and resource references in Shopify. The offline checker has no access to those resources.
- Use a backed-up, controlled import to validate the destination behavior before applying a production update.
Shopify official: product CSV format and column requirements →
What requires Shopify context
- Whether a product or referenced resource already exists.
- Account-specific limits or store state.
- Whether an update will overwrite the intended existing product.
- Some metafield and relationship validations.
Shopify official: common product CSV import problems →
Shopify official: importing products with a CSV file →