Excel to CSV
Excel to CSV Converter
Convert XLSX, XLS, XLSM, or ODS spreadsheets to CSV — pick a sheet, choose a delimiter, download one or all. Nothing is uploaded.
- Runs in your browser
- Nothing uploaded
- No sign-up
- Free, no daily limits
- 1Add your file
- 2Choose settings
- 3Download
Drop a spreadsheet here
XLSX, XLS, XLSM, or ODS — or click to browse
Max file size: 25MB · processed in your browser
100% Private: Your spreadsheet is parsed entirely in your browser — nothing is uploaded to any server.
Last updated
Extract structured tabular data from complex spreadsheet workbooks into clean comma-separated values (CSV) files without sending private files to remote servers. Modern spreadsheets store cell formulas, multi-sheet tabs, and display formatting, but database loaders, Python scripts, and API pipelines require clean plain text.
Our client-side conversion engine parses workbook sheets locally in browser memory, exports raw unformatted numbers for precision, converts date cells to UTC ISO 8601 strings, and handles multi-sheet workbooks. You can download the active sheet or export every worksheet concurrently as a ZIP bundle.
How it works
1. Upload your spreadsheet file
Drop your .xlsx, .xls, .xlsm, or .ods spreadsheet into the upload box or browse to select a file up to 25 MB from your device.
2. Select your active sheet and delimiter
Switch between detected worksheet tabs to preview records, and choose your preferred separator: comma, semicolon, tab, or pipe.
3. Export your CSV data
Click Download to save the active sheet, copy text to your clipboard, or click All (.zip) to export every sheet as an individual CSV file.
When you'd use it
Ingesting spreadsheet dumps into SQL databases
Database administrators convert client spreadsheet exports into comma-separated text files structured for bulk COPY or LOAD DATA INFILE operations.
Preparing clean inputs for Python pandas and data pipelines
Data analysts extract raw numerical arrays from multi-tab workbooks into TSV or CSV files for analysis in Jupyter notebooks and automated data workflows.
Migrating customer records into CRM platforms
Operations teams convert contact lists and inventory tables into standard CSV formats matching import specifications for HubSpot, Salesforce, or Shopify.
Generating semicolon-delimited files for European accounting tools
Financial specialists switch delimiters to semicolons so decimal comma figures parse without column misalignment in regional accounting packages.
How does the converter handle dates, numbers, and formulas?
Standard spreadsheet converters frequently rely on displayed text formatting. That causes loss of precision: a floating-point number like 3.14159 formatted as currency or two decimal places exports as 3.14, permanently discarding significant digits. Our engine runs in raw value mode by default, extracting the underlying stored number so downstream calculations remain accurate.
Date cells present a similar problem. Many tools export dates formatted according to the author's local desktop configuration, producing ambiguous outputs like 04/05/2026 that could represent April 5 or May 4. TryDocsy evaluates date cells as UTC instants and serializes them to standard ISO 8601 strings (YYYY-MM-DD for midnight dates, or full UTC timestamps).
Untrusted workbooks can also contain formula injection payloads designed to execute commands when opened in desktop applications. Any exported cell beginning with formula triggers (=, +, -, @, tab, or carriage return) is prepended with a single quote prefix (') unless it represents a plain signed number. If you need to rebuild an Excel file from CSV records, use our CSV to Excel tool.
| Cell Type | Workbook Raw Value | Display Format | Exported CSV Text | Reasoning |
|---|---|---|---|---|
| Date (Midnight) | 2024-05-18T00:00:00Z | 18/05/2024 | 2024-05-18 | ISO 8601 calendar date without time |
| Date with Time | 2024-05-18T14:30:00Z | 2:30 PM | 2024-05-18T14:30:00Z | Full UTC ISO timestamp |
| Float Number | 3.14159265 | 3.14 | 3.14159265 | Raw value avoids lossy rounding |
| Formula Cell | =SUM(A1:B10) | $450.00 | '=SUM(A1:B10) | Neutralized against DDE injection |
| Percentage | 0.255 | 25.5% | 0.255 | Underlying decimal value preserved |
Source: TryDocsy spreadsheet parser (lib/xlsx-convert.ts), checked October 29, 2026
UTF-8 byte order mark protection and multi-sheet exports
Opening standard UTF-8 text files in desktop Microsoft Excel on Windows often results in garbled text (mojibake) because Excel defaults to legacy ANSI code pages unless explicitly signaled. Our file downloader automatically prepends a UTF-8 Byte Order Mark (BOM) to generated CSV files and ZIP entries.
This ensures accented characters, currency symbols, and non-Latin text render cleanly across all versions of Excel. In contrast, clipboard copies remain clean and BOM-free so pasting text into programming editors does not insert stray hidden bytes. To transform tabular data directly into web APIs, consider converting with CSV to JSON.
When dealing with multi-sheet workbooks, TryDocsy provides individual sheet selection tabs along with an All (.zip) option. Sheet names are sanitized to prevent archive filename collisions, ensuring every table exports cleanly. For paginated printable copies of your workbook, use Excel to PDF.
When should you use a command-line tool instead?
This converter runs client-side in your browser sandbox, which protects file confidentiality. However, browser tabs have hard memory limitations. We enforce a 25 MB file limit (26,214,400 bytes) to prevent out-of-memory errors on client devices.
If you have a 500 MB database dump or a password-protected workbook that cannot be opened in the browser without credentials, command-line utilities are a better option. You can use in2csv from the csvkit package (in2csv input.xlsx > output.csv) or run headless LibreOffice (libreoffice --headless --convert-to csv input.xlsx) in automated scripts.
Frequently asked questions
Can I convert all sheets in a multi-sheet Excel file at once?
Yes. When your workbook contains multiple worksheets, click the All (.zip) button. The tool converts each sheet with your chosen delimiter, prepends a UTF-8 BOM, and bundles them into a single downloadable ZIP archive.
Why does my downloaded CSV file include a UTF-8 BOM?
Microsoft Excel on Windows opens double-clicked CSV files using legacy system ANSI code pages unless a UTF-8 Byte Order Mark is present. Adding the BOM ensures international letters and symbols render cleanly without mojibake.
How are spreadsheet dates formatted during conversion?
Date cells are converted to standard UTC ISO 8601 format. Midnight dates export as YYYY-MM-DD, while dates with specific times include the full timestamp. This avoids regional date ambiguity.
Why does the exported CSV show decimal values instead of percentages or currencies?
Our converter exports raw underlying cell values by default rather than formatted display text. This prevents loss of numerical precision, so calculations in databases and analytical scripts remain exact.
Can I convert password-protected Excel files?
No. Password-protected and encrypted spreadsheets cannot be decrypted client-side in the browser. You must open the workbook in Excel, save an unencrypted copy, and upload that copy for conversion.
How does formula injection defense protect downstream CSV users?
Cells beginning with formula characters like =, +, -, or @ can execute DDE commands or external links when opened in Excel. Our tool prepends an apostrophe to these cells so Excel displays them as plain text.

