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 number007, a product code0042— written as numbers they come back as1234,7and42. 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-02arrives in Excel as the characters2026-09-02, not as a date serial. That is deliberate: guessing whether03/04/2026is 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+B1in 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.
Related
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.