Shopify "Invalid CSV header: missing headers": How to Fix It

Invalid CSV header: missing headers is the error Shopify's product importer shows when the first line of your file doesn't hold the column names it expects. Shopify reads that line to learn which column is the title, which is the price and so on.

Why does Shopify say "Invalid CSV header: missing headers"?

Shopify's CSV guide says the first line of a product CSV "must be the column headers as specified in the product CSV description table". Files usually fail for one of these reasons:

How do I fix "Invalid CSV header: missing headers"?

  1. Get a correct header line. The quickest way is to export a few products from your own store (Products, then Export): the first line of that file is a header Shopify accepts. You can also download Shopify's sample product CSV from its CSV guide. The header line quoted on the error page itself uses older column names (Handle, Body (HTML), Variant Price); the current template uses newer ones (URL handle, Description, Price).
  2. Delete anything above the header. Title rows, logos, dates and blank rows above the table all have to go, so the column names are on line 1.
  3. Rename the supplier's columns. Change each column name to Shopify's name for that field: the supplier's Product Name becomes Title, RRP becomes Price, and so on. Delete columns Shopify has no column for.
  4. Trim trailing spaces at the end of the header line and in each column name. Open the file in a text editor to see them.
  5. Save as a comma-separated, UTF-8 CSV. In Excel, choose CSV UTF-8 (Comma delimited).

If Shopify then shows a Choose column headings window, its help says that means some headers are still wrong. You can pick the right header for each column from the drop-downs there.

You only have to do this once per file layout, but you have to do it again for every new supplier, and again when a supplier changes their sheet.

How does Csvio import a file without Shopify's headers?

Csvio doesn't need Shopify's header line. You upload the supplier's file as it is:

Before anything reaches your store, the mapping screen shows what each column became and how many products are ready, and you can download a preview CSV to check the output.

Can I try Csvio on the file Shopify rejected?

Csvio's free plan imports 30 products a month across up to 3 imports. Upload the supplier file that Shopify rejected, without renaming anything, and see how it maps before you confirm.

← Back to all posts