Fix "Invalid CSV header: missing headers" in Shopify
Exact error message
- Invalid CSV header: missing headers
Shopify reports "Invalid CSV header: missing headers" when the first line of your CSV doesn't match the column names it expects. Usually a name has the wrong upper or lower case or a trailing space, or the file isn't comma-separated, so Shopify sees one long header. The tool checks the header against Shopify's current and old templates and corrects it.
Wording and rules verified on
Fixed in your browser – your file never leaves your device.
Files over 50 rows: 1 credit each ($0.75–$1 depending on pack), no subscription · See prices
Several files? Select or drop them together to fix them all at once.
Sample files with typical import errors, loaded in your browser. Fixing and downloading them is free.
Why it happens
Shopify matches column names exactly. "title", "Title " with a trailing space and "Title" are three different names to the importer. The first line of the file must be the header row, not an empty line or a note.
Shopify has changed its template. The current one uses Title and URL handle; the older one used Handle. Both are still accepted, which is why people still search for "missing headers Handle". For new products only Title is required now.
- A column name in different capitalisation (variant price instead of Variant Price).
- Spaces before or after a name, usually from a spreadsheet.
- Excel's "sep=;" line or an empty row above the header.
- Semicolons or tabs instead of commas, so the whole header reads as one column.
- The Title column deleted, or renamed to Name.
How to fix it manually
Excel or Google Sheets
- Compare row 1 with Shopify's template cell by cell, including capitalisation.
- Click each header cell and check for a space at the end of the text.
- Delete any rows above the header.
- Save as "CSV UTF-8 (Comma delimited)", or download as CSV from Google Sheets.
Text editor
- Check that line 1 starts with the first column name, not with sep=; or an empty line.
- Make sure the names are separated by commas.
Before and after
title ,URL Handle,price
Wool beanie,wool-beanie,24.00Title,URL handle,Price
Wool beanie,wool-beanie,24.00Wrong capitalisation and a trailing space. Shopify sees none of the three columns it knows. The fixed header uses Shopify's exact spelling.
Fix it automatically
- Matches your header against the current and the old Shopify template, including every accepted alternative name.
- Corrects capitalisation and spacing to Shopify's exact spelling.
- Removes the sep= line and empty rows above the header.
- Converts semicolon- or tab-separated files to commas.
- Tells you when a required column such as Title is missing entirely. It doesn't invent titles unless you switch on "Make a title from the handle".
Checking and the preview are free. Downloads are free up to 50 rows; a larger file costs 1 credit.
Choose a fileThe file is read and repaired inside your browser. Nothing is uploaded: only the row count and the platform are ever sent to us, so supplier prices and customer data stay private.