Why does Excel show my CSV numbers as 1.23E+12?
Quick answer
Excel's number type reliably stores about 15 significant digits. A 16-digit card or account number read in as a number gets rounded to fit and displayed in scientific notation - and the digits past the 15th are genuinely gone, not just hidden behind the display format. The fix is to keep that column as text from the start, rather than trying to reformat it back afterward.
- 1Convert the CSV to Excel with long-digit columns kept as text, before the value is ever read as a number.
- 2If the file is already saved with the digits rounded, the original value cannot be recovered from it - it has to come from the original source again.
Free, no sign-up, and your file is read on your own device rather than uploaded.
Excel stores numbers using double-precision floating point, which reliably holds about 15 significant digits. A card number, an account number or a barcode with 16 or more digits does not fit, so Excel rounds it and switches to scientific notation (1.23457E+15) to display what is left - the digits past the fifteenth are not merely hidden, they no longer exist in the file once it is saved that way.
This is a stricter version of the leading-zero problem: even a long number with no leading zero at all can lose precision, purely because of how many digits it has. The fix is the same - the column has to be typed as text before Excel ever treats it as a number, not reformatted afterward once the damage is done.
Step by step
Spot columns at risk before opening the CSV in Excel
Card numbers, IBANs, barcodes, long account or reference numbers - anything with twelve or more digits.
Convert with those columns protected as text
Long digit runs are detected and protected automatically.
CSV to ExcelVerify a sample value
Check that a known long number still has every original digit after conversion.
Tips
- Reformatting an already-rounded cell back to "Number" or "Text" in Excel will not restore the lost digits - once they are rounded away and the file is saved, they are gone.
- This affects any sufficiently long digit string, not just card numbers - barcodes (12-13 digits), some invoice or reference numbers, and long account numbers are all at risk.
Common problems
The last few digits of a card or account number are now all zeros.
That is floating-point rounding, and it is not recoverable from the saved file - re-import from the original source with the column set to text from the start.
Frequently asked questions
- How many digits can Excel actually store accurately?
- About 15 significant digits. A number with 16 or more digits will lose precision in the digits beyond the 15th once stored as a number.
- Does this only affect card numbers?
- No - any sufficiently long digit string is affected: barcodes, IBANs, long account or reference numbers, and similar identifiers.
- Can I fix it after the file has already been saved with the rounded numbers?
- No - the original digits are gone once rounded and saved. The fix has to happen when the CSV is first converted, using the original source data.
Related data tools
Related articles
- Excel & Data
Why does Excel drop leading zeros from my CSV?
Excel treats every CSV value as "General" format when it opens the file, which means anything that looks like a number is read as one - and a real number can never start with a zero, so it is dropped. Converting the CSV to Excel with those columns explicitly typed as text, rather than opening the CSV directly, avoids the problem entirely.
- Excel & Data
Why does my CSV open in one column in Excel?
This happens when the file uses a different delimiter (usually a semicolon) than the comma Excel expects by default in your regional settings - common with files exported from systems set up for a European locale, where a comma is the decimal separator and a semicolon separates fields instead. Converting the file with the correct delimiter detected, or using Excel's Text to Columns feature, fixes it.
Ready to do it?
Free, no sign-up, and nothing is uploaded to a server.
