KEY

JSON Key Extractor

Extract key paths from JSON

JSON & Data
πŸ”’ 100% client-side β€” your data never leaves this page
Maintained by Evanβ€’Updated: September 29, 2026
Options
JSON Input

Paste JSON and extract key paths first; leaf-only and array-path strategies are available in Advanced mode.

Array path mode
Extracted Paths
Key paths appear here
Page reading mode

The full guide also includes pitfalls, worked examples, snippets, FAQs, and related tools for checking results or troubleshooting.

About this tool

Extract dotted key paths from nested JSON objects and arrays to quickly inspect data structure. Ideal for API debugging, ETL mapping, schema planning, and analytics event validation where understanding field hierarchy is critical.

Production Snippets

Wildcard paths include keys from later items

text

Input:
{"items":[{"id":1},{"name":"two"}]}

Default wildcard mode, Dedupe on, Leaf only off:
items
items[]
items[].id
items[].name

First-item mode omits items[].name.

Failure Clinic (Common Pitfalls)

A display path is reused as an exact query

Cause: Dots and brackets in property names are not escaped. For example, a literal key a.b and nested a then b can share the display path a.b. Dedupe can merge these strings.

Fix: Use the list as a visual inventory. Keep the original JSON to distinguish ambiguous keys and use a JSONPath or JSON Pointer implementation when exact addressing is required.

Frequently Asked Questions

How are arrays represented?

Wildcard mode visits all items with [] paths. First-item mode inspects only the first item. Index mode uses [0], [1], and so on. Keys present only in later records are missed in first-item mode.

What do Leaf only and Dedupe change?

Dedupe is enabled by default but can be turned off; output is always sorted with localeCompare. Leaf only removes container entries while retaining full paths, not just final key names. Empty arrays and scalar array items are omitted in leaf-only mode.

Are these paths JSONPath expressions?

No. Property names containing dots or brackets are not escaped, so distinct structures can produce the same display path. The tool inventories observed keys; it does not query values, infer a schema, or count field frequency. Input and options are saved locally.

Keep browsing