Free Excel to CSV Converter

A 100% browser-based Excel to CSV converter — accepts .xls and .xlsx, merges every sheet into one CSV, values not formulas, no upload.

Formats involved

Excel

Microsoft Excel Worksheet (XLS/XLSX). A spreadsheet format that stores data in cells organized by rows and columns. Supports formulas, formatting, and multiple sheets.

CSV

Comma-Separated Values. A plain text format for tabular data. Each row is a line, and columns are separated by commas. Universally compatible with spreadsheets, databases, and programming languages.

Converting Excel to CSV, Step by Step

Three steps in your browser — no install, no upload, no account.

Step 1

Drop in your .xls or .xlsx

Drag a .xls or .xlsx file onto the upload area or click to browse. The file stays on your device — nothing is uploaded to a server.

Step 2

Convert in the browser

SheetJS parses the workbook locally, merges every non-empty sheet into one CSV separated by a blank row, and writes cell values — no queue, no waiting.

Step 3

Download your CSV

Click download to save a plain UTF-8 CSV to your device. Open it in Excel, Google Sheets, Numbers, or any text editor — nothing was uploaded at any step.

What Sets This Excel to CSV Converter Apart

Private by Design

SheetJS parses your Excel file in your browser — nothing is uploaded, unlike tools that say "in your browser" but still POST the file to a server.

Multi-Sheet, One CSV

Every non-empty sheet is concatenated into a single CSV separated by a blank row; empty sheets are skipped, not padded with placeholders.

Reads .xls and .xlsx

Drop a legacy .xls (Excel 97–2003) or a modern .xlsx (Excel 2007+) — both parse the same way, with no separate converter for each.

Values, Not Formulas

Computed results come through as their values; formula text, formatting, charts, and macros are stripped because CSV is plain text.

Drop, Convert, Download

Drag a file up to 100 MB onto the page (or click to browse) — no signup, no account, no usage limits, free forever.

No Install, Any Device

Runs in any modern browser on Windows, Mac, Linux, or your phone — no Excel install, no plugin, no setup.

Excel to CSV: Frequently Asked Questions

Drop your .xls or .xlsx onto the upload area above, let the browser convert it, and click Download to save the CSV. There is no signup and no upload — the whole flow runs on your device. When you need to convert CSV back to Excel, the same browser-based flow works in reverse.
CSV is plain text, so everything visual is stripped — formatting, formulas, charts, and macros are gone. What survives is the cell values themselves, written as comma-separated text. This converter writes the computed result of each formula, not the formula text behind it.
Every non-empty sheet is converted and all of them are concatenated into one CSV, with a blank row separating each sheet's data; empty sheets are skipped entirely. That differs from Excel's own "Save As CSV," which exports only the active sheet, and from converters that return a ZIP of separate CSVs — here you get one merged file.
The computed result of each formula comes through, not the formula text — because CSV has no formula language, only static values. A cell that shows 100 from =SUM(A1:A10) lands as 100 in the CSV. Formatting, charts, and macros do not carry over either; CSV simply has no place for them.
No. The CSV is plain UTF-8 with no byte-order mark (BOM) — the standard, portable encoding that any modern editor or spreadsheet can read. The honest caveat: if you double-click a no-BOM CSV in older Excel on Windows, that Excel may assume ANSI and garble accents or CJK characters. The fix is Excel's Data → From Text/CSV import wizard, which lets you confirm UTF-8 before the data loads.
.xls is the legacy binary Excel 97–2003 format; .xlsx is the modern Open XML format introduced in 2007 and the default in current Excel. Both work here — drop either one and the converter parses it the same way. .xlsx supports about 1,048,576 rows per sheet versus 65,536 in .xls, which is why .xlsx is preferred for new work.
The maximum file size is 100 MB — larger files are flagged before conversion starts. That cap is smaller than some upload-based tools (1 GB), but those send your file to a server; here the file stays on your device. Real-world speed depends on your machine, since everything runs in your browser.
Your Excel file is parsed in your browser by SheetJS and never uploaded to a server — there is nothing to store, intercept, or auto-delete later. Some converter pages say the conversion "runs entirely in your browser" while still uploading your file for server-side processing; this one actually stays on your device.
CSV itself has no row limit — it is plain text — but an .xlsx worksheet tops out at 1,048,576 rows by 16,384 columns, and that is effectively the ceiling on what an Excel-to-CSV export can contain. If your workbook is near that limit, expect a proportionally large CSV. For two large sheets you need to check against each other, you can also compare two Excel files side by side.
The output uses a comma as the delimiter, which is the standard CSV assumption in most English-locale tools. Some European locales use a semicolon instead — Excel on those systems may render the comma-delimited file with all values crammed into a single column. If that happens, use Excel's Data → From Text/CSV import wizard to pick the right separator.
It depends on what you mean by "format." The cell values themselves are preserved exactly, but CSV has no styling, so fonts, colors, borders, number formatting, and multi-sheet structure do not survive — that is a property of CSV, not of this converter. If you need to keep the workbook intact with all formatting, stay in .xlsx; if you need to spot rows present in one sheet but not another, you can match values across two columns instead.
Convert when you need to move data into a system that only reads plain text — a database import, an API upload, a stats tool, or a different spreadsheet app. CSV is the lowest-common-denominator format for tabular data. If your source is JSON instead of a workbook, you can do the same round-trip with the JSON to Excel converter; and if you are hunting differences across two finished sheets, you can reconcile two Excel sheets directly.