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.
- First sheet only. CSV has no concept of "sheets" — only the active sheet (usually the first tab) is exported. If you need a different sheet, 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
- Open the converter. Go to the Formatly converter — 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. Only the first sheet is exported; 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? Only the first (active) sheet is exported. CSV is a single-table format and has no notion of multiple sheets. If you need a specific sheet other than the first, open the file in Excel or Google Sheets, move that sheet to position one, and re-upload. Multi-sheet export to a ZIP of CSVs is on the roadmap.
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