I Help You

JSON Key Extractor

Extract all keys from a JSON object at any depth. Free, and it runs entirely in your browser — nothing you enter is uploaded.

How to use the JSON Key Extractor

1. Paste a JSON object into the left panel.

2. Enable "Deep extract" to include nested keys shown with dot notation paths.

3. Copy the extracted key list to use for documentation, schema mapping, or code generation.

What is it?

Extracting keys from a JSON object is useful when documenting an API response schema, building data mappers, generating TypeScript interfaces, or auditing what fields a configuration object exposes. Large API responses can have dozens of fields — extracting them all at once saves manual inspection time.

The basic mode extracts only the top-level keys. The deep extract mode uses dot notation to show the full path to every nested key, making it easy to reference deeply nested values like user.address.city or config.database.host.

Benefits

Inventory every key in a deeply nested JSON object

See all field paths at every nesting depth without manually expanding the object in a JSON viewer.

Discover undocumented fields in third-party API responses

Extract all keys to find hidden or unexpected properties that don't appear in the official documentation.

Generate a field list as the basis for database schema design

The extracted key list maps directly to table columns or document schema fields — use it as your schema starting point.

Audit JSON payloads for fields that might contain PII

Extract all keys to review which fields could contain personally identifiable information before logging or storing responses.

Frequently asked questions

What does dot notation mean in the output?

Dot notation shows the full path to a nested key. For example, address.city means the city key inside the address object. You can use this path directly in lodash's _.get(), optional chaining (obj?.address?.city), or database column mappings.

Are array indices included?

Array elements are treated as object values — their indices (0, 1, 2...) are not extracted as keys. Only named object keys are included in the output.

Can I use this to generate TypeScript interfaces?

The key list is a good starting point for TypeScript interfaces. You'll still need to determine the type of each key manually, but having the full key list saves significant time when working with large API responses.