Shopify CSV header error
Invalid Shopify CSV header: how to find and fix it
Shopify reads the first CSV row as column headers. If required headers are missing or column titles do not match the supported product CSV format, the import can fail or Shopify can ask you to map headings.
Check my Shopify CSVWhat happened?
A header names the meaning of every cell below it. Changing a header is not cosmetic: it can make Shopify ignore a column, interpret it differently, or reject the file.
Shopify's current format uses names such as "URL handle," while older product CSV templates use names such as "Handle." Shopify documents backward compatibility for older column names, so a correct fix is not always a blanket conversion to the newest spelling.
Why Shopify cares
A header tells Shopify what every cell beneath it means. If Shopify cannot recognize that name, it cannot safely decide whether the values are handles, titles, prices, options, or another field, so the column may require mapping or the import may fail.
Common causes
- The header has different capitalization, such as "handle" instead of the supported "Handle" form.
- A spreadsheet added leading or trailing spaces to a column title.
- A required column is missing for the intended operation. New simple products, new products with variants, and updates have different minimum columns.
- The same header appears twice, or both a current and legacy alias resolve to the same field.
- A custom or app-specific column is being mistaken for a standard Shopify product field.
Example
This first row contains a casing error and outer whitespace:
handle, Title ,Variant PriceThe safe correction depends on the file's vocabulary. "handle" can be corrected to the unique supported legacy form "Handle," and the outer whitespace around "Title" can be removed. A tool should not choose between multiple plausible current and legacy names when the intended field is unclear.
How to fix it safely
- Compare the first row with a fresh Shopify product export or Shopify's current field table.
- Preserve the file's current or legacy vocabulary when it is internally consistent.
- Correct exact casing and outer whitespace only when the target header is unambiguous.
- Remove a duplicate or unknown column only after confirming that its data is empty or no longer needed.
- Recheck the complete file because one corrected title can reveal a second alias collision.
Can the checker find this?
- missing Title or handle columns in the supported new-product and update contexts
- known header capitalization and outer-whitespace mistakes
- duplicate raw headers and current/legacy aliases that collide
- documented dynamic Market, product-metafield, and selected Google Shopping header families
Limit: The checker preserves unknown nonblank columns and refuses ambiguous header repairs. It cannot know whether a custom column belongs to an app or whether you intended a current or legacy field when both are plausible.