Home · Free tools · CSV to Excel

CSV to Excel

Drop a .csv file, check that it parsed the way you expect, and download it as .xlsx. The conversion happens in this tab: the file is never uploaded, and the things converters usually break — leading zeros, long order numbers, semicolon-separated exports, Shift-JIS text — come out the other side intact.

Convert a CSV

Drop a .csv, .tsv or .txt file here, or click to choose

Nothing is uploaded. The file is read by JavaScript in this tab and never leaves your computer — no server sees it, and closing the tab throws it away.

The three things a CSV converter usually breaks

Converting a CSV to Excel sounds like it should be lossless. It usually isn't, and the damage is quiet — the file opens, the columns are there, and three values are wrong.

  • Leading zeros disappear. A postcode column of 01234, a staff number 007, a product code 0042 — written as numbers they come back as 1234, 7 and 42. This page writes anything with a leading zero as text, so it survives.
  • Long IDs get rounded. Excel holds 15 significant digits. A 16-digit order number written as a number becomes 1234567890123450 — silently, with no warning. Anything longer than 15 digits is kept as text here.
  • The delimiter is guessed wrong. Exports from Germany, France, Spain and Brazil are usually semicolon-separated, and database dumps are often tab-separated. Feed one of those to a tool that assumes commas and you get a single column. The delimiter is detected from the first few lines — comma, semicolon, tab or pipe.
  • The text turns to mojibake. Plenty of CSVs are not UTF-8: Japanese exports are usually Shift-JIS, Taiwanese ones Big5, older European systems Windows-1252. Read as UTF-8 they come out as � and é — and the page still looks like it worked. The encoding is detected here (UTF-8, Shift-JIS, Big5, GBK, EUC-KR, Windows-1252, UTF-16), the name of what was detected is printed above the table so you can check it, and everything exported is written as UTF-8. Converting a Shift-JIS CSV to .xlsx here is also how you fix the mojibake.

Everything that is a plain number still arrives as a number, so SUM works on the amount column without you converting anything by hand.

Why the conversion runs in your tab

The CSVs people convert are exports: a customer list, a payroll journal, an order dump with names, addresses and phone numbers in it. Uploading that to a free converter to change the file extension is a disclosure, and it is rarely one anybody agreed to. The privacy policies of those services usually say the file is deleted after an hour — which is a promise about deletion, not about the copy that already left your machine.

Here the file is read by JavaScript in this tab and the .xlsx is assembled in memory. There is no upload endpoint to trust, because there is no upload. Open your browser's network tab and watch nothing happen.

What it does not do — read this before you rely on it

  • Dates stay as text. 2026-09-02 arrives in Excel as the characters 2026-09-02, not as a date serial. That is deliberate: guessing whether 03/04/2026 is March or April is how converters produce a spreadsheet that looks right and is wrong. Format the column in Excel, or use a tool that lets you say which order the parts are in.
  • Formulas are not created. This produces a data workbook, not a model. A cell that reads =A1+B1 in your CSV is written as that text, not as a working formula.

Checking it before you download

The table above the download buttons is the parsed file — the same data that goes into the .xlsx. Sort a column to see whether the numbers sorted as amounts or as text, search for a value you know is in there, and confirm the columns split where you expected. This is the step a service that takes an upload and hands you back a file cannot give you.

The search box also filters what gets exported, so you can convert only the rows you actually want.

When a browser tab is the wrong place for this

A one-off conversion is what this page is for. The moment the same export arrives every month and needs the same cleanup — a region column normalised, a date split out, a paid/unpaid flag — a converter stops being the answer, because you would be doing it again by hand each time.

TableDI is a desktop spreadsheet workspace that runs entirely on your machine. It imports CSV with no row cap and lets you add formula columns that recalculate on next month's import, so the cleanup is written once. How importing works.

Questions people ask

How do I convert a CSV to Excel without uploading it?

Drop the file on this page. It is parsed and written to .xlsx by JavaScript running in your own browser — no server sees it, and closing the tab throws the data away. Click Download .xlsx under the table.

Will my leading zeros and long ID numbers survive?

Yes. Values with a leading zero (01234, 007) and numbers longer than 15 digits are written as text, so Excel shows them exactly as they were in the CSV. Ordinary numbers are written as numbers, so SUM and sorting still work on them. This is the most common way a CSV-to-Excel conversion loses data and it is worth checking on whatever tool you use.

My CSV is semicolon-separated. Does that work?

Yes — comma, semicolon, tab and pipe are detected from the first few lines, so the semicolon-separated exports common in Germany, France, Spain and Brazil open correctly without you setting anything.

My CSV is Shift-JIS / Big5 / Windows-1252. Will it turn to mojibake?

No — the encoding is detected before parsing. A byte-order mark is used when present; otherwise each candidate encoding is tried in strict mode, and the ones whose byte sequences are illegal for that encoding are ruled out rather than guessed at. UTF-8, Shift-JIS, Big5, GBK, EUC-KR, UTF-16 and Windows-1252 are covered, and the detected name is printed above the table so you can check it. Everything you export is written as UTF-8, so converting the file here is also how you repair mojibake. Where it can still be wrong: a very short file, or one that mixes encodings, gives the detector little to work with — the printed name is there precisely so that is visible rather than silent.

Are dates converted to real Excel dates?

No, they stay as text. Deciding whether 03/04/2026 is 3 April or March 4th requires knowing where the file came from, and a converter that guesses produces a spreadsheet that looks correct and is not. Format the column in Excel after importing, or bring the file into a tool where you can state the date order.

Are my files uploaded anywhere?

No. The file is read by JavaScript running in this tab, using the browser's own DecompressionStream to unzip .xlsx and a parser that runs on your machine. There is no server call in the page — you can watch the network tab while you use it. Close the tab and the data is gone.

Does it work with old .xls files?

Not directly. The .xls format is a different, binary format from Excel 97. Open it in Excel, LibreOffice or Numbers and save as .xlsx or .csv, then come back. The tool tells you this rather than failing silently.

Is there a row limit?

Not one we impose. The whole file is held in memory while it is converted, so the practical ceiling is your machine's RAM rather than a cap — and the preview paints one hundred rows at a time so the tab stays responsive. Very large files (hundreds of MB) are better handled by a desktop application.

Do this on your own machine instead

TableDI is a desktop spreadsheet workspace that runs entirely on your machine. Import the file, fix it, chart it — nothing is uploaded, and there is no account to create.

Free forever, not a trial — no account, no card. macOS today; a Windows build is in progress. What the paid tier adds.

Last reviewed 2026-09-01 by the TableDI team. Something wrong on this page? Tell us — it is one inbox, read by the people who build TableDI.