Contact

Tools  /  JSON  /  Object Key Extractor

Object Key Extractor

Pull the keys out of a JSON object or array of records -- leaf paths, all paths, unique key names, or key:value pairs -- with array-index paths, depth limit, and automatic frequency aggregation across an array of records.

What this tool does

Paste a JSON object or array and get back its keys, laid out however is useful for the job at hand — dot-notation paths for nested fields, just the unique key names, or full key:value pairs. For an array of similar records, it goes further and shows how consistently each field actually shows up across the whole set.

Four ways to extract

  • Leaf paths — every field that holds an actual value, as a dot-notation path like meta.age.
  • All paths — leaves and the containing objects and arrays too, for a full map of the structure.
  • Unique key names — just the names themselves, deduplicated, with the path and nesting stripped away.
  • Key:value pairs — every leaf path alongside its actual value, not just the key.

Array indexes can appear in the path as tags[0] or be collapsed to a generic tags[], and an optional depth limit stops the walk at a chosen nesting level for a very deep structure.

Seeing which fields actually appear across a dataset

Paste an array of objects that look like records — a batch of API responses, exported rows, log entries — and this is detected automatically. Instead of listing keys once, it aggregates across every record and reports how many of them actually contain each field, such as meta.age appearing in only some of a hundred records. That is the difference between guessing a dataset's shape from one example and knowing which fields are reliably present versus optional, before writing code that assumes a field is always there.

Controlling what comes back

A live filter narrows the result to keys matching a search term, sorting is optional, and output can be pretty-printed JSON, compact JSON, a comma list, or a newline list — whichever is easier to paste into whatever comes next.

Privacy

Parsing and extraction both happen in your browser. Nothing you paste, drop, or load from a file is sent to a server.

Frequently asked questions

Is my data uploaded anywhere?
No. Parsing and extraction both run locally in the browser — nothing is sent to a server.
What is records mode, and when does it turn on automatically?
When the input is an array where every item is a plain object, records mode is detected automatically and switches from listing keys once to aggregating field frequency across the whole array — showing how many of the records actually contain each field rather than assuming one example represents all of them.
What is the difference between leaf paths and all paths?
Leaf paths lists only the fields that hold an actual value. All paths additionally includes the objects and arrays that contain those fields, giving a complete map of the structure rather than just its endpoints.
Can it extract values along with the keys, not just the key names?
Yes — the key:value pairs mode returns every leaf path next to its actual value, instead of the path alone.
Does it handle deeply nested objects and arrays?
Yes, to any depth by default, and an optional depth limit stops the walk at a chosen level for a structure where only the top few levels of nesting matter.
What input and output formats does it support?
Input is a JSON object or array. Output can be pretty-printed JSON, compact JSON, a comma list, or a newline list, and a search filter narrows the result down before it is copied or downloaded.
Theme Accent