AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I convert an Excel file to CSV?

Drop your .xlsx or .xlsm workbook into AnyTool Excel to CSV and it parses every sheet in your browser with the exceljs engine. Tick the sheets you want, pick a delimiter, line ending and encoding, then download a single CSV or all sheets at once as a ZIP. The file never leaves your device — there is no upload, no signup and it keeps working offline.

  • Converts every worksheet in the workbook — choose one, several or all
  • Comma, semicolon, tab or pipe delimiter, with LF or CRLF line endings
  • UTF-8 (with optional BOM for Excel), UTF-16 LE or Windows-1252 output
  • Keeps formula results, types dates as ISO and escapes fields per RFC 4180
  • 100% in your browser — nothing is uploaded, works offline after first load

What is

Excel to CSV Conversion

Converting Excel to CSV means extracting the cell grid of an .xlsx (Open XML) worksheet and writing it as plain comma-separated values — one line per row, fields separated by a delimiter and quoted where needed. Because a workbook can hold many sheets but a CSV file holds only one table, each worksheet becomes its own CSV file.

Converters

Related terms

XLSXCSVDelimiterRFC 4180CSV to Excel

Frequently Asked Questions

No upload. The workbook is parsed in your browser and never sent to a server.

AnyTool Excel to CSV reads your file with the browser File API and parses it locally with the exceljs library, so the spreadsheet never leaves your device. There is no upload, no account and no tracking, which matters when a workbook holds financial, personal or business data. The page also works offline after the first load.

Yes. Every sheet is listed; pick any and download them together as a ZIP.

A CSV file can only hold one table, so each worksheet is converted separately. The tool lists every sheet with its row and column counts, lets you select all or just the ones you need, and downloads a single CSV for one sheet or a ZIP containing one CSV per sheet when you pick several.

Comma and UTF-8 with a BOM is safest for Excel; use semicolon for European locales.

You can choose comma, semicolon, tab or pipe as the delimiter — semicolon suits European Excel where comma is the decimal mark. For encoding, UTF-8 with a BOM opens cleanly in Excel and keeps accented or non-Latin characters intact; UTF-16 LE and Windows-1252 are available for legacy tools. Line endings can be CRLF (Windows) or LF (Unix).

Formula results are exported, dates default to ISO format, and you can quote every field.

CSV has no formula concept, so calculated cells are written as their last evaluated value. Dates export as ISO (YYYY-MM-DD) by default, with locale or Excel serial-number options. Every field is escaped per RFC 4180, and a "quote every field" option helps preserve long IDs and leading zeros when the target program would otherwise reinterpret them as numbers.

Detailed Explanation

Methodology

How the Excel to CSV Converter Works

AnyTool Excel to CSV runs entirely in the browser. The dropped .xlsx or .xlsm file is read with the File API and parsed by a dynamically-imported exceljs Workbook — no bytes are sent to a server. Each worksheet is walked row by row and cell by cell: formula cells are written as their cached result, dates are formatted (ISO by default, or locale / Excel serial), booleans become TRUE/FALSE, and rich-text and hyperlink objects are flattened to their text. Every field is then escaped per RFC 4180 — wrapped in double quotes and internal quotes doubled — whenever it contains the delimiter, a quote or a line break, and the rows are joined with the chosen delimiter and line ending.

  • Parsing is done locally with exceljs — the file is never uploaded
  • Supports .xlsx, .xlsm, .xltx and .xltm (legacy .xls and .ods are not parsed)
  • Formula cells export their last evaluated result, not the formula text
  • RFC 4180 escaping: fields with delimiter, quote or newline are quoted
  • Output up to a 100 MB input cap, with a 50-row live preview per sheet
Use Cases

Multiple Sheets, Delimiters and Encodings

A CSV file holds a single table, so a multi-sheet workbook is split into one CSV per worksheet. Every sheet is listed with its row and column counts and can be individually toggled; selecting one downloads a single .csv, while selecting several bundles them into a ZIP with JSZip. The delimiter can be comma, semicolon, tab or pipe, line endings CRLF or LF, and the encoding UTF-8 (with an optional BOM so Excel reads Unicode correctly), UTF-16 LE or Windows-1252. Further options skip fully empty rows, quote every field, choose the date format and keep Excel-formatted numbers such as currency.

  • One CSV per worksheet; multi-sheet selections download as a ZIP
  • Delimiters: comma, semicolon, tab or pipe
  • Encodings: UTF-8 (optional BOM), UTF-16 LE, Windows-1252
  • Options: skip empty rows, quote all fields, date format, keep formatted numbers
  • Each sheet previews live and can be copied to the clipboard
Privacy & Security

Privacy and Offline Use

Because the workbook is parsed and the CSV written in the browser, no spreadsheet data is transmitted, stored or logged — important for files containing financial figures, personal records or proprietary data. There is no account, no watermark and no upload limit beyond the in-memory 100 MB guard, and the converter keeps working offline after the first load.

Excel to CSV: in-browser (AnyTool) vs typical online converters
CapabilityAnyToolTypical online converters
ProcessingRuns in your browser (exceljs)Usually uploaded to a server
PrivacyFile never leaves the deviceFile transmitted and often stored
Multiple sheetsEvery sheet selectable, ZIP downloadOften first sheet only or paid
Delimiter / encodingComma/semicolon/tab/pipe, UTF-8·UTF-16·1252Frequently comma + UTF-8 only
Formula & date handlingResults exported, ISO/locale/serial datesInconsistent
Works offlineYes, after first loadNo
Cost / signupFree, no signupOften gated, capped or ad-heavy

AnyTool parses the workbook and writes every CSV entirely in the browser and uploads nothing.