JSON to Excel Converter
Convert JSON data to XLSX format — supports flat JSON, nested objects (dot-notation flattening), and JSONL (JSON Lines). Auto-detects columns from the first object, infers cell types (string, number, boolean, date), and generates XLSX with typed cells. Batch convert multiple JSON files into a multi-sheet workbook. 100% client-side.
About JSON to Excel Converter
Convert JSON data to XLSX format — supports flat JSON, nested objects (dot-notation flattening), and JSONL (JSON Lines). Auto-detects columns from the first object, infers cell types (string, number, boolean, date), and generates XLSX with typed cells. Batch convert multiple JSON files into a multi-sheet workbook. 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 converts JSON data into XLSX (Microsoft Excel Open XML) spreadsheets. It supports three input shapes: (1) a JSON array of objects — each object becomes a row, (2) a single JSON object — converted to a 2-row sheet (key + value), (3) JSONL (JSON Lines) — one JSON object per line, each becomes a row. Nested objects are flattened using dot notation (e.g. {address: {city: 'NYC'}} → 'address.city' = 'NYC').
How are columns detected?
By default, we scan the first object and use its keys (after flattening) as column headers. You can change the detection mode: 'first' (first object's keys), 'union' (all unique keys across all objects), or 'intersection' (only keys present in every object). For sparse data, 'union' captures all fields but may produce many empty cells.
How are cell types inferred?
For each cell value: (1) booleans → 'boolean' cell, (2) numbers (int or float, not NaN) → 'number', (3) ISO date strings (YYYY-MM-DD or full ISO datetime) → 'date' (converted to Excel serial), (4) null/undefined → empty cell, (5) everything else → shared string. You can force all cells to text with the 'Force text cells' toggle.
Can I batch convert multiple JSON files?
Yes. Drag-drop multiple .json / .jsonl files and they become multiple sheets in one workbook. Each file's name (without extension) becomes the sheet name. You can also rename sheets before conversion.
What's the maximum JSON size?
There's no hard limit, but very large files (>50MB) will use lots of memory because we parse the whole JSON at once. For most use cases (under 100K rows) conversion takes under a second. We use shared-strings deduplication to keep XLSX size reasonable for text-heavy data.
What extra features does this tool have compared to others?
10 extras: (1) Drag-drop multiple JSON/JSONL files. (2) Batch convert — multiple JSONs into one multi-sheet XLSX. (3) Custom sheet name per file. (4) Flatten depth control — limit how deep nesting is flattened (default unlimited). (5) Column selection — pick detection mode (first/union/intersection). (6) Stats — rows, columns, sheet count, file size. (7) Preview first 10 rows per sheet. (8) Header row styling (bold + light fill). (9) History (localStorage — last 10 conversions). (10) Shareable URL with options.
Is my JSON uploaded anywhere?
No. All parsing and XLSX generation runs in your browser. The JSON contents never leave your device. Only conversion summaries (filename, row count, sheet count) are saved to local history.
How does it handle JSONL (JSON Lines)?
JSONL is one JSON object per line — common for log files and streaming data. We split the input by newlines (skipping blank lines), parse each line as a JSON object, and treat the result as a row array. The first object's keys become column headers. If any line fails to parse, we skip it and report the error count.
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.