JSON to Excel on Linux — Free, No Install, Works on Any Distro
- Browser-based converter works on Ubuntu, Fedora, Arch, Debian — any distro
- No package installation needed — just open Firefox or Chromium
- Command-line alternatives included for terminal users
- Output .xlsx opens in LibreOffice Calc or can be uploaded to Google Sheets
Table of Contents
Converting JSON to Excel on Linux is a one-command operation if you use Python or jq, but there is also a zero-install path: the browser-based converter works on any Linux distro with Firefox or Chromium. This guide covers both approaches so you can pick the right tool for your workflow.
Browser Method: No Install Required on Any Linux Distro
Open Firefox or Chromium on your Linux machine and navigate to wildandfreetools.com/spreadsheet-tools/json-to-excel/. Paste your JSON array or drop a .json file. Download the .xlsx file.
The downloaded .xlsx file opens in LibreOffice Calc (available in most distribution repositories: sudo apt install libreoffice on Debian/Ubuntu, sudo dnf install libreoffice on Fedora). It can also be uploaded to Google Drive and opened in Google Sheets.
This method is particularly useful on:
- Shared Linux servers or VMs where you do not want to install additional Python packages
- Developer workstations where you need a quick spreadsheet export without writing a script
- Any distro including minimal installs that have a browser but not a full Python data stack
Command Line: Python JSON to Excel on Linux
For scripted or automated workflows, Python with pandas is the standard Linux approach:
pip install pandas openpyxl
python3 -c "
import pandas as pd
import json, sys
with open('data.json') as f:
data = json.load(f)
pd.DataFrame(data).to_excel('output.xlsx', index=False)
print('Saved output.xlsx')
"
Or for a one-liner from the terminal if you have pandas installed:
python3 -c "import pandas as pd; pd.read_json('data.json').to_excel('output.xlsx', index=False)"
If you want to avoid pandas and use only the standard library plus openpyxl:
python3 -c "
import json, openpyxl
with open('data.json') as f:
data = json.load(f)
wb = openpyxl.Workbook()
ws = wb.active
ws.append(list(data[0].keys()))
for row in data:
ws.append(list(row.values()))
wb.save('output.xlsx')
"
Sell Custom Apparel — We Handle Printing & Free Shipping
Using jq to Convert JSON to CSV First, Then Open in LibreOffice
If you have jq installed but not Python, converting via CSV is a common Linux pattern:
sudo apt install jq # Debian/Ubuntu # or sudo dnf install jq # Fedora # Flatten JSON array to CSV (works for simple flat structures) jq -r ' (.[0] | keys_unsorted) as $keys | $keys, (.[] | [.[$keys[]]] | @csv) | @tsv ' data.json > data.tsv
Then open data.tsv in LibreOffice Calc. This works well for flat JSON but breaks on nested objects.
For nested structures, the browser converter or Python approach handles flattening automatically — jq requires writing more complex path expressions for each nested key.
How to Open .xlsx Files on Linux
Once you have the .xlsx file (from the browser converter or Python), here is how to open it on Linux:
- LibreOffice Calc:
libreoffice --calc output.xlsx— available on virtually all major distros and the most compatible option. - GNOME Spreadsheet (Gnumeric): Lightweight alternative. Install with
sudo apt install gnumeric. - Google Sheets: Upload to Google Drive, open in the browser — no install required.
- WPS Office for Linux: If you need closer Microsoft Office compatibility, WPS Office has a free Linux version.
For data analysis workflows, converting .xlsx back to CSV for processing with awk, cut, or Python often makes more sense than opening in a spreadsheet UI. LibreOffice can do batch headless conversion: libreoffice --headless --convert-to csv output.xlsx.
Convert JSON to Excel on Linux — Free, Browser-Based
Works on any Linux distro with Firefox or Chromium. No Python, no package install required. Paste JSON, download .xlsx, open in LibreOffice.
Open Free JSON to Excel ConverterFrequently Asked Questions
Does the browser converter work on Wayland desktops?
Yes — the converter runs in the browser and does not depend on any Linux display protocol. Firefox and Chromium both support Wayland natively on modern distros.
I am on a headless server with no browser. What is the best option?
Python with pandas is the right choice for headless Linux servers. Install with pip install pandas openpyxl and run a short script. If you cannot install packages, jq with CSV output and ssconvert (part of Gnumeric) can convert CSV to XLSX on the command line.
Will the .xlsx file preserve Unicode characters correctly?
Yes. Both the browser converter and Python with openpyxl write UTF-8 content into the .xlsx file. LibreOffice Calc handles UTF-8 XLSX files correctly. If you open the file in a very old version of Excel (pre-2007) that predates XLSX, some characters may not render — but modern Excel and LibreOffice both handle this correctly.

