A CSV or TSV holds characters, not types. Anything that opens one has to decide what those characters mean, and Excel’s guesses are wrong in four specific ways.
The good news is that Excel will skip the guessing entirely if you ask it to. The bad news is that double-clicking the file is not asking.
Why is double-clicking the problem?
Opening a file from the desktop gives Excel no dialog and no chance to ask you anything. It applies its default type detection to every column and shows you the result, already converted. By then the identifiers are numbers and the codes are dates.
Two consequences people often miss:
- The damage is done before you see the screen. There is no “undo the import”.
- Saving is not what breaks it. Saving just writes the already-broken values back to disk, which is when the original file stops existing.
Everything below is a way of getting a dialog in front of Excel before it reads the data.
The import route on Windows
In Excel for Microsoft 365, 2021 or 2024:
- Data → Get & Transform Data → From Text/CSV.
- Pick the file. A preview dialog appears with three controls that matter: File Origin, Delimiter and Data Type Detection.
- Set Data Type Detection to Do not detect data types.
- Load.
Step 3 is the whole guide in one setting. It tells Excel to treat every column as text, which switches off leading-zero removal, the 15-digit truncation, scientific notation and the date conversion in a single click. Most walkthroughs of this dialog never mention it and send you into Power Query to set each column by hand instead.
If you do want per-column control — most columns as numbers, three identifier columns as text — choose Transform Data instead of Load, select the columns in the Power Query editor, and set their type to Text. Choose Replace current if it offers to replace an existing type step.
There is also the older wizard, which some people prefer because it is faster for a one-off. It is hidden by default: File → Options → Data → Show legacy data import wizards → From Text (Legacy). It then appears under Data → Get Data → Legacy Wizards. Its third step lets you click each column and mark it Text.
On Mac, and on older versions
Recent Excel for Mac has the same Data → From Text/CSV entry and the same Data Type Detection control, so the four steps above apply unchanged.
Older builds have Data → From Text, which opens the legacy wizard directly — the same three-step flow, with the column type buttons in step 3.
If you have neither, there is a blunt trick that still works: rename the file from .csv to .txt before opening it. Excel will not open a .txt silently, because it has no default interpretation for one, so it falls back to the import wizard and asks. Rename it back afterwards if anything else depends on the extension.
For .tsv specifically, Windows often has no association at all, so double-clicking may do nothing or open a text editor. That is a small mercy — it means the import route is the only route.
The encoding half of the problem
Type conversion is only one of the two ways an import goes wrong. The other is encoding, and it shows up as é where é belonged.
Excel on Windows, opening a delimited file without being told otherwise, assumes the system’s ANSI code page — windows-1252 in most of Western Europe. A UTF-8 file read that way turns every accented character into two wrong ones.
Two ways to avoid it, in order of reliability:
- Set File Origin explicitly in the import dialog, to
65001: Unicode (UTF-8). This is the honest fix, because it does not depend on anything being present in the file. - Give the file a UTF-8 byte order mark. Those three bytes at the start are how Excel recognises UTF-8 on its own. Most tools can add one on export, and this site’s editor offers it as a checkbox.
The BOM is a trade, not a free win: Excel wants it and a great many other readers do not, and will hand you a stray character at the start of your first header. Add it when the file is going to a person who will open it in Excel; leave it off when the file is going to a program.
If you already have mojibake on screen, do not find-and-replace it. Fixing a broken TSV explains why that makes it worse.
When you only need to look
Most of the time the reason for opening the file is not editing at all — it is checking a value, counting rows, confirming an export ran. Excel is a heavy and destructive tool for that, and every one of the risks above applies to a read-only glance.
For that job, anything that shows the characters as characters will do: a text editor, a head on the command line, or a grid that does not have types. The rule is simply that whatever you use must not be trying to be clever about what your data means.
Doing it here
The editor on this site reads cell values as text, without inferring numbers or dates. Delimiter, quoting and encoding detection still need review: check the displayed cells and any import warnings before exporting.
The status bar shows the detected input encoding. TSV and CSV downloads always use UTF-8; for example, Windows-1252 café becomes UTF-8 text with the same characters. A detected BOM is retained by default as a UTF-8 BOM, and you can explicitly add or remove it in the export dialog. Review inferred characters and conversion notices before downloading.
If Excel is where the file has to end up, converting it to XLSX sidesteps the import entirely — a real workbook has types in it, so there is nothing left to guess. Nothing is uploaded either way; the file is read and written by your browser.