CSV to Excel Converter
Drop CSV text into the box or load a file from disk and convert CSV to XLSX without installing a spreadsheet app. The whole CSV to Excel run happens inside this tab, so the rows you paste never leave the device. Choose the delimiter, name the sheet, and download a workbook that opens in Excel, LibreOffice Calc, or Google Sheets.
The reader runs on this device, so a local file is copied into the box without going anywhere.
How the converter works
The parser follows the RFC 4180 shape. A field wrapped in double quotes keeps commas, semicolons, and line breaks inside it, and a doubled quote inside a quoted field comes back as one literal quote character. Line endings in CRLF or LF form both end a row, and a byte order mark at the head of the file is dropped before anything else runs. Whitespace around an unquoted field is trimmed while whitespace inside quotes is kept exactly as written, so an address with a padded space does not change shape.
Delimiter auto mode does not read the whole file. The first non-empty line is walked once per candidate, comma, semicolon, tab, and pipe, and every hit outside a quoted region is counted. The candidate with the highest count wins, comma takes a tie, and a line with no candidate at all also returns comma. Ragged rows, stray separators, and quoted cells that contain a different separator are the usual reasons to set this option by hand.
The workbook itself is assembled in memory as an Open Packaging Conventions zip holding six parts. Those parts are the content types, the package relationships, the workbook with its single sheet, the workbook relationships, a styles file, and the worksheet. Text values are written as inline strings, numeric cells carry a bare value node when coercion is on, and the header option points row one at the bold style index. The zip is compressed with DEFLATE and handed to the download button as a typed array.
Formula escaping covers cells that begin with an equals sign, a plus, a minus, an at sign, a tab, or a carriage return. With the checkbox on, such a cell is stored with an apostrophe in front of it, which makes Excel display the original characters as text instead of running them. Values that already read as plain numbers are skipped, because a minus in front of digits is a negative number and not a formula. Every step runs in this tab, which is why no row ever crosses the network and why the size ceiling is your machine rather than a server.
Examples
The first example is the Employee List preset. It is semicolon separated, one quoted cell holds a comma, and another quoted cell holds a line break, which is the shape that falls apart when a file is pasted straight into a grid.
ID;Name;Department;Location;Notes
1;Ada Lovelace;Research;"London, UK";Joined 2019
2;Grace Hopper;Engineering;Arlington;"Works nights
Mentors new staff"
3;Alan Turing;Research;Manchester;Quiet office | Measure | Value |
|---|---|
| Separator found | semicolon |
| Rows | 4 |
| Columns | 5 |
| Sheet name | Sheet1 |
| Output size | 2,304 bytes |
The second example is the Formula Safety preset, where a value begins with an equals sign and another begins with an at sign. Comma is the separator, the result is 4 rows and 3 columns, and the default options pack it into 2,220 bytes. Open that workbook and both suspicious cells read as plain text, so nothing runs on load.
When to use this tool
- An API hands back a CSV dump and the person who has to read it only opens Excel.
- Finance wants a prepared sheet with the header row already bold and the money columns stored as numbers rather than text.
- An admin tool from a European vendor exports semicolons, and the file opens as one long cell in a spreadsheet set to a comma locale.
- A quick look before an import, where the preview counts show right away whether the column total matches what the source claims.
- A sheet has to go out as an email attachment for a recipient who will not run a script or open a raw text file.
- Identifiers with leading zeros have to survive the trip into a spreadsheet, which means converting with number coercion switched off.
- A quoted file with commas and line breaks inside cells loses its shape when it is pasted straight into a grid.
Best practices
- Keep the header option in step with the file. Leave it on when row one holds column names so the bold style lands there, and switch it off when the first line is a record of its own.
- Read the preview counts before pressing Convert. A column count that jumps against what you expected means the separator setting is wrong for that particular file.
- Leave formula escaping on for anything that arrived by email, from a web form, or from a ticket, since those are the usual sources of cells that begin with an equals sign.
- Turn number coercion off when a column holds identifiers, phone numbers, zip codes, or any other value where a leading zero carries meaning.
- Give the sheet a name you will recognize in the tab bar, because that name is also used for the file you download.
- Split a large export into chunks before loading it, and close other heavy tabs so the browser has room for the parse and the zip at once.
- Keep the original CSV next to the workbook so a later reader can repeat the conversion with different options and compare the two results.
Common mistakes
- Letting auto-detect run on a file where separators mix. One comma inside a quoted field can outweigh the semicolon that really divides the columns, so pick the separator by hand for those files.
- Treating the header option as cosmetic. With it off, the header row is counted as a record and shows up in the row total, and with it on for a file that has no header, the first record is styled bold and later readers treat it as a header.
- Carrying formulas in from somewhere else. A cell that begins with an equals sign or an at sign can execute when the workbook opens, so keep escaping on for files you did not write.
- Coercing numbers on identifiers. 00741 becomes 741 once the cell is numeric and the zeros never come back, so switch number coercion off for those columns.
- Pushing a very large file at the tab. The parsed rows, the worksheet markup, and the zip all live in memory together, and a file at the top of the practical range can freeze the page while it compresses.
- Expecting several sheets from one pass. This version writes a single worksheet per workbook, so a three-part source needs three conversions and three downloads.
Frequently asked questions
Does any of my data leave this device?
No. The text area, the file reader, the parser, and the zip builder all run inside this tab, and the page sends no request that carries your rows. Pasting or loading a file only touches local memory, and the workbook is assembled from a blob that stays in the browser. Closing the tab discards everything, including the file you just built. The only network activity here is the ordinary page load plus the layout analytics script, neither of which sees a single cell.
Can this tool turn an XLSX file back into CSV?
No, this page is one-directional. It reads CSV text and writes an XLSX workbook, and it has no reader for the zip container that a spreadsheet app produces. To get rows out of a workbook, open it in a spreadsheet program and use the export option there, or start again from the original CSV if you still have it. Nothing on this page will accept an .xlsx file as input, so the file picker only looks for .csv.
How large a file can it handle?
There is no fixed server limit, because nothing is uploaded. The ceiling is the memory available to the tab, since the parsed rows, the worksheet markup, and the compressed workbook all sit in memory at the same time. Files in the low hundreds of megabytes are the practical range on a desktop with other heavy tabs closed, and anything near that mark should be split into parts first. A file at the top of the range can leave the page unresponsive for a moment while the zip is compressed.
Can one workbook contain several sheets?
Not in this version. Each conversion produces exactly one worksheet, and the sheet name you type becomes the name of that single tab. A source that arrives as three separate sections therefore needs three conversions and three downloads. Merging those results is a job for a spreadsheet app after the files are open.
Which separator does auto-detect choose?
Auto mode reads the first non-empty line and counts each candidate outside quoted regions. Comma, semicolon, tab, and pipe are the four candidates, and the highest count wins. Ties go to comma, and a line carrying no candidate at all also returns comma. When a file mixes separators from one line to the next, set the option by hand instead of trusting the count.
Why did a leading zero vanish from my identifier?
Number coercion is on by default, so a value such as 00741 is stored as the number 741 and the leading zeros are lost. Turn off the numeric cells option before converting when a column holds identifiers, zip codes, or phone numbers. The cell then stays a text value and keeps every character you typed. That setting also keeps long identifiers from being rounded by the fifteen-digit limit the parser applies.
What happens to a cell that starts with an equals sign?
Formula escaping is on by default, so a leading equals, plus, minus, or at sign is stored with an apostrophe in front of it. Excel then shows the original characters as text instead of evaluating them, which is the defense against CSV injection in files you did not write yourself. Values that already look like plain numbers are left alone, because a minus in front of digits is a negative number rather than a formula. Switch the option off only when you want the spreadsheet to run those expressions.
Related tools
How to convert CSV to Excel
- Add your CSV Paste CSV into the box or pick a .csv file from disk; the reader runs on this device and fills the box for you.
- Set delimiter and options Choose auto-detect or a fixed separator, decide whether row one is a header, give the sheet a name, and switch number coercion or formula escaping on or off.
- Convert and download Press Convert to XLSX, read the row and column counts in the stats line, then press Download XLSX to save the workbook.