This Excel to CSV converter turns any sheet of an XLSX, XLS or ODS workbook into a CSV file. Choose the sheet and the separator, check the preview and download, all in your browser.
How to use the Excel to CSV Converter
- 1 Drop your Excel file on the box or click to choose it.
- 2 If the workbook has several sheets, pick the one you need, then choose the separator.
- 3 Check the preview and click Download .csv, or copy the text.
Worked examples
Input: prices.xlsx with columns Product, Price
Result: Product,Price / Notebook,2.50
Numbers keep the formatting you see in Excel.
Input: Separator: semicolon
Result: Product;Price / Notebook;2,50
Use a semicolon when the CSV will be opened by Excel set to a language that uses a decimal comma.
How to convert Excel to CSV
A CSV (comma-separated values) file stores one sheet as plain text: one line per row, with the cells separated by a comma. Almost every program can read it, which is why databases, mailing tools, accounting software and online stores ask for CSV imports.
The converter reads your workbook with SheetJS, a widely used spreadsheet library, and writes each row of the chosen sheet as a line of text. Values are written the way Excel displays them, so a price shown as 2.50 stays 2.50 and dates keep their format. Cells that contain the separator, quotes or line breaks are wrapped in quotes, so the file opens correctly elsewhere.
Comma, semicolon or tab?
- Comma is the standard and works for most imports.
- Semicolon is what Excel expects in countries where the decimal separator is a comma (much of Europe). Use it if the file will be opened in Excel there.
- Tab produces a TSV file, which is handy when your data itself contains many commas.
Accents and special characters
The download is UTF-8 encoded. With the "UTF-8 marker" option ticked, a byte-order mark is added at the start of the file so Excel shows accented letters such as é, ü and ñ correctly instead of garbled characters. Untick it if the file is for a program that does not expect the marker.
What is not converted
A CSV file holds values only. Formulas are exported as their results, and formatting, colours, charts, images and merged cells are left out. Each sheet becomes its own CSV file, so convert the sheets one at a time.
Private by design
The file is read and converted by your own browser. Nothing is uploaded to a server, so it is safe to use with customer lists, finance exports and other internal data. Large files simply take a moment longer on a slower computer.
Frequently asked questions
How do I convert an Excel file with several sheets?
Choose the sheet in the Sheet list and download it, then pick the next sheet and download again. Each sheet becomes its own CSV file.
Why do accents look wrong when I open the CSV in Excel?
Excel needs a UTF-8 marker to recognise the encoding. Keep the "Add a UTF-8 marker" option ticked and the accents will show correctly.
Are formulas kept?
No. CSV stores values only, so each formula is exported as the result Excel calculated.
Is my spreadsheet uploaded?
No. The file is read and converted in your browser and never leaves your device.
Can it open old .xls files?
Yes. XLSX, XLS, XLSM, XLSB and OpenDocument (ODS) files are all supported.
Related tools
CSV to Excel Converter
Convert CSV to an Excel XLSX file. The separator is detected automatically, numbers stay numbers and leading zeros are kept.
Excel to JSON Converter
Convert an Excel sheet to JSON: an array of objects keyed by the header row, or an array of rows. Numbers and dates keep their types.
JSON to Excel Converter
Convert JSON to Excel or CSV: arrays of objects become rows and columns, nested fields are flattened into dot-named columns.
Excel to HTML Table Converter
Convert an Excel sheet into clean HTML table code with a header row, ready to paste into a website, email or CMS.
CSV Delimiter Converter
Change the separator of a CSV file: comma to semicolon, semicolon to comma, or to tab and pipe, with correct quoting.
CSV Column Filter & Duplicate Remover
Keep only the CSV columns you need and remove duplicate and empty rows, with case-insensitive matching.