flatten-json
Flatten JSON objects
What it is and what it does
flatten_json is a lightweight utility that converts nested JSON objects into single-level dictionaries by joining keys with a separator (default underscore), and can reverse the process. It's particularly useful when you need to convert hierarchical data into tabular form—for example, preparing nested API responses for export or working with tabular data structures. The package provides three main functions: flatten() to collapse nested structures, unflatten() to reconstruct them, and unflatten_list() to handle cases where integer-indexed keys should become lists. It supports customizable separators and can selectively ignore root keys to skip unnecessary processing on large objects.
Use it for:
- Convert nested API JSON responses into flat dictionaries for export or database import
- Prepare hierarchical JSON data for tabular data structures with automatic column flattening
- Reverse-flatten previously flattened data back to its original nested structure
- Filter out unwanted nested branches during flattening using root_keys_to_ignore parameter
- Command-line JSON transformation via pipe (echo '{"a": {"b": 1}}' | flatten_json)
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts nested JSON objects into flat key-value dictionaries and reverses the process, useful for preparing hierarchical data for tabular formats.
Yes, if you regularly work with nested JSON and need to convert it to tabular formats. The package is stable, has no known vulnerabilities, and low install friction. However, maintenance is dormant (no updates since 2023-11-01); if you need active support or encounter edge cases, consider whether a maintained alternative is necessary. For straightforward flatten/unflatten tasks, this is a solid choice.
Install
flatten-json on PyPI
pip
pip install flatten-jsonuv
uv add flatten-jsonpoetry
poetry add flatten-jsonInstalling flatten-json
Before you install
Low friction; depends only on six. Dormant maintenance status (last commit 2023-11-01, 1022 days since release) means no active development, but the package is stable.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
from flatten_json import flatten
dic = {"a": 1, "b": {"c": 2}}
flattened = flatten(dic)
# Result: {'a': 1, 'b_c': 2}
Verify before relying
- Whether the package handles edge cases in deeply nested structures or circular references gracefully
- Performance characteristics on very large or complex JSON objects
- Compatibility with modern Python versions beyond what the fact sheet specifies
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — six |
| Maintenance | dormant — 1,022 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,760,293/month — #2,900 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: flatten_json-0.1.14-py3-none-any.whl
Keywords: json, flatten, pandas
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
flatdictFlattens nested dictionaries into single-level…
permissive · top 5,000 on PyPI
flatten-dictConverts nested dictionaries into flat…
permissive · top 5,000 on PyPI
json-flattenConverts nested JSON objects into flat…
permissive · top 15,000 on PyPI
json-flattenerConverts nested JSON/YAML objects into flat…
permissive · top 15,000 on PyPI
json-tools-rsFlattens and unflattens nested JSON structures…
permissive · top 15,000 on PyPI
deflate-dictFlattens nested dictionaries into single-level…
permissive · top 15,000 on PyPI
json-normalizeRecursively flattens nested JSON-like…
permissive · top 15,000 on PyPI
json-source-mapMaps each value in a JSON document to its…
permissive · top 15,000 on PyPI
pandas-read-xmlConverts XML files into pandas DataFrames, with…
permissive · top 15,000 on PyPI
condense-jsonCondense JSON by replacing repeated strings and…
permissive · top 15,000 on PyPI