Skip to content
ALL DEVELOPER TOOLS56
JSON FormatterTXT → JSONJSON to CSVJSON → CSVCSV to JSONCSV → JSONSQL FormatterSQL → SQLMarkdown to HTMLMD → HTMLHTML to MarkdownHTML → MDXML FormatterXML → XMLBase64 Encode/DecodeTXT → B64URL Encode/DecodeTXT → URLJWT DecoderJWT → JSONHTML Entity Encode/DecodeTXT → HTMLUUID Generator— → UUIDPassword Generator— → TXTHash GeneratorTXT → HASHLorem Ipsum Generator— → TXTQR Code GeneratorTXT → PNGColor Picker & Converter— → HEXCSS Gradient Generator— → CSSBox Shadow Generator— → CSSRegex TesterTXT → MATCHCron Expression GeneratorTXT → CRONTimestamp ConverterNUM → DATEText DiffTXT → DIFFText Case ConverterTXT → TXTWord CounterTXT → STATSSubtitle ConverterSUBS → SRT · VTT · ASSYAML to JSONYAML → JSONJSON to YAMLJSON → YAMLYAML FormatterYAML → YAMLJSON MinifyJSON → JSONSort & Dedupe LinesTXT → TXTLine Ending ConverterTXT → CRLF · LF · CRXLSX to CSVXLSX → CSVCharset ConverterTEXT → UTF-8HAR ViewerHAR → TABLE · HARJWT EncoderJSON → JWTHMAC GeneratorTXT → MACFile ChecksumFILE → VERDICTWi-Fi QR Code Generator— → QRChmod CalculatorOCTAL → RWXHTTP Status CodesCODE → MEANINGByte ConverterSIZE → UNITSTime Zone ConverterTIME → ZONESAspect Ratio CalculatorSIZE → RATIOURL ParserURL → PARTSExtract ArchiveARCHIVE → FILES · ZIPCreate ZIPFILES → ZIPUnzip FilesZIP → FILESDOCX to MarkdownDOCX → MDSVG OptimizerSVG → SVGBarcode Generator— → BARCODEQR Code ReaderIMG → TEXTVCF to CSVVCF → CSVICS to CSVICS → CSVCSV to Markdown TableCSV → MDBcrypt Generator— → HASH
ENGINE JSZIP · DOMPARSERACCEPTS XLSX

XLSX to CSV

JSZIP · DOMPARSERTOOL 152 OF 190

Convert XLSX to CSV Online — Free, No Upload

Unzip an Excel workbook in your browser and write one CSV per sheet — nothing leaves this tab.

ENGINEJSZIP · DOMPARSER
ACCEPTSXLSX
MAX SIZENONE
UPLOADNEVER
01Drop an .xlsx workbook into the drop zone, or click it to browse.
02Tick the sheets you want under SHEETS and set SEPARATOR to Comma, Semicolon or Tab.
03Click Download — one sheet saves as a .csv, two or more as a single ZIP.

About XLSX to CSV

A .xlsx workbook is a ZIP archive full of XML, and this tool opens it the way the format actually works: it unzips the package in your browser, reads the sheet list, the shared string table and the cells, and writes one CSV per sheet. No spreadsheet library is loaded to do it — the parsing runs straight against the ECMA-376 parts — so nothing sits between you and your own data, and nothing is uploaded. Two settings account for most of the reason people go looking for a converter at all. Excel in any locale where the decimal mark is a comma expects semicolons, and a comma-separated file opens there as one column per row. And without a byte-order mark, Excel on Windows reads a UTF-8 CSV in the system codepage and turns accented names into mojibake, while with one many scripting readers hand the mark back glued to your first column name. Both are switches here rather than assumptions. What a CSV cannot hold is stated rather than glossed over. Formulas arrive as the value Excel last cached, charts and formatting do not arrive at all, and a date in XLSX is a plain number behind a style — so the raw serial is written out and the page counts how many cells that affects.

Questions

My dates came out as numbers like 45678.

That is genuinely what the file stores. XLSX has no date type: a date is an ordinary number — days since 1899-12-30, or since 1904-01-01 in a workbook that declares the 1904 date system — and the only thing that makes it look like a date is a number format hanging off the cell's style. Writing it back out correctly means implementing Excel's whole format-code language, plus the 1904 epoch and the fictional 1900 leap day, and a date rendered on the wrong calendar is a silent error where 45678 is an obvious one. So the serial is written out unchanged, and the page reads the style table to count how many cells that affects and prints the number beside the preview.

Excel opens the CSV with every row squashed into one column.

Switch SEPARATOR to semicolon. Excel does not read the separator out of the file; it assumes the list separator for your Windows locale, and everywhere the decimal mark is a comma — most of Europe and Latin America — that separator is a semicolon, so a comma-separated file arrives as one column per row. The sibling failure is accented characters coming through as garbage, and that one is the byte-order mark: tick it and Excel reads the file as UTF-8. It is off by default because many command-line and scripting readers then hand the mark back as part of your first column's name.

It says my file is not an .xlsx, and I am certain that it is.

Two different files fail the same way, and the message names which one you have. An old binary .xls — anything saved before 2007, or exported by a legacy system — is not a ZIP at all but an OLE2 compound file, and nothing here can open it; re-save it from Excel, LibreOffice or Numbers as .xlsx. A password-protected .xlsx looks identical from the outside, because Excel encrypts the whole package and wraps it in that same container. Open it with its password and save an unprotected copy. Renaming a .xls to .xlsx changes the name and nothing else.

What does the CSV lose compared with the workbook?

Everything that is not a value sitting in a cell. Charts, images, pivot tables, colours, fonts, column widths, conditional formatting, data validation and comments have nowhere to live in a CSV and are dropped. Formulas come through as the result Excel last calculated and saved beside them — nothing is recalculated here — so a workbook written by a library that never computed its formulas will show blanks. A merged block keeps its value in the top-left cell and leaves the rest empty, which is exactly how the file stores it. Formula cells and error values such as #REF! are counted on screen.

The workbook has five sheets. Do I get five files?

You get one CSV per sheet you tick, and every sheet is ticked to begin with. One sheet downloads as a plain .csv named after the workbook and the tab; two or more come down as a single ZIP, because a browser cancels most of a burst of downloads fired off at once. Hidden sheets are listed too, marked HIDDEN — hiding is a display setting rather than a lock, so untick any you do not want out. Click a sheet's row × column count to preview its CSV, quoting and all, before you save anything.

Is my file uploaded to a server?

No. Transmute processes everything locally in your browser using JavaScript and WebAssembly. Your files never leave your device — there is no server, no upload, no cloud processing.

Related