What happens, and why
Spreadsheet programs treat a cell that contains only digits as a number. For numbers, Excel keeps 15 significant digits, drops leading zeros, and may display long values in scientific notation such as 1.23457E+12. When you save as CSV, the file can contain that shortened form, and the digits that were hidden by the display are not recovered when you reopen it.
| Original value | What a spreadsheet can turn it into | What was lost |
|---|---|---|
0012345678905 | 12345678905 | Leading zeros |
1234567890123 | Displayed as 1.23457E+12, and sometimes saved that way | Digits beyond the shortened display |
12345678901234567 | 12345678901234500 | Digits after the 15th are replaced with zeros |
Why it matters for a Shopify catalog
SKUs and barcodes identify variants in inventory, point-of-sale, shipping and marketplace feeds. A value like 1.23E+12 is not a usable barcode, and Shopify has no way to know the original digits. Shopify’s Barcodes column accepts up to 20 barcodes per product or variant, separated by semicolons, with an optional type prefix, for example gtin:00012345678905; upc:012345678905; INTERNAL-123, so the exact characters matter.
How to tell whether your file is already damaged
- Open the CSV in a plain text editor (Notepad, TextEdit in plain-text mode or VS Code) instead of Excel. What you see there is what Shopify will receive.
- Search the file for
E+in the SKU and barcode columns. - Look for identifiers that are shorter than the rest of the column, which usually means leading zeros were dropped, and for long values that end in a run of zeros.
How to prevent it
In Excel
- Don’t double-click a CSV to open it. Use Data → From Text/CSV, set the SKU and barcode columns to Text, or choose Do not detect data types in the preview window.
- If you type or paste identifiers into a sheet, set the column’s number format to Text first, then paste.
- Don’t resize or reformat the identifier columns as numbers before saving.
In Google Sheets
Select the identifier columns and choose Format → Number → Plain text before you paste values in.
Before importing into Shopify
Re-open the saved CSV in a text editor and confirm the identifiers look exactly as they should. Do this every time a file passes through a spreadsheet.
If the digits are already lost
A value saved as 1.23457E+12 has permanently lost its original digits, so there is nothing to reconstruct. Re-export the identifiers from their source: the supplier’s portal, your ERP, or a fresh export from the Shopify admin. If you can still read the original barcodes on packaging or in your supplier’s price list, those are another source.
There is one partial fix. If only the leading zeros were dropped, all your identifiers should have the same known length, and the other digits are intact, you can restore the zeros with a formula. For 12-digit codes, with the value in A2:
=TEXT(A2,"000000000000")
Copy the results and paste them back as values into a column formatted as Text. This only works when the digits are intact and you are certain of the length; it cannot repair scientific notation.
A related Shopify change: Barcode and Barcodes columns
What ShopiClean does with identifiers
Disclosure: ShopiClean is our own product. Everything in this guide can be done by hand in a spreadsheet; the tool simply automates the checks. The scan and the on-screen 5-row preview are free, and downloading the repaired file needs a 7-Day Pass ($9).
What it does:
- Flags SKU and barcode values that look like scientific notation (for example
1.23E+12) and lists the affected rows, so you know which values to re-export. - Leaves identifier cells that are already text exactly as they are. In our test,
0012345678905came out unchanged.
What it does not do:
- It cannot restore digits that were lost to scientific notation, and it cannot tell that a leading zero used to be there.
- It does not merge or rename the Barcode and Barcodes columns.
Sources and how this guide was checked
The Shopify behaviors described above were checked against the Shopify Help Center pages below on 17 October 2026. Shopify can change how imports work, so if something here differs from what you see, trust Shopify’s documentation.