A column of order IDs, barcodes or tracking numbers turns into 1.23457E+15 after the CSV goes through Excel. Sometimes it’s only how Excel displays the number. Often, by the time the file reaches you, the original digits are gone.
Short answer: import long-number columns as Text instead of opening the CSV directly, and never save a CSV from Excel while those columns are shown in scientific notation.
Why Excel does this
Two Excel rules combine here:
- Display: in the default General format, Excel shows numbers with more than 11 digits in scientific notation, so
1234567890123appears as1.23457E+12. - Precision: Excel keeps only 15 significant digits. A 16-digit ID like
1234567890123456is stored as1234567890123450: the last digit is replaced by a zero the moment the file opens.
Then comes the step that makes it permanent: when Excel saves a CSV, it writes each cell as it is displayed. A cell showing 1.23457E+15 is written to the file as exactly that text, and every digit after the sixth is lost.
Typical victims:
- Order, invoice and transaction IDs from e-commerce and payment systems
- EAN-13 and UPC barcodes (13 and 12 digits)
- Shipment tracking numbers that are all digits
- Phone numbers stored with the country code and no spaces
Fix 1: import the column as text (Excel)
- Open a blank workbook and go to Data → From Text/CSV.
- Pick the file and click Transform Data.
- Select each long-number column and set Data Type → Text.
- Close & Load. The full digits stay, and saving the file keeps them.
Fix 2: turn off the conversion (Excel for Microsoft 365)
Recent versions of Excel for Microsoft 365 have File → Options → Data → Automatic data conversion. Uncheck Keep first 15 digits of long numbers and display in scientific notation if required, and Excel will keep long numbers as text when it opens a CSV. If your Excel doesn’t have this section, use Fix 1.
Only a display problem? Show the full number
If the values have 15 digits or fewer and you opened the file normally, the digits are still there, just hidden. Select the column, open Format Cells → Number, set decimal places to 0 (or use the custom format 0), and the full number appears. Do this before you save the CSV.
With more than 15 digits this doesn’t help: Excel already replaced the extra digits with zeros.
Google Sheets and LibreOffice
- Google Sheets: File → Import → Upload, then set Convert text to numbers, dates, and formulas to No.
- LibreOffice Calc: in the Text Import dialog, set the column type to Text.
If your CSV already contains E+ values
A cell that literally contains 1.23457E+15 can’t be turned back into the original ID: the file only holds those six digits. The fix is to export the data again from the system it came from and import it as text this time. Scientific notation in columns that should hold IDs is also a sign that the file went through Excel, so check the other columns for lost leading zeros too.
Catch it before it reaches your database
CSVCheck flags every column with values in scientific notation, so a mangled export doesn’t get imported silently. It runs entirely in your browser.