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
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
| Delimiter | Extension | When to use |
|---|---|---|
| , (comma) | .csv | Default for English-locale systems, most APIs and databases |
| ; (semicolon) | .csv | Default in European locales (where , is the decimal separator) |
| \t (tab) | .tsv | Data that contains commas; pasting directly from/to spreadsheets |
| | (pipe) | .csv | Legacy 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"