A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities
About this tool
The XLSX to CSV Converter uses the SheetJS library (loaded from CDN) to read Excel XLSX and legacy XLS files entirely in your browser. After parsing, you can select any sheet from a multi-sheet workbook, choose a delimiter (comma, tab, semicolon, or pipe), preview the first 100 rows in a scrollable table, and download the full CSV. Cell values containing the chosen delimiter are automatically quoted per RFC 4180. No data is ever sent to a server — all processing is client-side.
Why use it
Handles multi-sheet workbooks with a sheet picker so you never have to open Excel
Supports four delimiter options for regional CSV compatibility (comma, tab, semicolon, pipe)
Automatically quotes cells containing the delimiter per RFC 4180
All processing in-browser via SheetJS — no server upload
How to use
- Click the file picker and select an XLSX or XLS file from your computer
- If the file has multiple sheets, pick the one you want from the Sheet dropdown
- Choose a delimiter: comma for standard CSV, tab for TSV, or semicolon for European locale
- Click 'Convert' to see a preview of the first 100 rows
- Click 'Download CSV' to save the full file
- Choose a delimiter: comma for standard CSV, tab for TSV, semicolon for European locales, or pipe for log-style data
When it helps
- When you need to import Excel data into a database or tool that only accepts CSV
- When sharing data with colleagues who use non-Excel software (Google Sheets, Numbers, LibreOffice)
- When automating a pipeline that ingests CSV files
- When converting legacy XLS reports to modern CSV format
- When you need to import Excel data into a database, BI tool, or pipeline that only accepts CSV
Examples
01Multi-sheet workbook → single CSV
Inputsales.xlsx with sheets Q1, Q2, Q3, Q4 — pick Q3, comma delimiter
Expected resultQ3.csv containing only the Q3 sheet rows, comma-separated, UTF-8 with BOM
02Cells with embedded commas
InputProduct, Price\nApple, 1.50\n"Smith, John", 99.00
Expected resultProduct,Price\nApple,1.50\n"Smith, John",99.00 — names auto-quoted per RFC 4180
InputName; Amount\nMüller; 1.234,56 (German Excel) — pick semicolon delimiter
Expected resultName;Amount\nMüller;1.234,56 — preserves comma-as-decimal for Excel re-import
Inputreport.xls from a 2002 ERP system, single sheet with 5,000 rows
Expected resultreport.csv with all 5,000 rows, UTF-8 encoded, ready for database import
Tips
- If your downstream tool expects semicolon-delimited CSV (common in German/French Excel), pick semicolon to avoid double-conversion
- Tab-delimited (TSV) is the safest choice when cells contain commas in addresses or product descriptions
- Open the downloaded CSV in a plain text editor first to verify line endings and quoting before importing
- If numeric cells lose leading zeros (postal codes, phone numbers), format them as text in Excel before exporting
- For very large workbooks (50MB+), close other browser tabs to give SheetJS enough memory to parse
- When merged cells matter, unmerge them in Excel first — CSV has no concept of merged ranges
Frequently Asked Questions
Does it support both XLSX and XLS?⌄
Yes. SheetJS handles both formats. Select the file and the library auto-detects the format.
What happens to cells with formulas?⌄
SheetJS reads the computed value of formula cells, not the formula itself. The CSV will contain the calculated results.
Are merged cells handled correctly?⌄
Merged cell values appear in the top-left cell of the merge. Other cells in the merge are output as empty.
What happens to special characters or line breaks in cells?⌄
Cells containing the delimiter, double-quotes, or newlines are wrapped in double quotes with internal quotes escaped as double-double-quotes per RFC 4180.
Is there a file size limit?⌄
There is no hard limit, but large files (over 50MB) may be slow to parse due to browser memory. Consider splitting large files before converting.
Can I convert multiple sheets at once?⌄
Currently one sheet at a time. Select each sheet from the dropdown and download separately.
Glossary
- XLSX
- Microsoft Excel's modern file format based on Open XML — a ZIP archive of XML files describing sheets, formulas, formatting, and shared strings.
- XLS
- Legacy binary Excel format (BIFF) used by Excel 97 through 2003. Still occasionally produced by older systems and supported by SheetJS.
- CSV
- Comma-Separated Values — a plain-text tabular format where each line is a row and columns are separated by a delimiter, defined loosely by RFC 4180.
- Delimiter
- The character used to separate fields in a CSV row. Comma is standard, tab is used for TSV, and semicolon is common in European locales where comma is the decimal separator.
- UTF-8 BOM
- A three-byte byte-order mark (EF BB BF) prefixed to UTF-8 files. Excel uses it to detect UTF-8 encoding and avoid mojibake on accented characters.
- RFC 4180
- The IETF informational standard that defines CSV quoting rules: fields with delimiters, quotes, or newlines must be enclosed in double quotes, and embedded quotes must be doubled.
- Sheet
- A single tabular worksheet inside an Excel workbook. A workbook may contain many sheets; CSV represents only one at a time.
- Cell Formula
- An Excel expression like =SUM(A1:A10) that computes a value. SheetJS reads the cached computed value, not the formula text, when exporting to CSV.