Measure a JSON payload: UTF-8 bytes as pasted, minified and formatted, plus structure stats (depth, keys, items) and a ranking of the heaviest top-level members.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
Bytes, structure, and the heavy hitters
“How big is this payload” has three answers — as pasted, minified, and formatted — and this tool gives all three in UTF-8 bytes, the unit HTTP actually uses. It also profiles the structure (max depth, key count, array items) and ranks the heaviest top-level members, which is usually where a payload diet should start.
Worked example (abridged)
SIZE
As pasted 4.1 KB
Minified 2.9 KB (29% smaller than pasted)
Formatted 4.3 KB
HEAVIEST TOP-LEVEL MEMBERS
articles 2.4 KB 83%
meta 0.3 KB 10%When to use it
- Debugging a request rejected by a size limit (many APIs cap bodies at 1 MB or less).
- Deciding what to trim: the member ranking shows whether it is one array or one blob field.
- Estimating storage for JSON columns and caches.
Limitations to know
- Raw bytes, not network bytes: servers compress JSON in transit, typically to a small fraction — the report says so explicitly.
- UTF-8: multibyte text counts correctly (é = 2 bytes, most emoji = 4), which character counts miss.
What to do with the result
- Strip padding with the Empty Value Remover or drop whole fields with the Property Remover.
- Ship minified via the JSON Minifier when the consumer is a machine.
How to use the JSON Size Calculator
- Paste your JSON payload.
- Click "Calculate size".
- Read the three sizes (as pasted, minified, formatted) and the structure stats.
- Use the heaviest-members ranking to find what is actually making the payload big.
Frequently asked questions
How is JSON size measured?
In UTF-8 bytes of the text — the same way HTTP measures request and response bodies. Multibyte characters (é is 2 bytes, emoji are 4) are counted correctly, which character counts get wrong.
Why does the tool show three different sizes?
Because "how big is my JSON" depends on form: as-pasted is what you have, minified is what you would send, formatted is what you would store for humans. The gap between them is pure whitespace.
How do I find what makes my payload large?
The heaviest-members table ranks every top-level key by its minified byte size and share of the total. It is usually one array or one blob field — then the Property Remover or Empty Value Remover can slim it.
Does this reflect network transfer size?
Not exactly — servers almost always gzip or brotli-compress JSON in transit, typically to a fraction of the raw bytes. The tool notes this; raw bytes still matter for storage quotas, request-size limits and parse time.