Convert

Excel to CSV Converter

Drop an .xlsx or .xls workbook and get back a clean, UTF-8 CSV. No upload, no signup, runs in your browser.

Excel is great for editing, but a terrible interchange format. The moment you try to load an .xlsx file into a database, a Python script, a BI tool, or anyone else's pipeline, you'll wish it were a CSV. This converter takes a workbook and gives you back exactly that — one comma-separated text file, UTF-8 encoded, with the values you can actually see in the cells.

Under the hood we use the same parser SheetCompare's diff product runs on, so you get cached formula results (not the formula source), proper handling of dates and numbers, and clean output that imports cleanly into Postgres, BigQuery, pandas, R, or anything else that expects a real CSV.

How it works

Three steps, no signup

  1. 1

    Drop your Excel file

    Drag a .xlsx or .xls workbook into the box, or click to pick one. We accept both modern and legacy Excel formats.

  2. 2

    We read the first sheet

    The first sheet of the workbook is read into memory. Headers are detected from row 1. Formula cells are exported as their last calculated value.

  3. 3

    Download the .csv

    A UTF-8 CSV is generated and ready to download. Open it in any text editor, or load it straight into your database, script, or BI tool.

FAQ

Frequently asked questions

What happens if my workbook has multiple sheets?
Only the first sheet is converted. Excel-to-CSV is fundamentally a one-sheet-at-a-time operation — CSV has no concept of multiple sheets, so we don't try to fake it. If you need every sheet, open the workbook in Excel, switch to each sheet, and re-run the converter on each. Or use SheetCompare's full app, which works directly with multi-sheet workbooks.
Do I get the formulas or the calculated values?
You get the calculated values — the actual numbers and text Excel last computed and cached when the workbook was saved. CSV has no notion of formulas, so the source `=SUM(A1:A10)` would be meaningless in the output. If a workbook was never opened in Excel after edits, cached values may be stale; re-save in Excel before converting.
What about dates? Will I get serial numbers like 45292?
No. Dates are written out in their human-readable form, not as the underlying Excel serial number. If a cell shows "2026-05-13" in Excel, that's what lands in the CSV — not a five-digit integer. Custom date formats are normalized to ISO-style strings where possible.
Is the output UTF-8 with or without a BOM?
We write UTF-8 without a byte-order mark by default — that's what databases, command-line tools, and most modern parsers expect. If you specifically need a BOM (Excel on Windows sometimes wants one to detect UTF-8 correctly), open the resulting CSV in Excel via Data > From Text and set the encoding manually, or re-save it from a text editor with a BOM.
What delimiter does it use?
Comma. Always. If you need tab-separated output for a tool that prefers TSV, use the CSV-to-TSV converter (or the TSV exporter in the SheetCompare app). Field values that contain commas, quotes, or newlines are quoted and escaped per RFC 4180 so any compliant parser will read them back correctly.
What happens to merged cells, colors, and formatting?
All gone. CSV is a plain-text format — there's no place to store cell colors, fonts, borders, or merged-cell metadata. Merged cells are unmerged: the value lives in the top-left cell of the original merge, the rest become empty. Conditional formatting, charts, and pivot tables aren't represented in the output at all.
Is my workbook uploaded anywhere?
No. The conversion runs entirely in your browser via JavaScript — your file never leaves your device. There's no server we could see it from. Close the tab and the file is gone from memory.

Need to compare two files?

Drop two spreadsheets and see every change in seconds. Free, private, runs in your browser.