Turn JSON into readable plain text in your browser. Extract flattened paths, key-value lines, keys, values, or JSON Lines from valid JSON, then copy or download the result as a .txt file.
Turn valid JSON into text that is easier to read, search, paste into documentation, or share with people who do not need the original JSON syntax.
Print one leaf value per line with its dot-notation path, such as user.name: Alice. Array items use bracketed indexes such as items[0].id.
Extract only the paths found in the document, or only the leaf values, when you need a field list, a text list, or a simplified view of the source data.
Generate lines such as name: Alice or user.name = Alice in reports, debugging notes, and text-based workflows. Use a colon or an equals sign, and show the leaf key or the full path.
Write an array as one JSON value per line for logs, data pipelines, and JSONL-compatible tools. This is different from minified JSON, which keeps one whole document on a single line.
Copy the generated text, paths, values, or JSON Lines to your clipboard for documentation, email, reports, scripts, bug tickets, or API debugging.
Download the full output as a .txt file for local storage, sharing, text processing, or another development workflow.
JSON parsing and text generation happen in your browser. No account is required and the source JSON is not sent to a remote service.
Paste a JSON object or array into the input editor, or open a local .json file. The input has to parse successfully before text can be extracted.
Select flatten to paths, key-value lines, values only, keys and paths, or JSON Lines. Each mode produces a different text shape from the same JSON.
Choose whether array items appear as indexed paths or stay together on one line, and whether key-value lines use a colon or an equals sign. Turn on empty containers when their presence matters.
Click Convert to Text and check the line count, character count, paths, and values. The output also updates automatically while you type, so you can compare modes directly.
Copy the text to your clipboard or download it as a .txt file. Keep the original JSON when you need to preserve machine-readable structure and data types.
A nested object with one array, printed as one path-value pair per line.
{
"user": {
"name": "Alice",
"roles": ["admin", "editor"],
"address": {
"city": "Shanghai",
"country": "CN"
}
}
}An object nested two levels deep, containing an array of two strings.
user.name: Alice user.roles[0]: admin user.roles[1]: editor user.address.city: Shanghai user.address.country: CN
Default options: colon separator, array items as indexed paths, empty objects and arrays excluded.
A leaf value is printed without JSON quoting, so "Shanghai" appears as Shanghai. Empty objects and arrays are skipped unless Include empty objects and arrays is enabled.
A JSON to Text converter turns structured JSON into a plain-text representation. That makes nested API responses, configuration data, and exported records easier to search, paste into documents, or share with people who do not need the original JSON syntax.
There is no single universal JSON-to-text output. A flattened path list, a key-value report, a values-only list, and a JSON Lines file all serve different purposes. Pick the representation that matches the next step in your workflow.
user.name: Alice or items[0].id: 1.name: Alice or user.name = Alice, with the leaf key or the full path.tags[0], or keep each array on one line as compact JSON.Input:
{
"user": {
"name": "Alice",
"address": { "city": "Shanghai" }
}
}Output in flatten mode:
user.name: Alice
user.address.city: ShanghaiObject keys are joined with dots and array items use bracketed indexes. A key that already contains a dot is used exactly as written, which makes that path ambiguous — one of the reasons flattened text is not a lossless format.
With One item per line, ["admin", "editor"] under user.roles becomes:
user.roles[0]: admin
user.roles[1]: editorWith Keep arrays on one line, it becomes a single line:
user.roles: ["admin","editor"]Use indexed paths when you need to address or diff individual items, and inline output when the array is only a value you want to read at a glance.
A leaf is a value that is not a container: a string, number, boolean, or null. Empty objects and arrays hold no leaf, so they produce no lines by default. Enable Include empty objects and arrays when their presence itself is information you need, and they are printed as {} or [] with their path.
Minified JSON keeps one complete JSON document on a single line. JSON Lines writes one JSON value per line, so a root array of two records becomes two lines, each a valid JSON document on its own:
{"id":1,"name":"Alice"}
{"id":2,"name":"Bob"}That shape is easier to stream, append to, and process line by line. This page does not read JSONL input; it produces JSONL as an output mode.
Converting JSON to text drops information. Numbers, booleans, null, and strings all become text, strings lose their quotes, empty containers disappear unless you include them, and a key containing a dot cannot be told apart from a path separator. Keep the original JSON whenever reversible conversion, exact types, or machine-readable structure matters.
This page parses JSON and generates text in the browser rather than uploading the input to a remote service. That suits API responses and development data, but it is not a secret-management system. Avoid entering credentials, tokens, private customer records, or confidential production payloads into any online tool.
For very large documents, repeatable pipelines, or confidential data, use a local script or command-line tool such as jq. Browser conversion is best suited to quick inspection, documentation, and small-to-medium inputs.