How to open a large JSON file on Android
A database export, a year of app logs, a streaming-history download: large JSON files are where phone apps freeze, show a spinner forever, or simply close. What works depends almost entirely on how large “large” is. We make a JSON app, and this guide includes the point where you should use something else.
Short answer
- Up to a few MB: any JSON viewer app, including Sonnet, shows the full, foldable tree.
- Up to 50 MB: Sonnet opens files up to 20 MB for free as formatted text, with the tree for JSON up to about 2 MB. The one-time Sonnet Pro unlock raises that to 50 MB files and a 30 MB tree.
- Hundreds of MB to gigabytes: use an app built to stream huge files, such as Giant JSON Viewer, or use a computer.
Get Sonnet free For everyday files up to 50 MB.
Why big JSON files crash phone apps
Most JSON apps, ours included, read the whole file and build it into a tree of objects in memory before showing anything. That tree is much bigger than the file. When we measured Sonnet’s own loading path, the parsed tree took roughly 12 times the file’s size in memory. A 30 MB file needs a few hundred megabytes, which is near the ceiling Android gives a normal app. Somewhere past that, the app runs out of memory and closes.
That’s why Sonnet has size limits rather than trying and crashing. The limits sit inside the range we measured as safe. Apps that open truly huge files take a different approach: they index the file and read only the part on screen, which is called streaming.
What works at each size
| File size | On the phone | Notes |
|---|---|---|
| Under ~2 MB | Sonnet (free): full tree, editing | Most configs, API responses and app exports |
| 2–20 MB | Sonnet (free): read-only formatted text, copy and share. Tree and search with Pro | Syntax colours switch off in this mode to keep scrolling smooth |
| 20–50 MB | Sonnet Pro: opens, with the tree up to ~30 MB of JSON | One-time unlock, not a subscription |
| 50 MB – multi-GB | A streaming viewer such as Giant JSON Viewer | Built for exactly this; see below |
| Any size, for analysis | A computer | Filtering, converting and scripting are far easier there |
Sonnet’s limits are from the app’s current release. Giant JSON Viewer facts are from its own website, giantjson.com, read 13 September 2026. We haven’t benchmarked it ourselves. Tell us if anything here is out of date.
For really huge files: Giant JSON Viewer
If your file is hundreds of megabytes or more, a normal JSON app is the wrong tool, including ours. Giant JSON Viewer (listed on Google Play as “Giant JSON Viewer: HAR & API”) is built for that case. Its website describes a native Rust engine that opens multi-gigabyte files without loading them whole, and says it has been tested on files over 100 GB. It also handles JSON Lines, HAR files and a few binary JSON-like formats, and it runs locally. It’s a much more technical tool than Sonnet, with filters, an API client and exports, so check its listing for what is free and what is paid.
On a computer
- jq is a free command-line tool that filters and reshapes JSON. It has a streaming mode for files too large to load at once.
- Python can read JSON Lines one line at a time, and libraries such as ijson stream a single huge document.
- Code editors open large files, but most get slow well before the gigabyte range. They’re better for a quick look than for exploring.
Make the file smaller before you open it
- Request less. Data downloads from Instagram, Discord, Google and others usually let you choose which data types and date ranges to include. Just your followers, or just the last year, is a fraction of the full export.
- Use the pieces you’re given. Some services already split big exports. Spotify’s extended streaming history, for example, comes as several files of around 10 MB each rather than one giant file.
- Check whether it’s JSON Lines. Logs with one JSON object per line (
.jsonl,.ndjson) can be split into smaller files on a computer with any line-splitting tool, and every piece is still valid. - Ask for a filtered export. If a colleague sent it, ask for just the records you need. On a computer,
jqcan cut a file down to one field in a single command.
“File too large to open” in Sonnet
The file is over your limit: 20 MB free, 50 MB with Pro. If you see Heavy File Detected instead, the file opened, but the JSON is too big for the tree view, so Sonnet shows the read-only formatted text, which you can still copy or share. Anything over 50 MB belongs to one of the tools above.
For everyday JSON files, up to 50 MB
Sonnet opens JSON as a collapsible tree, edits it with a tap, and works offline. No ads, no account. Free on Google Play, with an optional one-time Pro unlock for bigger files and search.