Convert Excel (.xlsx) to CSV
Every importer wants CSV; every export you’re handed is .xlsx. The conversion looks trivial — Excel’s own Save As does it — but that path drags in Excel’s regional quirks: on European systems the “CSV” comes out semicolon-separated with comma decimals, dates get written in whatever format your locale fancies, and older Excel versions save accented text in a legacy encoding that breaks downstream parsers.
Converting here is deterministic instead: drop the workbook, pick the sheet, download a clean UTF-8, comma-separated file. Dates stored as Excel serials come out as readable ISO-style dates (the styles part of the workbook is parsed to know which numbers are dates), booleans come out as TRUE/FALSE, and the whole thing happens locally — the workbook is never uploaded.
Preset: drop an .xlsx and the CSV export panel opens, set to comma.
Drop a CSV, TSV or Excel file here
.csv · .tsv · .txt · .csv.gz · .xlsx — files up to 4 GB open here, in your browser. Nothing is uploaded; the file is read in place on your device.
Filters combine with AND. Use the search box for a quick any-column match. Regex filters use JavaScript syntax.
Untick to hide a column (hidden columns are left out of exports). Type to rename — renames apply to exports too.
Exports include your filters, sort, edits and cleanups. Hidden columns are left out; renamed headers apply. The file is generated on your device — nothing is sent anywhere.
How it works
- Drop the .xlsx workbook and pick the sheet in the toolbar.
- Check the preview grid — dates readable, text intact.
- The CSV export panel is open: choose comma (default), semicolon, tab or pipe.
- Download. Repeat per sheet for multi-sheet workbooks.
The three Excel-to-CSV traps this avoids
The semicolon surprise: Excel writes “CSV” using the Windows list separator, which is a semicolon in most of Europe (because the comma is the decimal separator there). Files made that way then fail to parse on comma-expecting systems. Here you pick the delimiter explicitly, whatever your locale. The date lottery: Save As writes dates in a locale display format (“03/04/2025” — which month is that?). Here, date cells convert to unambiguous year-first form. The encoding relic: older Excel “CSV” saves in a legacy Windows encoding, turning “José” into “José” or worse downstream; output here is always UTF-8.
One honest caveat: what’s exported is each cell’s stored value. Formula cells export their last computed value (that’s what the workbook contains), and Excel’s display rounding is not applied — if a cell shows 4.9 but stores 4.9000000000000004, you get the clean 4.9 only because float noise is normalized, not because display formats are simulated.
Good to know
- Multi-sheet workbooks convert one sheet at a time — the dropdown switches sheets without re-dropping the file.
- If the destination is Excel again (a colleague, say), consider keeping .xlsx — CSV drops types and the roundtrip is where mangling happens; the CSV-vs-Excel guide covers when each makes sense.
- Hidden rows/columns in the workbook are data and will export — hide columns in the Columns panel here if you want them out.
Frequently asked questions
Which sheet gets converted?
Whichever you pick — the toolbar lists every sheet in the workbook and defaults to the first. Each sheet exports as its own CSV file.
Why do my dates show as numbers like 45292 in other converters?
Excel stores dates as serial day-counts and marks them as dates only via cell styles. Converters that skip the styles part dump the raw serials. This one reads the styles, so date-formatted cells convert to readable dates — and unformatted number cells correctly stay numbers.
Are formulas preserved?
CSV has no formulas — each formula cell exports the value it last computed in Excel (which is stored in the file). If a workbook was saved before its formulas recalculated, the stored values are what you get.
Can I convert a password-protected workbook?
No — protected workbooks are encrypted end to end. Remove the protection in a spreadsheet app first; there’s no way (and shouldn’t be) around the encryption from outside.