Only one sheet fits in a CSV
CSV has no concept of multiple sheets. Pick the sheet you need; if you need several, convert the workbook once per sheet.
You do not need Excel installed to get a CSV out of an .xlsx file. This converter unzips the workbook, reads the sheet you pick, and writes a clean delimited file — useful when you are on a machine without Office, or automating a handoff.
Reading Excel
Auto-detect reads the first rows and picks the separator that splits them consistently.
Turn off when the file starts straight into data. Columns are then named column_1, column_2, and so on.
Turns "42" into a number and "true" into a boolean. Values with leading zeros stay text so IDs and zip codes survive.
Which worksheet to convert. Filled in once the workbook is read.
Dotted path to the array of records, such as data.items. Leave empty to use the whole document.
Turns {"user":{"id":7}} into a user.id column. Arrays are kept as JSON text.
Pick the encoding the file was written in. Wrong encoding shows up as garbled accents.
Comma-separated words that should become null instead of text.
Writing CSV
Snappy is the default across Spark, DuckDB and pandas. Gzip is smaller but slower to read.
Turns a user.id column back into {"user":{"id":7}}.
Excel needs a byte order mark to open UTF-8 files with accents correctly.
Rows per row group. Larger groups compress better; smaller groups let readers skip more.
conversion-preroll
This short ad is what keeps the converter free.
Spreadsheet workbooks with sheets, formatting and cell types. Plain text rows that open anywhere, with no types and no schema.
| Excel | CSV | |
|---|---|---|
| Type information | Per cell — text, number, date, boolean | None — every value is text |
| Structure | Sheets of rows and columns | Flat rows and columns |
| Compression | Zipped XML | None |
| Typical file size | Smaller than CSV, larger than Parquet | Baseline (100%) |
| Schema | None beyond the header row | Header row at best |
| Human-readable | Only in a spreadsheet app | Yes, in any text editor |
| Tool support | Excel, Google Sheets, LibreOffice | Universal |
CSV has no concept of multiple sheets. Pick the sheet you need; if you need several, convert the workbook once per sheet.
The converter reads the cached value Excel stored, not the formula. That is almost always what you want, but a workbook saved by a tool that did not compute values may show blanks.
Colours, merged cells, column widths and conditional formatting do not exist in CSV. A merged cell contributes its value once and leaves the covered cells empty.
Most command line tools and bulk importers read CSV and have no .xlsx support.
A browser is enough. No licence and no LibreOffice install required.
CSV diffs line by line in Git. A binary .xlsx does not diff at all.
sticky-bottomYour file is downloading
post-conversion