Square CSV and Excel converter
Turn a supplier CSV or Excel file into a Square import file. Each column match shows a value from your file, so you can see if Cost holds the cost or the price.
Supplier file
Drag and drop your supplier file hereChoose your supplier file
How do I convert a CSV or Excel file for Square?
Drop the .csv, .xlsx or .xls file in the box above. CatalogRoute opens it and matches your columns to Square's. Check those matches, then download. You get an .xlsx workbook, which is the format Square recommends for item imports (opens in a new tab). It is laid out like a real Square item library export, so Square finds Item Name, SKU, GTIN and Price where it looks for them.
A column Square has no field for is left out of the file. If your CSV has a cost, you also get a Default Unit Cost column. A row with no price leaves the Price cell blank, and no zero is filled in. See what an empty Price does on a first import.
| Supplier CSV | Item Code 00417, Description Oak Shelf 90cm, Wholesale 18.40, RRP 39.00 |
|---|---|
| Square file | SKU 00417, Item Name Oak Shelf 90cm, Default Unit Cost 18.40, Price 39.00 |
Why does a CSV that looks fine in Excel fail in Square?
Excel changes a CSV when it opens it, and if you save, those changes go into the file. The SKU 00417 turns into 417. A long barcode like 748123456789 can show up as 7.48E+11, which is scientific notation, Excel's short form for big numbers. Square's import help warns about this too (opens in a new tab).
If the codes were already damaged when the file reached you, the Review step flags them. A value in scientific notation is marked as lost, because its digits are gone. For an 11 digit UPC, read how the missing zero is put back. A SKU has no check digit, so there is no way to work out a lost zero. Set the SKU column to Text in Excel and type those codes in again.
Excel dates and merged header cells
Dates come through as dates. Excel stores 1 October 2026 as the number 46296, and the tool reads that cell as 2026-10-01.
In an .xlsx file, a header merged across several columns passes its name to each of them, so every column still has a header.