Convert Excel to CSV
Turn any sheet of an Excel or OpenDocument workbook into a clean CSV file — values exactly as Excel shows them, or raw numbers and ISO dates, with the delimiter and encoding your import expects.
- Never stored
- No queue, no waiting
- No signup, no watermark
How it works
Add your workbook
Drop an .xlsx, .xls or .ods file. Every sheet appears as a tab with a live preview.
Choose the format
Comma, semicolon or tab; UTF-8, or UTF-8 with BOM so Excel reopens accents correctly; values as shown or raw.
Download
One sheet as a .csv file, or every sheet at once in a ZIP.
What the CSV actually contains
"As shown" does not ask Excel what a cell looks like — it re-renders the number format here, with our own implementation of Excel's format codes, because the usual library gets hundreds of real-world formats wrong. The exception is a file that already carries its display text: an OpenDocument sheet, or one of the HTML tables that web apps name .xls, where the stored text is used as it stands. Dates never leave as serial numbers in either mode. The workbook's own epoch flag is read, so a file written by the old Mac Excel is shifted the 1,462 days it needs, and the day Excel believes existed — 29 February 1900 — is reproduced exactly where it belongs rather than sliding everything after it by one.
Three defaults are worth checking before you hand the file to something else. The delimiter starts as whatever your browser's locale implies, so a machine set to a comma decimal mark offers you semicolons. Lines end with a carriage return and a line feed unless you choose otherwise, and there is always a line break after the last row. Quoting is minimal — a field is quoted only when it contains the delimiter, a quotation mark, a line break, or leading or trailing spaces — with one special case: a first cell reading "sep=" is quoted so that Excel does not mistake your data for a delimiter instruction.
Merged cells resolve one of two ways and the default is the quieter one: only the top-left cell of a merge carries the value, and the rest come out empty. Booleans are written as TRUE and FALSE whichever mode you pick, and a cell holding an error comes out as its error text. Nothing is done to defuse a cell that begins with an equals sign. A CSV written here reproduces that text exactly as the workbook held it, so if the sheet came from somewhere you do not trust, the formula is still a formula to whatever opens the file next — which is a property of CSV rather than of this tool, and a reason to open an unknown export in a viewer first.
When you want something else
The workbook is read in full, with a ceiling of 200 MB on the file and a stop if its compressed contents claim to expand past two gigabytes. Past that, and for anything on a schedule, the answer is a desktop tool rather than the page: LibreOffice in headless mode converts a sheet to CSV in one command. For pulling one column out of a hundred-megabyte extract without materialising the rest, qsv and Miller read and write CSV as a stream.
And if the destination is a database or a pipeline rather than a person, ask whether CSV is the right target at all. It cannot record its own delimiter, its decimal mark or its encoding, which is why every CSV import begins with three questions nobody should have to answer. Parquet keeps the types, JSON Lines keeps the structure, and both are read directly by DuckDB, pandas and everything else that was going to load your CSV anyway.
Frequently asked questions
Is my spreadsheet stored anywhere?
No. The workbook is never stored and nothing is sent anywhere — which matters for payrolls, customer lists and anything else you would not hand to a website.
What happens with several sheets?
A CSV file holds one table, so each sheet becomes its own CSV. Pick the sheet you want, or download all of them together in a ZIP. Hidden sheets are listed too, and marked as hidden.
Will dates and numbers look the way they do in Excel?
"As shown" writes exactly the text Excel displays — 15/03/2024, 1,234.50, 12% — which is what Excel's own Save As CSV does. "Raw values" writes plain numbers and ISO 8601 dates such as 2024-03-15, which databases and code read without guessing.
Why does my CSV show strange characters when I open it in Excel?
Excel reads a CSV in your computer's old regional encoding unless the file starts with a byte-order mark. Choose "UTF-8 with BOM" and accents, Cyrillic, Arabic, Chinese and emoji open correctly. Plain UTF-8 is the better choice for databases and programming.
Comma or semicolon?
In countries that write decimals with a comma — most of Europe and South America — Excel expects semicolons between fields. Choose semicolon for those, comma everywhere else, or tab when your data is full of both.
What about formulas, merged cells and hidden rows?
Formulas are written as their calculated results. A merged cell keeps its value in its first cell, or can be repeated into every cell of the merge. Hidden rows and columns are included unless you choose to leave them out.
Good to know: CSV stores values only — cell formatting, formulas, charts and images are not part of the format. Password-protected workbooks must have their password removed first.
Put this tool on your website
Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.