XLSX and CSV converter

Export one selected XLSX sheet as raw-value CSV or JSON, or convert a local CSV file to XLSX with literal text cells.

Local processing without upload or automatic storage. This direction reads XLSX and exports CSV or JSON; change direction above the tool to create XLSX from CSV.

Files up to 2 MiB; 5 sheets; 1,000 rows and 50 columns per sheet; 20,000 total rectangular cells. Each operation has a 15-second deadline.

How to use

Choose a direction. To read XLSX, inspect the complete workbook, then select a sheet and CSV or JSON export. For CSV choose a delimiter, formula protection and BOM, then copy or download the complete text; preview pages do not change the export. To create XLSX, select a UTF-8 CSV file and its delimiter, create the workbook and download it. It contains one Data sheet with text cells only: headings, numbers and dates are not inferred, and =1+1 does not become a formula.

Try an example

Text 0012 remains text, and numeric 0.1 retains its number text in JSON. Formula 99+99 with cached value 2 exports 2 without calculating 198. A formatted date with value 43830 remains 43830, with the 1900 or 1904 date system recorded in JSON.

Support & limits

This is a defined support subset, not a reader for every valid Excel workbook. Macros, external links, shared or array formulas, formulas without numeric/boolean caches, error cells, merges, drawings, comments, defined names, protection and unknown parts are refused. Specific styles, layouts and descriptive properties are validated then ignored; formatting and formula code are not preserved, while hidden rows and columns retain their data. Hidden sheets are unsupported. Numbers whose decimal precision changes through the spreadsheet library are refused rather than silently rounded. The CSV writer allows 2 MiB input and output, 1,000 rows, 50 columns, 20,000 cells, 20,000 UTF-16 units per cell and 1 MiB combined text. XString protection, CR encoding and conservative ZIP size reservation can reject shorter text; user data is not written before the size estimate passes. Its worker has a 5-second deadline within a 15-second session. Data limits are not a total browser memory cap; the XML parser may allocate a token before its callback checks a limit.

Common questions

Do CSV and JSON preserve every workbook meaning?

No. CSV contains text only: every cell is quoted, the delimiter is explicit, CRLF separates rows and BOM is optional. Default protection adds an apostrophe before formula-like text, including negative numbers; literal text may execute as a formula when opened in spreadsheet software. No header row is inferred. JSON records each cell reference, type, text and cached flag, preserving the difference between an explicit blank and a missing cell; CSV does not preserve that difference. XLSX files containing NUL after text decoding are unsupported and refused during inspection; there is no export path for those files. Copy and download share the 2 MiB CSV and 4 MiB JSON limits. Formulas are not calculated and their cached values may be stale; serial dates are not formatted. In the CSV-to-XLSX direction, only the first BOM is removed; spaces, quoted cell line breaks and _x0041_ sequences remain literal text. Formula-like text remains a text cell without an added apostrophe; this differs from CSV export protection. The output can be inspected in the other direction within the limits; this does not preserve every property of arbitrary workbooks. Processing is local without upload or automatic storage. Cancellation terminates the worker and requests FileReader abort; the reservation remains until the read settles, preventing unbounded accumulation of reads.

Related tools