CSV Viewer Open CSV

How to view CSV files without Excel

Excel is the default for a .csv on most machines, and it is a poor one — it rewrites your data as it loads. Here is what it changes, and what to use instead.

6 min read

Why not Excel

Excel is a spreadsheet, and a spreadsheet's job is to turn text into typed values it can compute with. A CSV is untyped text. So the moment Excel opens one it has to decide what everything is — and it decides silently, before you have seen a single row, using rules based on your machine's locale.

For a file you intend to do arithmetic on, that is a feature. For a file you were handed and want to read, check or pass on, it is data corruption with a friendly interface. Worse, the damage is invisible until you look for it, and pressing save writes it to disk permanently.

Exactly what it changes

In the fileExcel showsWhy it matters
045134513Broken ZIP code, broken product SKU
0044 20 794644207946Broken phone number
12345678901234561.23457E+15Credit card or order ID, now unrecoverable — Excel only keeps 15 significant digits
SEP-0101-SepGene name, part code or ticket ref turned into a date
3/404-MarA fraction or a version number turned into a date
3.103.1Trailing precision lost
=SUM(A1)A live formulaCSV injection — a real security issue when the file came from outside
é (UTF-8)éExcel assumes your local codepage, not UTF-8

This is not folklore. In 2020 the HUGO Gene Nomenclature Committee renamed human genes — SEPT1 became SEPTIN1, MARCH1 became MARCHF1 — because Excel kept converting them to dates and the conversion was showing up in published papers. A 2016 survey found such errors in about 20% of genomics papers with supplementary Excel files. Renaming the genes was considered easier than fixing the spreadsheet habit.

Six alternatives that leave your data alone

ToolBest forCostInstall
Browser CSV viewerReading, sorting, searching, quick fixesFreeNone
VS Code + Rainbow CSVDevelopers already in an editorFreeEditor + extension
LibreOffice CalcA real spreadsheet with an honest import dialogFreeDesktop app
DuckDBQuerying huge files with SQLFreeCLI
csvkit / xsvTerminal workflows and scriptsFreeCLI
PandasAnalysis you will repeatFreePython

For simply viewing a file, the browser viewer wins on every axis that matters: it opens in a second, has no row limit, cannot write to your file, needs no installation on a locked-down work machine, and never uploads anything. It is not trying to be a spreadsheet — which is exactly why it does not damage your data.

If you have to use Excel

Never double-click the file. Import it deliberately:

  1. Open Excel with a blank workbook.
  2. Data → From Text/CSV, and pick your file.
  3. In the preview, check the File Origin — set it to 65001: Unicode (UTF-8) if accented characters look wrong.
  4. Click Transform Data rather than Load.
  5. In Power Query, select every ID, ZIP, phone and code column and set its type to Text.
  6. Close & Load.

This has to be repeated for every file, every time. There is no global setting that stops the conversion — Microsoft has declined to add one for over two decades.

Is Google Sheets better?

Marginally. It makes the same type conversions on import, so leading zeros and long IDs are damaged the same way. It does default to UTF-8, which avoids the accent problem, and its 10-million-cell limit is more generous than Excel's row cap in practice. But it also uploads your file to Google — which, for the bank exports and customer lists people most often need to open, is the objection that matters more than the formatting.

Which to pick

  • Just reading it? A browser viewer. Nothing else is faster or safer.
  • Sharing a table with colleagues? Export as Markdown or TSV from the viewer.
  • Doing real analysis? DuckDB or Pandas — and read the file in a viewer first so you know what is in it.
  • Genuinely need formulas and charts? Excel or Sheets, imported the careful way, with every ID column set to Text.