Flatten JSON
Turn nested JSON into a JSON Pointer path map preserving values and empty containers.
Private: it runs in your browser and what you type is never sent anywhere. How to check it
Your files are processed here, on your device
We do not send the contents of your files or text to any server: everything is processed in your browser’s memory. No account is needed, there is no daily quota and we use no analytics or trackers. Each tool has size limits to protect your device’s memory.
A connection is only needed to load the site. After that you can disconnect and the tools keep working (some previews may need the connection). Hosting may receive technical visit data. Favorites store only tool identifiers in this browser.
How we handle your data →How to use this tool
- Enter your data or load the tool’s example.
- Choose the options and press the main button.
- Check the result before copying or downloading it.
An example you can verify
Turn nested JSON into a JSON Pointer path map preserving values and empty containers.
Example input
{"user":{"name":"Ana"},"tags":["a","b"],"empty":{}}Expected result
{
"/user/name": "Ana",
"/tags/0": "a",
"/tags/1": "b",
"/empty": {}
}Check the result before copying or downloading it.
Flatten JSON: uses and practical guidance
Each leaf value is associated with its path from the root. Slashes within names are escaped as ~1 and tildes as ~0, avoiding collisions between different keys. Array positions use zero-based indexes. The empty path represents a simple root value. Null, false, zero, empty strings, empty arrays and empty objects are retained. The map does not preserve the type of nonempty containers: a path containing /0 may come from an array or a key named 0. It is not a reversible backup on its own. Up to eighty nesting levels are supported.
Flatten JSON. Use a valid JSON sample and inspect its structure before transforming the document. An object associates names with values; an array preserves a sequence of positions. That difference matters even when two documents look similar on screen. Strings require double quotes, properties must be separated by commas, and boolean values are written true or false. Null is an explicit value and is not the same as an absent property. A string containing digits may be an identifier whose leading zero matters; do not convert it to a number merely to simplify input. The operation uses the browser JSON parser and does not execute the content as code. Duplicate keys are not preserved as separate entries. Keep the original document as a reference, especially when working with configurations or API responses whose data types must remain meaningful.
Flatten JSON. Start with the example and observe the relationship between input and output before pasting a complete document. The example is deliberately small so that you can check it without another application. Then replace its data with a representative sample of your case and adjust the options. The main button performs the operation; loading the example only fills the controls. If you modify any input after calculating, the previous result is hidden so that you do not copy a version that no longer corresponds to the data. Run the operation again after every change. Clear restores the initial form values and discards the result on the page. Copy places the output text on the clipboard when the browser allows it. Download creates a file only when you explicitly request it; calculating does not start downloads. Keep a separate copy of the input if you need to repeat the work later, because this form is not a project archive and does not maintain an operation history.
A practical check before using the result
Flatten JSON. Check a short sample whose result you can predict and another case containing the details that matter for your work. Inspect both the beginning and the end of the output; an apparently correct result may belong to an earlier input if you have saved several copies outside this page. If an error appears, reduce the sample until you find the offending data and review the stated limits. Do not remove information merely to dismiss a warning: first check whether the chosen operation represents what you need. Before using a download in another program, open it and inspect its characters, structure and values. The file contains the result rather than the form settings. If you need to explain how it was produced, retain the input and the options used as well.
Settings and limits
Each leaf value is associated with its path from the root. Slashes within names are escaped as ~1 and tildes as ~0, avoiding collisions between different keys. Array positions use zero-based indexes. The empty path represents a simple root value. Null, false, zero, empty strings, empty arrays and empty objects are retained. The map does not preserve the type of nonempty containers: a path containing /0 may come from an array or a key named 0. It is not a reversible backup on its own. Up to eighty nesting levels are supported.
Frequently asked questions
Is it free, and do I need to sign up?
Yes, it is free. You do not need to sign up, create an account or install an app, and there is no daily quota: open the tool and use it. The only limits are file sizes, which protect your device’s memory.
Is my data sent to any server?
No. What you type or paste is processed in your browser’s memory and is not sent to any server. You can check it in the browser’s Network tab or by going offline after the page has loaded.