Convert Excel to CSV

Runs on your device · Your file never leaves your device.

Turn an .xlsx workbook into a plain CSV file that any system can import. Each sheet can be exported separately, so a multi-sheet workbook does not have to be flattened by hand.

Arabic and other non-Latin text is written with correct encoding, which prevents the mangled characters (mojibake) that appear when a spreadsheet is exported carelessly and reopened elsewhere.

The conversion runs in your browser, so customer lists, payroll data and patient records stay on your device; only the optional AI column detection sends a sample of rows, and only when you press it.

How to convert Excel to CSV

  1. Drop an Excel workbook, even a large one.
  2. Pick the sheet you need if the workbook has several.
  3. Press Download CSV — each value is written as the sheet shows it, with numbers in the style you choose under Number style (1,234.56 or 1.234,56 and others), and commas and quotes inside cells are escaped properly.
  4. The CSV is saved straight away; several sheets or parts come as one ZIP.

Supported formats and limits

Input
Excel .xlsx and .xls
Output
CSV, UTF-8 with byte-order mark
Sheets
Choose one, or export each to its own file
Encoding
UTF-8, so every script and accent survives
Where it runs
In your browser; nothing uploaded unless you choose AI column detection

Not for: Keeping formulas, colours or multiple sheets in one file — CSV is plain text and holds values only.

One CSV, or one per sheet

The CSV holds every row of the sheet shown and is downloaded as the .csv itself. With several sheets, the Sheet list picks the one to convert, and the box "Every sheet of every file, each to its own file" gives one CSV per sheet, named after the file and the sheet, together in a ZIP. To cut a long sheet into parts, use the rows or size setting under Basic; /split-excel explains those settings.

How numbers and dates are written

Each value is written the way the sheet shows it. A cell with a number format keeps it: 5% is written 5%, $1,250.00 is written "$1,250.00" (in quotes, because of its comma), and a code shown as 007 is written 007. A number in the General format is written in full, so a phone number stored as 966501234567 keeps every digit and 2/3 is written 0.6666666666666666. TRUE and FALSE are written as words, and a formula as its last saved result. Number style sets the decimal and thousands marks of formatted numbers — 1,234.56, 1.234,56, 1 234,56 or 12,34,567.89 — and starts on the one this page’s language uses; a style with a decimal comma switches the column separator to a semicolon, as Excel in those languages expects.

A date keeps the format its cell uses, such as 05/01/2024 for dd/mm/yyyy or 05.01.2024 for dd.mm.yyyy. Excel's default short date is an exception: it follows the language of each computer that opens the file, so the same cell reads 1/5/24 on one and 05/01/2024 on another. Those cells are written as 2024-01-05, and 2024-01-05 18:00 when they hold a time, which every program reads the same way.

Separator, quotes and characters

The separator is a comma unless you choose semicolon, tab or pipe under Format, and lines end with a carriage return and line feed. A cell containing the separator, a quote or a line break is wrapped in quotes, with inner quotes doubled, so a,"b" is written as "a,""b""". A text cell that begins with =, +, - or @ gets an apostrophe in front, so a spreadsheet does not run it as a formula.

The CSV is UTF-8 with a byte-order mark, the marker that tells Excel the file is UTF-8, so text in every script opens intact. Text that another program had already turned into characters like "é" or "اÙ" is repaired first. Some web systems export a workbook as .xls that is really an HTML table; such files are read as a table.

Frequently asked questions

Is my spreadsheet uploaded to a server?
No — the split and the export run in your browser. The one exception is the optional Detect columns with AI button: only if you press it, the headers and a sample of rows are sent to our server and on to Google’s Gemini. Nothing is sent unless you press it.
What happens to formulas?
CSV stores values, not formulas. Each cell is exported as its calculated result, which is what importing systems expect.
Why did Arabic text look broken when I exported before?
That is an encoding problem — the file was written without the marker that tells the reader it is UTF-8. This converter writes it correctly so the text opens intact.

Related tools

More in Spreadsheets & data

This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা