Does Excel change your data?
Yes, before you have touched a cell. Double-click a CSV and Excel decides what each value is: 00412 becomes 412, SEPT2 becomes 2 September, 1/2 becomes a date, a 16-digit id is rounded, and a cell starting with = is run as a formula. Paste a column or drop a file and see which of yours would come back different. The check runs in your browser; your data goes nowhere.
9 of 10 values would come back different — and 1 of them is a formula Excel would run.
Run as a formula · 1 · run as a formula
A cell starting with = or @ is evaluated, not stored. Anyone who can write a row into this file can run a formula on the machine that opens it.
| Where | You wrote | Excel shows |
|---|---|---|
| line 9 | =HYPERLINK("https://example.com","click") | #NAME? — or whatever the formula computes |
Read as a date · 2 · different value
Read as 2-Jan of this year. A fraction, a score or a range written this way is a date now.
| Where | You wrote | Excel shows |
|---|---|---|
| line 3 | 1/2 | 2-Jan |
| line 8 | 2024-01-31 | 1/31/2024 |
Leading zeros dropped · 1 · different value
The zeros are not stored anywhere. A code, a postcode or an account number stops matching.
| Where | You wrote | Excel shows |
|---|---|---|
| line 1 | 00412 | 412 |
Read as a date (the gene-name problem) · 1 · different value
SEPT2 is read as the date 2-Sep. Gene names such as SEPT2, MARCH1 and DEC1 were renamed in 2020 because of exactly this.
| Where | You wrote | Excel shows |
|---|---|---|
| line 2 | SEPT2 | 2-Sep |
Long number rounded to 15 digits · 1 · different value
Excel keeps 15 significant digits. Everything past them is rounded away and the cell shows the number in scientific notation.
| Where | You wrote | Excel shows |
|---|---|---|
| line 4 | 9007199254740993 | 9007199254740990 |
Trailing zero dropped · 1 · same value, different text
A number has no memory of its trailing zeros; 1.10 and 1.1 are the same to Excel.
| Where | You wrote | Excel shows |
|---|---|---|
| line 5 | 1.10 | 1.1 |
Read as TRUE or FALSE · 1 · same value, different text
The text is replaced by the logical value TRUE.
| Where | You wrote | Excel shows |
|---|---|---|
| line 6 | true | TRUE |
Thousands separator dropped · 1 · same value, different text
The commas are not stored; the cell holds the bare number.
| Where | You wrote | Excel shows |
|---|---|---|
| line 7 | 1,250.00 | 1250 |
Why this happens
A CSV holds text. A spreadsheet cell holds a typed value — a number, a date, a boolean, a formula, or text — and Excel has to pick one for every cell as it reads the file. It picks by looking at the text: anything that reads as a number becomes one, anything that reads as a date becomes one, and the original text is not kept anywhere. Most of the time the guess is what you meant. The rest of the time a postcode loses its zero, a product code becomes a date, and a save writes the guess back into the file for good.
The rules here are Excel's with the US English locale — dot decimals, comma thousands, month before day. A locale with decimal commas reads 1,5 as a number and 1.5 as text, so the exact set of values that change is different there, but the mechanism is the same.
What the verdicts mean
- Run as a formula — a cell beginning with
=,@, or+or−followed by anything but a plain number is evaluated when the file opens. This is how a hostile row in an export runs code on the machine that opens it; a file with these cells should not be opened in a spreadsheet at all. - Different value — the cell no longer holds what the text said: the zeros are gone, the id is rounded, the code is a date. Nothing recovers it.
- Same value, different text —
1.10is stored as 1.1,1,250as 1250,50%as 0.5. Arithmetic survives; anything that compares or re-exports the file sees a change it never asked for.
Keeping the values you wrote
The tools here never do this: every value is carried as the text in the file. To look at or fix a file without Excel retyping it, open it in the editor. To hand a file to someone who will open it in Excel, convert it to a workbook here, where text stays text. If the damage has already happened, the guides on vanished leading zeros and dates that turned into numbers say what can be recovered. The same silent retyping happens to JSON through JSON.parse; that checker is this page's twin.