Excel to CSV Converter
Convert XLSX files to CSV — pure-JS minimal XLSX parser (Office Open XML), no SheetJS dependency. Reads sharedStrings.xml, sheetN.xml, and styles.xml. Supports multiple sheets (select or convert all), cell types (string, number, date, boolean), and outputs CSV with proper RFC 4180 quoting. Download all sheets as a ZIP. 100% client-side.
About Excel to CSV Converter
Convert XLSX files to CSV — pure-JS minimal XLSX parser (Office Open XML), no SheetJS dependency. Reads sharedStrings.xml, sheetN.xml, and styles.xml. Supports multiple sheets (select or convert all), cell types (string, number, date, boolean), and outputs CSV with proper RFC 4180 quoting. Download all sheets as a ZIP. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
What does this tool do?
It parses XLSX (Microsoft Excel Open XML) files and converts each worksheet to CSV (RFC 4180). The parser reads the underlying ZIP container, then parses sharedStrings.xml (text cells), sheetN.xml (cell data), and styles.xml (number formats for dates). Cell types are preserved: strings, numbers, booleans, dates (formatted as ISO), and formulas (the cached value is read).
Does it use SheetJS or any external library?
No. We wrote a minimal pure-JS XLSX parser that reads the Office Open XML format directly. It parses the ZIP container, then walks the SpreadsheetML XML for shared strings and per-sheet cell data. The entire parser is ~400 lines and ships in the tool's bundle — no third-party dependency. ZIP entries using DEFLATE compression are decompressed via the browser's native DecompressionStream API.
How are dates handled?
Excel stores dates as serial numbers (days since 1900-01-01, with the famous 1900-leap-year bug). We read the cell's style index, look up the number format in styles.xml, and if the format looks like a date (contains 'yyyy', 'mm', 'dd', 'hh', etc.), we convert the serial back to an ISO date string (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS).
What about formulas?
When a cell contains a formula, Excel stores both the formula and the last-calculated value. We read the cached value and output it as the cell content. The formula itself is not included in the CSV (CSV doesn't support formulas). If you need formulas, use a spreadsheet editor like Excel or LibreOffice.
Can I convert multiple sheets at once?
Yes. The sheet selector lets you pick which sheet to convert (defaults to the first). Or click 'Convert all sheets' to download every sheet as a separate CSV file, bundled into a single ZIP. Each CSV is named '<workbook>_<sheet>.csv'.
What extra features does this tool have compared to others?
10 extras: (1) Drag-drop input. (2) Batch convert multiple XLSX files. (3) Sheet selector — pick which sheet to convert. (4) Stats — rows, columns, sheet count per file. (5) Preview first 10 rows before converting. (6) Custom CSV delimiter (comma, tab, semicolon, pipe). (7) Encoding detection (UTF-8 BOM). (8) Download all sheets as separate CSVs in ZIP. (9) History (localStorage — last 10 conversions). (10) Shareable URL with options.
Is my XLSX uploaded anywhere?
No. All parsing and CSV generation runs in your browser using pure JavaScript. The XLSX contents never leave your device. Only conversion summaries (filename, row count, sheet count) are saved to local history.
Why are some numbers shown in scientific notation?
Excel stores numbers as IEEE 754 doubles and renders them per the cell's number format. We output the raw numeric value (which JavaScript may serialize in exponential notation for very large or very small numbers). If you need fixed-point formatting, you'll need to apply it after conversion.
Related tools
7Z Extractor
Inspect and extract files from 7z archives. Detects the 7z signature (0x37 0x7A 0xBC 0xAF 0x27 0x1C), parses the SignatureHeader and StartHeader, lists files from the archive metadata, and extracts STORE-method files when possible. Honest about LZMA compression limitations. 100% client-side.
APK Extractor
Extract and inspect Android APK files in the browser — pure JavaScript APK (ZIP) parser. View AndroidManifest.xml (binary XML detection), list DEX files, resources, and assets, extract individual files, detect app info (package name, version) from manifest. 100% client-side.
ARJ Extractor
Inspect ARJ archives. Detects the ARJ magic (0x60 0xEA), parses header structures, lists file entries with sizes and CRCs, and extracts STORE-method files when possible. Honest about ARJ compression limitations. 100% client-side.