Why convert XLSX to CSV?
- To feed a script. Pandas, R, jq, awk, Postgres COPY — every data tool reads CSV natively, no Excel parser required.
- To diff. CSV is plain text, so you can `diff` two exports, drop them into git, and see exactly which rows changed.
- To shrink. A CSV is usually 5–20× smaller than the XLSX it came from. No styling, no XML wrapper, just values.
- To import. BI tools, analytics warehouses, and most legacy databases prefer CSV over XLSX for bulk loads.
What's preserved (and what isn't)
CSV is a values-only format. The trip is faithful to the data and aggressive about everything else:
- Cell values. Numbers, dates, text, and booleans all carry through as their displayed string form.
- Formula results. Formulas are exported as their last cached value — what Excel or LibreOffice computed and saved into the file the last time it was opened. If you generated the XLSX programmatically and never opened it, formula cells will be empty. Open the file in Excel once, save, and re-upload.
- UTF-8. Output is UTF-8 with a byte-order mark (BOM), so Excel-on-Windows opens accents, em-dashes, and non-Latin scripts cleanly instead of showing mojibake.
- Your choice of sheets. CSV has no concept of "sheets", so pick in the Sheets option: First sheet (the default) exports the active tab as one CSV; All sheets exports every tab as its own CSV, numbered in workbook order and delivered as a ZIP. If you need one specific sheet that isn't first, move it to position one in Excel before uploading.
- What's dropped: formatting (colors, fonts, borders), merged cells (top-left value kept, others empty), conditional formatting, charts, pivot tables, comments, named ranges, and macros. CSV literally cannot represent any of it.
How it works
- Use the converter above. No signup required.
- Drop your XLSX files. Drag and drop one or more Excel spreadsheets into the upload box (up to five files, 20 MB each).
- Choose CSV as the output. Pick CSV from the dropdown, then choose First sheet or All sheets (a ZIP with one CSV per sheet). Formulas come through as their cached results.
- Convert and download. Click Convert; a download link appears for each CSV as it finishes. Output is UTF-8 with BOM, comma-delimited, RFC 4180-style quoting.
Good for
- Loading Excel exports into pandas, R, Julia, or a Jupyter notebook.
- Bulk-importing rows into Postgres, BigQuery, Snowflake, or any other warehouse.
- Versioning tabular data in git, where a binary XLSX would be opaque.
- Sending a clean data file to a colleague who doesn't have Excel installed.
FAQ
What happens to multiple sheets in my Excel file? You choose. The default exports only the first (active) sheet — CSV itself is a single-table format. Switch the Sheets option to All sheets and every tab is exported as its own CSV, named after the sheet and numbered in workbook order, delivered together as a ZIP. A single-sheet workbook always comes back as a plain CSV, never a one-entry ZIP.
Are my formulas converted, or do they break? Formulas are exported as their last cached result — the value Excel or LibreOffice computed and saved into the file. If the spreadsheet was generated by a script and never opened in a real spreadsheet app, formula cells may come out empty. The fix is to open the XLSX in Excel once, hit save, then re-upload.
Does it handle UTF-8 and special characters? Yes. Output CSV is UTF-8 with a byte-order mark (BOM), which is the form Excel-on-Windows expects. Accents, em-dashes, currency symbols, and non-Latin scripts all survive. If a downstream tool insists on a BOM-free file, strip the first three bytes.
Can I keep cell formatting, colors, or merged cells? No — CSV is values only. Cell colors, borders, fonts, conditional formatting, and charts are all dropped. Merged cells write the value in the top-left cell only, the rest are empty. If formatting matters, convert to PDF instead.
Is the XLSX to CSV conversion free? Yes. No signup, no payment, no watermark. Free for personal and commercial use, up to five files per upload at 20 MB each.
Related
- CSV → XLSX → the reverse trip, into Excel
- XLSX → PDF → when formatting matters more than the data
- CSV → PDF → a tidy printable table from plain rows
- PDF → DOCX → extract editable text from a finalized report
- CSV → JSON → feed the same rows to an API or script
- Bank statement → Excel → pull transactions from a PDF statement into a sheet
- XLSX → JSON → records for an API or script instead of flat rows