Excel to CSV Converter
Pull the first sheet of an Excel workbook out to plain CSV in your browser. Formulas become their values, and the file stays on your computer.
Turn pasted CSV into a real .xlsx workbook with SheetJS. Cells are written as text, so Excel can't strip leading zeros or turn codes into dates when the file opens.
Updated
Your browser is preparing the tool. It runs 100% locally.
Paste CSV and download a genuine .xlsx workbook (Office Open XML), built in your browser with the SheetJS library. It writes the parsed cells as text, so 00123 ZIP codes and product IDs keep their leading zeros. Excel drops those zeros without warning when you double-click a CSV. The catch is that numbers arrive as text too, so convert those columns if you need to calculate with them.
Paste comma-separated data, click Download, and you get data.xlsx, a single-sheet Excel workbook built on your device. The box starts with a small example so you can try it straight away.
Renaming a .csv to .xlsx doesn't work; this writes a proper Office Open XML file. Because the cells are stored as text, Excel leaves entries like 00123 or SEPT9 alone when it opens the file.
The CSV is parsed into rows under the RFC 4180 rules and passed to the SheetJS library as an array of arrays. SheetJS then writes the .xlsx, which is a zipped bundle of XML parts in the Office Open XML format.
Every cell is written as text, so the sheet holds exactly what you pasted. The file downloads as data.xlsx with one sheet named Sheet1.
No external data. The CSV is read per RFC 4180, then the SheetJS library writes an Office Open XML (.xlsx) workbook in your browser. Nothing is uploaded.
SheetJS builds the workbook in your browser, and the data is never uploaded.
The file is generated when you click and the page keeps no copy of it.
You can use it on confidential data such as payroll or customer records.
| Input | CSV text |
|---|---|
| Output | .xlsx (Office Open XML), one sheet |
| Engine | SheetJS (loaded on demand) |
| Cell type | Text, so leading zeros stay |
| Sheet name | Sheet1 |
| Download | data.xlsx |
| Where it runs | In your browser; nothing is uploaded |
Numbers come in as text cells. That is on purpose, because it protects ZIP codes and IDs, but Excel may flag them as 'number stored as text', and you'll need to convert a column before doing arithmetic on it.
It writes one sheet named Sheet1, with no extra tabs, formulas or formatting.
It expects comma-delimited input with RFC 4180 quoting. Convert semicolon- or tab-separated data first.
The output is a real .xlsx, not a renamed CSV, so it opens cleanly in Excel, Google Sheets and LibreOffice.
Give a colleague an .xlsx instead of a raw CSV that Excel might mangle on open.
Keep ZIP codes, SKUs, phone numbers and account numbers that Excel would otherwise cut short or reformat.
Produce the .xlsx that some upload forms and processes insist on.
Make a clean one-sheet workbook from data you copied from somewhere else.
If you need to calculate right away, convert the text columns in Excel or keep the data as CSV. Multiple sheets and formulas are easier to build in Excel itself, and plain CSV is simpler when you only need portable text.
The tool writes an Office Open XML workbook with SheetJS and stores cells as text. Leading zeros and codes come through intact, which is not the case when Excel opens a CSV directly.
Pull the first sheet of an Excel workbook out to plain CSV in your browser. Formulas become their values, and the file stays on your computer.
Turn CSV rows into a clean JSON array of objects, with the header row as the keys. The data stays in your browser.
Flatten a JSON array of objects into CSV for a spreadsheet. Every key found in any object becomes a column, and it all runs on your device.
Convert the Markdown you use every day (headings, emphasis, code, links, images and bullet lists) to clean HTML in your browser. It covers a subset of Markdown, not full CommonMark.
Extract the plain text from a Word .docx file in your browser. You get the words without the formatting, and your document is read on your device instead of being uploaded.
Compress an image to JPEG with a quality slider and watch the file size drop as you drag, in your browser.
Paste or pick your input at the top of the page. The conversion runs on this device and needs no account.