CSV to Excel Converter
Turn a CSV into a real .xlsx workbook you can open in Excel, Numbers or Google Sheets.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
Takes comma-separated text and writes a real .xlsx workbook — the kind Excel, Numbers and Google Sheets open by double-clicking, with the first row already bold as a header.
How to use it
- 1Paste your CSV, or press Use an example to see the shape it expects.
- 2Press Create Excel file.
- 3Download the .xlsx — the row count is shown so you can check nothing was lost.
Example
- Input
- name,role,city — then two rows for Ada Lovelace and Alan Turing
- Output
- converted.xlsx, about 2.8 KB, opening to three columns and two data rows with the heading row in bold.
Quoted fields, commas inside quotes and escaped double quotes are all handled — the parser here is the same one the JSON/CSV tool uses, so a file that works in one works in the other. A row with more columns than the header still keeps every cell.
What happens to your data
The whole conversion is one library running in this tab: your rows are turned into a zipped XML bundle — which is all an .xlsx really is — and handed straight to a download link. Nothing is posted anywhere, which matters because the CSVs people convert are exports: customer lists, payroll, order histories. Worth knowing what we did NOT use: SheetJS is the obvious library for this and it was rejected, because its npm builds are unmaintained and carry a high-severity prototype-pollution advisory in the file-reading path a spreadsheet would take.
Last updated August 2026
Opening a CSV in Excel usually works, right up until it does not: a leading zero disappears from a postcode, a product code turns into a date, or a European file with semicolons lands entirely in column A. Converting CSV to Excel properly, into a real .xlsx, avoids the guesswork.
This converts a CSV to a spreadsheet file in your browser, without the data ever passing through a server.
Worth knowing before you arrive: the CSV goes in as text, pasted into a box, so open the file in a text editor or a spreadsheet, select all, and paste. There is no file picker here. That suits a file you can see and read; a very large export is better handled by Excel's own import step, where you mark the awkward columns as text and accept the extra clicks.
The mistake to avoid either way is renaming a .csv to .xlsx. Excel will often open it regardless, but the file is still comma-separated text wearing the wrong extension, and anything stricter about what it accepts will refuse it.
How it works
Toolvore parses the CSV — honouring quoted fields, embedded commas and newlines inside quotes — and writes a real .xlsx workbook with write-excel-file. Because it produces an actual spreadsheet rather than a renamed CSV, Excel, Numbers, LibreOffice and Google Sheets all open it without an import dialog and without inventing types for your columns. Commas are the only separator it recognises, so a semicolon or tab file arrives as one wide column and needs its delimiters changed first. Every cell is written as text, which is what keeps a leading zero or a long reference intact — and also means Excel will not sum a column until you convert it back to numbers. Fully blank lines are dropped, the first row is bolded as a header, and what you get is a single sheet named Sheet1, downloaded as converted.xlsx.
Common use cases
- Converting an exported CSV to xlsx so it opens cleanly in Excel
- Turning a data dump into a spreadsheet you can format and share
- Avoiding the import wizard when a CSV uses unusual quoting
- Preparing a file for someone who needs a spreadsheet rather than plain text
- Getting a CSV into Google Sheets or Numbers without formatting surprises
- Getting a bolded header row without formatting the sheet by hand afterwards
Frequently asked questions
How do I convert a CSV to Excel?+
Drop the CSV in and download the .xlsx. It is a genuine Excel workbook, not a CSV with the extension changed, so it opens directly without an import step.
Why not just open the CSV in Excel?+
You can, but Excel guesses at column types while importing — which is how a postcode loses its leading zero and a product code becomes a date. Converting first puts the values in as text rather than leaving them to be interpreted.
Does it handle commas inside quoted fields?+
Yes, along with quotes inside quotes and line breaks inside a field, which are the three things that break naive splitting on commas.
Is my spreadsheet uploaded?+
No. Both the parsing and the workbook are produced in your browser, which matters because spreadsheets are usually the most sensitive files anyone converts.
Why are my numbers stored as text in the spreadsheet?+
Because reading every field as text is the only way to guarantee that 007, 1-2 and 0044 survive intact — the moment something is free to guess, those become 7, a date and a number. The cost is that a column of figures is stored as digits rather than quantities, so SUM returns zero and sorting runs alphabetically, putting 100 before 20. Converting a genuine number column back is quick in Excel: select it, choose Data, then Text to Columns, and finish on General. Do it only to the columns that really are numbers, and leave codes and identifiers alone.
What is the difference between a CSV and an .xlsx file?+
A CSV is a text file holding one table and nothing else — no styling, no formulas, no second sheet, no record of what is a date and what is a string. An .xlsx is a zipped set of XML files that carries all of that: cell types, number formats, column widths, several sheets, formulas that recalculate. So a CSV travels well, is readable by almost anything and diffs cleanly in version control, while an xlsx preserves the work you did to make the data legible. Choose by what opens the file next.
How do I convert a semicolon-delimited CSV?+
Much of Europe exports with semicolons, because the comma is already the decimal separator there — 1,5 means one and a half. Nothing inside the file records that choice, so a reader has to be told or has to guess, and a comma-only reader handed a semicolon file returns one wide column rather than an error, since each line is technically a single valid field. Sort it out before converting: re-export from the source with commas, or replace the semicolons in a text editor, taking care not to touch any that sit inside quoted fields.
Why does my CSV show characters like é instead of é?+
That is an encoding mismatch — the file was written as UTF-8 and is being read as Windows-1252, or the other way round. A plain CSV records nothing about its own encoding, so whatever opens it falls back to a default that differs by application and by operating system. Export or save as UTF-8 where you have the choice. If Excel is the culprit, avoid double-clicking the file and use Data, then From Text/CSV, which shows a preview with an encoding selector so you can correct the guess before anything is imported.
How many rows can Excel handle?+
A worksheet stops at 1,048,576 rows and 16,384 columns, a hard limit of the format rather than a setting you can raise. CSV has no such limit, so a multi-million-row export cannot become one sheet at all — it has to be split, or loaded with something built for the job, such as Power Query, a database, or a script. Anything running inside a browser tab is bounded by the memory your machine will hand that page, so data at that scale belongs with a command-line tool rather than a converter you paste into.
Related tools
Excel to CSV Converter
Open an .xlsx workbook and get clean CSV back, without uploading the file anywhere.
JSON to Excel Converter
Turn a JSON array of objects into a spreadsheet, with the keys as column headings.
JSON ⇄ CSV Converter
Convert JSON arrays to CSV and CSV back to JSON.
CSV to Markdown Table
Turn CSV data into a formatted Markdown table.