Extract a Field From Every Record in JSON

Getting one value out of a JSON document usually means writing a script, because the data is nested and the field you want sits inside an array of objects. Paste your JSON below and use a path like users[].email to collect that field from every record at once. Field paths are discovered from your data, so you can pick one rather than guess.

Drop a .json file here or click to choose · or paste below

Real JSON is not flat. An API response is typically an object containing an array of records, each of which contains further objects. The email addresses in it are not at one place — they are at one place per record, and there may be a thousand records.

A path describes that shape once and applies it everywhere. In data.users[].contact.email, the dots step into keys and the [] means "for every item in this array". The extractor walks the structure, fanning out at each array, and returns the value from every branch that matches. Nested arrays work too — orders[].items[].sku collects every SKU across every order.

How to extract a field from JSON

  1. Load your JSON. Drop a .json file or paste the text, then click Read the JSON. Invalid JSON is reported with the exact position of the problem.
  2. Pick a field path. Every path present in your data is listed as a clickable chip. Click one, or type your own.
  3. Understand the [] notation. A dot moves into a key; [] means every item in an array. So users[].email walks the users array and collects the email from each object inside it.
  4. Export the values. Results appear as one value per line, optionally deduplicated and sorted. Copy them or download as .txt or .csv.

What comes out

What it accepts

Any valid JSON adhering to the IETF RFC 8259 specification: an object, an array at the top level, or a bare value. GeoJSON, API responses, export files and configuration files all work. Pasted text is limited only by your device; dropped files are read up to 800,000 characters.

Path discovery samples the first item of each array, since arrays in practice hold uniform records, and stops at 400 paths and 12 levels deep so that a very large document still lists instantly. If your array is not uniform, type the path directly — extraction itself checks every item.

JSON Lines, where each line is a separate JSON document, is not valid JSON as a whole and will be reported as invalid. Wrap the lines in [ and ] with commas between them first.

Why the data never leaves your browser

Parsing and extraction run locally. Nothing you paste or drop is transmitted.

This matters more for JSON than for most formats, because the JSON people need to inspect is almost always a live API response — and those routinely carry access tokens, internal identifiers, customer records and system details in the same payload as the field you actually wanted. Pasting one into an online formatter hands all of it over.

What the path syntax does not do

The syntax is deliberately small — dots for keys, [] for arrays. It does not support:

For anything beyond this, jq on the command line is the right tool. This covers the common case without an install.

Who extracts fields from JSON

JSON compared with tabular data

JSON nests; CSV does not. That is the whole difference. A CSV column is a straight selection, which is what the CSV column extractor does. A JSON field may sit three levels down inside an array of arrays, which is why a path is needed at all.

If your JSON is genuinely flat — an array of objects with no nesting — extracting each field and pasting the columns side by side reproduces a CSV. For data that arrived as a spreadsheet, the Excel data extractor is the direct route.

To understand the structural difference between hierarchical formats and tabular records, read our guide on structured vs unstructured data.

JSON format standards and precision edge cases

RFC 8259 defines JSON. A key constraint: JSON numbers have no specified precision in the standard, but browser JavaScript engines parse them as IEEE 754 double-precision floats. Integers above 253 − 1 (9,007,199,254,740,991) are therefore not reliably round-trippable, and the last few digits of very large IDs may differ from the original source system.

Three parsing edge cases: (a) duplicate keys — {"a":1,"a":2} — are valid JSON by the standard but parser-defined in outcome; this tool uses V8's default and returns the last value for each duplicate key; (b) trailing commas ({"a":1,}) are common in JavaScript source files but not valid JSON — they are reported as a parse error with the byte position of the offending comma; (c) JSON Lines format, where each line is a separate JSON document, is not valid JSON as a whole — wrap the lines in [ and ] with commas between them before loading.

Frequently asked questions

How do I get every email address out of a JSON file?

Load the file, then use a path like users[].email. The [] means every item in the array, so one path collects the field from every record.

What does [] mean in the path?

Every item in that array. users[].email walks the whole users array; without the brackets the path would look for a key literally called users containing an email.

Is my JSON uploaded anywhere?

No. Parsing happens in your browser — which matters, because API responses often contain tokens and customer data alongside the field you wanted.

How do I know what paths exist?

The tool walks your data and lists every path it finds as a clickable chip. Click one to use it.

Can I filter records by value?

No. The path syntax selects, it does not filter. Extract the field and filter the result afterwards, or use jq for complex queries.

Why does my file say it is invalid JSON?

Most often it is JSON Lines — one JSON object per line — which is not a single valid document. Wrap the lines in square brackets with commas between them.

What happens if the path points at an object?

The object is returned as JSON text rather than as [object Object], so it stays useful.

Is there a size limit?

Pasted text is limited only by your device. Dropped files are read up to 800,000 characters.

• Specialist file parsing & security engineer • Verified: in our experience, our hands-on testing measured and verified private in-browser execution with zero file uploads • Last reviewed September 2026.