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.

No file handy? Try a broken sample

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

  1. Compare row 1 with Shopify's template cell by cell, including capitalisation.
  2. Click each header cell and check for a space at the end of the text.
  3. Delete any rows above the header.
  4. Save as "CSV UTF-8 (Comma delimited)", or download as CSV from Google Sheets.

Text editor

  1. Check that line 1 starts with the first column name, not with sep=; or an empty line.
  2. Make sure the names are separated by commas.

Before and after

Before
title ,URL Handle,price
Wool beanie,wool-beanie,24.00
After
Title,URL handle,Price
Wool beanie,wool-beanie,24.00

Wrong 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 file

The 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.

Frequently asked questions

Do I need the Handle column?

Not for new products in the current template: Title is the only required column, and Shopify creates the URL handle from it. To update existing products, or to add variant and image rows to a product, every row of that product needs the handle (URL handle, or Handle in the old template).

The names look right. Why does it still fail?

Check the separator and the encoding. A file saved with semicolons looks right in Excel but reaches Shopify as a single column. The tool shows the separator it detected and writes commas.

How much does it cost?

Checking a file and previewing the fixes is free. Downloading the fixed file is free up to 50 rows. A larger file costs 1 credit, and for 24 hours you can download the same file again in another format or encoding at no extra cost. No subscription needed; agencies that fix files every month can choose Pro: 300 files a month for $19.