Excel to CSV Converter

Upload an Excel file (.xlsx) or paste tab-separated data from Excel (Ctrl+C → Ctrl+V here). Convert and download as clean CSV.

Input Data

CSV Output

CSV output will appear here…

Frequently Asked Questions

What file formats are supported?

You can upload .xlsx, .xls, or .ods Excel files directly — no need to open Excel first. You can also upload .csv or .tsv files, or paste tab-separated data copied from Excel.

Is my data sent to a server?

No. All processing is done in your browser. Your file and data never leave your device.

Can I choose the CSV delimiter?

Yes. You can output as comma-separated (,), semicolon-separated (;), or tab-separated (TSV) format.

How do I open the CSV in Excel?

Save the CSV file and open it in Excel. If columns don't split correctly, use Data → Text to Columns in Excel and choose the appropriate delimiter.

Why Export to CSV?

CSV (Comma-Separated Values) is the lingua franca of data exchange. Because it is plain text, it is read by virtually every programming language, database, and analytical tool without a special library. The common scenarios for exporting Excel data to CSV:

  • Import data into a database (MySQL LOAD DATA INFILE, PostgreSQL \COPY).
  • Feed data into a Python/R/Julia data pipeline (pandas, tidyverse).
  • Upload product catalogs, contact lists, or price lists to a SaaS platform.
  • Version-control spreadsheet data in Git (CSV diffs are readable; XLSX binary diffs are not).

Choosing the Right Delimiter

DelimiterExtensionWhen to use
, (comma).csvDefault for English-locale systems, most APIs and databases
; (semicolon).csvDefault in European locales (where , is the decimal separator)
\t (tab).tsvData that contains commas; pasting directly from/to spreadsheets
| (pipe).csvLegacy data warehouses and ETL pipelines

Quoting Rules (RFC 4180)

If a cell value contains the delimiter, a double quote, or a newline, the value must be enclosed in double quotes:

// Cell value: She said, "Hello"
// Correct CSV: "She said, ""Hello"""

// Cell value: Line 1
Line 2
// Correct CSV: "Line 1
Line 2"