Excel Turned the Last Digits of My 16-Digit Number Into Zeros
The quick answer: Excel stores every number as an IEEE 754 double-precision float, and that format holds at most 15 significant digits. Any number with 16 or more digits — a credit card, an IMEI, a long account or order number, some barcodes — has every digit past the 15th replaced with 0 the instant Excel parses the cell. It happens on open, before you save or touch anything: 1234567890123456 silently becomes 1234567890123450. Those digits are destroyed, not hidden, so once you save the CSV they are gone. There is no fix for the damaged file — the only recovery is to re-export from the original source and import the column as Text.
What Excel keeps and what it destroys
The dividing line is 15 significant digits: anything at or under it survives, anything longer loses its tail. Here is where the common identifier types fall.
| Your value | What Excel stores / saves | Recoverable? |
|---|---|---|
12-digit UPC 885909560622 | Full value; may just display as 8.85909E+11 | Yes — digits are intact |
15-digit IMEI 356938035643809 | Kept exactly (right at the 15-digit edge) | Yes — nothing lost |
16-digit account 1234567890123456 | 1234567890123450 — last digit becomes 0 | No — re-export from source |
19-digit card 3528000700000000000 | Tail zeroed past the 15th digit | No — re-export from source |
The difference between rows two and three is a single digit: a 15-digit IMEI is the longest value Excel holds perfectly, and one more digit overflows the format. That is why one file can have some ID columns intact and others quietly broken — it depends only on length.
Why the last digits become zeros
Excel treats a run of digits as a quantity, and its number format cannot carry more than about 15 significant digits. A CSV is plain text, so a card number like 4111111111111111 is just characters on disk. When Excel opens the file it decides anything numeric-looking is a number and converts the text into an IEEE 754 double. Excel caps its display and storage at 15 significant digits, so the 16th digit and beyond have nowhere to go and are rounded off to zeros.
The critical detail: this conversion runs when the file is opened, not when it is saved — by the time you see the value, the rounding has already happened. Microsoft documents this directly: it is expected behaviour, not a bug, and it hits any number over 15 digits regardless of what those digits mean.
Why this is not scientific notation
Scientific notation is reversible; this is not. Both make a long number look wrong, but they are opposites underneath. When Excel shows 8.85909E+11, every digit of the original 12-digit barcode is still stored — the notation only displays a value too wide for the column, and the full digits return when you widen it or format the cell as a number.
Zeroing is the destructive case: the missing digits were never stored, so the cell literally holds 1234567890123450, with a real zero where your data used to be. No display change brings them back. If your value shows as 1.23457E+15 you may be lucky and only need to reformat; if it shows as a full-width number ending in zeros, the damage is done. Our guide on Excel and scientific notation in CSVs covers the reversible cousin.
Can the digits be recovered?
From the damaged file, no — and no tool can change that. The lost digits were rounded away before anything was saved; they are not tucked in a hidden format or a cache. Because they were never written to the file, no algorithm, formula or repair utility — ours included — can reconstruct them. Anyone promising to “recover” truncated numbers from the broken CSV is guessing, and a guessed card or account number is worse than none.
The only real recovery is to go back to the source — the bank export, the carrier portal, the store platform, the database — and pull a fresh copy with the full digits. Then open that file the careful way below.
Only in scientific notation, not truncated? Restore it here
If your number is merely displayed as 1.2E+15 and the digits are still in the file, our free browser tool expands the notation back to the full digit string — all locally, nothing uploaded. Be clear about the limit: it restores digits that are still there, but it cannot invent digits Excel already rounded to zero.
How to stop Excel rounding long numbers
Keep the value as text so Excel never parses it as a number. Once you have a clean re-export, use the import path instead of double-clicking the file:
- Re-export the data from the original source so it still contains every digit — the damaged file cannot be salvaged.
- In Excel, open Data → From Text/CSV and select the fresh file. Do not double-click the CSV, which parses long numbers instantly.
- In the import preview, click the header of the long-number column and set its data type to Text.
- Click Load. The 16-digit card, IMEI or account number arrives as a full text string, every digit intact.
If you are pasting values into a new sheet rather than importing a file, set the destination cells to Format → Cells → Text before the data lands, or prefix each entry with an apostrophe ('1234567890123456). A value stored as text sits left-aligned and may show Excel’s green “number stored as text” triangle — harmless, and exactly what you want for an identifier. We explain that warning in the number-stored-as-text guide, and the full safe-open routine in how to open a CSV in Excel without breaking it. You can start any repair from the CSVUndo home page.
Frequently asked questions
Why does Excel change the last digit of a 16-digit number to 0?
Excel stores numbers as IEEE 754 double-precision floats, which hold only about 15 significant digits. A 16-digit number exceeds that, so Excel keeps the first 15 significant digits and rounds the rest to zero — 1234567890123456 becomes 1234567890123450. It happens on open, before you save.
Can I get the lost digits back?
No. The extra digits were rounded away and never stored, so no formula, format change or repair tool can reconstruct them. Re-export the data from the original source system to get the full digits back.
Is this the same as scientific notation?
No. Scientific notation like 1.23457E+15 is only a display style — the real digits are still stored and return when you widen the column or reformat. Zeroed digits are actual data Excel destroyed because it could not fit them. Notation is reversible; truncation is permanent.
How do I stop Excel from rounding long numbers?
Stop Excel parsing the value as a number. Import with Data → From Text/CSV and set the identifier column to Text before loading, or format empty cells as Text before pasting, or prefix each value with an apostrophe. Any of these keeps the digits as an exact text string, so nothing is rounded.
Sources: Microsoft documents this behaviour in Last digits are changed to zeros when you type long numbers. Community discussion of the same 15-digit limit is collected on the MrExcel forum. The 15-significant-digit cap is a property of IEEE 754 double-precision floating point.