About this tool
A CSV-to-Excel converter turns plain comma-separated text into a genuine .xlsx workbook that opens natively in Excel, Google Sheets, LibreOffice Calc and Numbers — and back the other way, extracting the cells of an Excel sheet into clean CSV. It builds the real Office Open XML file format (the same zipped XML Excel uses), not a renamed CSV, so numbers stay numeric and true/false become real booleans.
Everything runs locally with a small vendored spreadsheet engine (fflate + minixlsx). Your file never leaves your device — no upload, no account, no server sees a single cell. That makes it safe for financial exports, customer lists and any spreadsheet you would not want to send to a third-party website.
Use the CSV → XLSX mode to paste or type CSV and download a workbook, or the XLSX → CSV mode to drop an Excel file and copy or download the extracted rows. Typed-cell detection is optional, so you can force every value to stay text when leading zeros or IDs matter.
Frequently asked questions
What formats are supported and is anything uploaded?
CSV (comma, semicolon, tab or pipe delimited) converts to a standard .xlsx workbook, and .xlsx files convert back to CSV. Everything is processed in your browser with a vendored engine — your file is never uploaded to any server.
Which direction is lossless and which re-encodes the data?
CSV → XLSX writes new cells: with typed detection on, numeric and true/false values become real numeric and boolean cells (leading-zero IDs stay text), which changes cell types but not the visible values. XLSX → CSV reads the cell values back out as text — CSV has no concept of formulas, styles, colors or multiple sheets, so only the values of the first sheet are exported.
Does it handle multiple sheets?
The XLSX → CSV direction reads the first worksheet only, since CSV is a single flat table by definition. The CSV → XLSX direction writes one sheet, whose name you can set with the sheet-name field.
Will my numbers and dates keep their exact values?
Yes. With typed cells enabled, clean integers and decimals are stored as numeric cells and true/false as booleans; anything else (including leading-zero codes and long IDs over 15 digits) is kept as text so nothing is silently reformatted. Turn typed cells off to store every value as plain text.
More tools