data tool
Convert XLSX to CSV
Choose an Excel .xlsx file, pick a sheet, and download it as a CSV with the delimiter you need. The workbook is unzipped and read inside this page, so a spreadsheet of customer or payroll data converts without being uploaded anywhere.
Loading the tool…
- Runs on your device, nothing is uploaded
- Free, no sign in
- No watermark, no file limit
How it works
- 1
Choose the .xlsx
Any workbook saved by Excel, Google Sheets, Numbers or LibreOffice as .xlsx.
- 2
Pick the sheet
Each worksheet is listed by name. The preview shows its first rows so you can check it is the right one.
- 3
Choose the delimiter
Comma for most systems, semicolon where commas are decimal separators, tab for pasting into other tools.
- 4
Download
Keep the BOM option on if the file will be opened in Excel and has accented letters.
What happens inside the page
An .xlsx file is a zip of XML parts in the Office Open XML format. The tool unzips it with the browser's own decompression, reads the list of sheets, the shared table of text values and the number formats, then walks the chosen sheet cell by cell. Text cells are looked up in the shared strings table, true and false cells become TRUE and FALSE, and numbers stay as stored. No spreadsheet library is loaded and nothing leaves the device, which matters when the workbook holds personal or financial data.
Dates are numbers in disguise
Excel stores a date as the number of days since the start of 1900, so 21 October 2026 is 46316 underneath. Only the cell's number format makes it look like a date. The tool checks each cell's format and writes date formatted cells as ISO dates, year first, which every system reads the same way, instead of the bare number. Times become hours, minutes and seconds. Workbooks made with the old Mac 1904 date system are detected and converted from the right starting date.
The BOM and Excel's handling of UTF-8
A CSV is plain text and does not say which encoding it uses. This tool writes UTF-8, which handles every alphabet. Excel on many computers guesses a different encoding when it opens a CSV, so é turns into é and Chinese text becomes nonsense. A byte order mark, three invisible bytes at the start of the file, tells Excel the file is UTF-8. Keep the BOM on for files headed for Excel. Turn it off for systems that read the BOM as part of the first column name, which some importers and scripts do.
Comma, semicolon or tab
RFC 4180, the closest thing CSV has to a standard, uses commas, and most systems expect them. In countries where the comma is the decimal separator, such as much of Europe, Excel expects semicolons instead. Tab separated files avoid the question entirely and paste neatly into most tools. Whatever the delimiter, a value that contains it, a quote or a line break is wrapped in quotes, with inner quotes doubled, so the file reads back the way it went in.
Why CSV instead of a spreadsheet
Many systems import CSV but not Excel: mailing tools, accounting software, databases and other web apps. CSV also strips everything that is not data, which makes it the safe format for moving a list between systems. If the data is still being collected by email attachment, a form is often the better source: responses arrive in one place, and the form builder exports them as CSV with one column per question.
Checking the result
Open the CSV in a text editor or the CSV to table tool before importing it anywhere. Look at the first rows for the header, a date column for the ISO format, and any column of codes with leading zeros, such as postcodes or phone numbers. Those are kept as Excel stored them; if Excel already stored them as numbers, the zeros were lost in the workbook itself.
Limits
- Only .xlsx. The old binary .xls format must be saved as .xlsx first, in Excel, Numbers or LibreOffice.
- Formulas come out as their last calculated value, as saved in the file. Nothing is recalculated.
- Formatting, colours, merged cells and charts are not carried; a merged cell's value sits in its first cell only.
- Cells with a date format are written as ISO dates, such as 2026-10-21; other numbers come out as stored, without currency symbols or thousands separators.
What it does not do
- It does not convert CSV back to Excel.
- It does not open password protected workbooks.
- It does not upload the file.
Questions people ask
How do I convert Excel to CSV without uploading it?
Choose the .xlsx here, pick the sheet and press Download. The workbook is read by the browser on your own device, with no upload, so it suits files with private data. Saving as CSV from Excel itself also works if you have Excel installed.
Why do accents break when I open a CSV in Excel?
Excel often opens CSV files using a regional encoding rather than UTF-8, so multi byte characters are read as several wrong ones. Saving with a byte order mark, which this tool does by default, tells Excel the file is UTF-8 and the accents survive. Importing through Excel's data import with UTF-8 selected also fixes it.
Can I convert every sheet in a workbook?
One sheet at a time: pick a sheet, download it, then pick the next. A CSV holds a single table, so a workbook with several sheets always becomes several files. Each download is named after the workbook and the sheet so the files stay easy to tell apart.
Will formulas still work in the CSV?
No. A CSV holds values, not formulas. Each formula cell is written as the value Excel last calculated and saved in the file. If the workbook was edited by a tool that does not recalculate, values can be stale, so open and save it in Excel first if that matters.
Why are leading zeros missing from my postcodes?
If a column was typed into Excel as numbers, the zeros were dropped when the workbook was saved, so they are not in the file to convert. Format the column as text in Excel and retype or reimport the values, or add the zeros back in the destination system.
Collect the data with a form instead
Take what you made here into forms.
Create a form with OneCraftMore tools like this
- CSV to tablePaste CSV and read it as a sortable grid. Every column header shows its type, blanks and range, and any row with the wrong field count is named by line.
- CSV and JSON converterConvert CSV to JSON and JSON back to CSV as you type. Both panes stay live, and a fault is flagged on the line it sits on. Nothing is uploaded.
- CSV splitterCSV splitter that runs in your browser: split a large CSV into parts of N rows or into one file per column value, header repeated in every part, as a zip.
- Merge CSV filesMerge CSV files in your browser: combine 2 to 50 CSVs into one, matching columns by header name, with a source file column and optional duplicate removal.
- JSON to tableConvert JSON to a table in your browser: an array of objects becomes rows, nested keys become dot path columns, and the result downloads as CSV. No upload.
- Markdown table generatorA Markdown table generator: type into a grid or paste CSV or spreadsheet cells, set each column's alignment, and copy a padded GitHub flavoured table.
Written and checked by the OneCraft team. Last checked .