Desktop tool to convert nested JSON files to flat Excel spreadsheets with hierarchical depth columns.
Two implementations available: Python (PyQt6) and Rust (egui).
- Drag & drop JSON files
- Flattens nested objects/arrays into
Depth_1,Depth_2, ...,valuecolumns - Single or batch conversion
- Works offline
- Supports semi-JSON input (e.g., with trailing commas)
Requirements:
pip install pandas openpyxl PyQt6Run:
python json2excel.pyBuild executable:
pip install pyinstaller
pyinstaller Json2Excel.specRequirements:
- Rust 1.70+ (install)
Run:
cd json2excel
cargo run --releaseBuild:
cd json2excel
cargo build --releaseBinary output: json2excel/target/release/json2excel[.exe]
Input JSON:
{
"user": {
"name": "Alice",
"age": 30,
"scores": [85, 92, 78]
},
"status": "active"
}Output Excel:
┌─────────┬─────────┬─────────┬────────┐
│ Depth_1 │ Depth_2 │ Depth_3 │ value │
├─────────┼─────────┼─────────┼────────┤
│ user │ name │ │ Alice │
│ user │ age │ │ 30 │
│ user │ scores │ 0 │ 85 │
│ user │ scores │ 1 │ 92 │
│ user │ scores │ 2 │ 78 │
│ status │ │ │ active │
└─────────┴─────────┴─────────┴────────┘
- Launch app
- Drag & drop
.jsonfile(s) - Click "Convert"
- Click "Download" and choose save location
Rust:
- Faster (2-5x) for large files
- Smaller binary
- No runtime dependencies
Python:
- Easier to modify
- Familiar for Python developers
- Supporting semi-json file: For now... trailing commas are now supported