Convert JSON to Text
Convert JSON to plain text - pretty, dot-path, indented tree, YAML-like, or numbered outline. Free, offline, client-side.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Five distinct human-readable formats - Pretty JSON, dot-path key/value, indented tree with box-drawing characters, YAML-like hierarchy, or numbered outline. Pick what matches your downstream context - reports, terminals, slide decks, or wiki pages.
How to Use Convert JSON to Text
- Paste JSON - any valid JSON value works (object, array, primitive). Invalid JSON shows the parser's error position.
- Pick a format mode:
- Pretty JSON - still valid JSON, indented for human reading.
- Dot-path - flat
user.name: Johnlines, one per leaf. Best for grep-friendly output. - Indented tree - box-drawing characters (
├── └── │) showing the hierarchy at a glance. Great for terminal output. - YAML-like - clean hierarchical text with colons and indentation. Easy to read aloud.
- Numbered outline -
1. / 1.1 / 1.1.1nested numbering, ideal for slide decks and reports.
- Tune array handling - indexed paths (
items.0) work in dot-path mode; numbered (1. item) is human-friendly; comma-joined collapses arrays of primitives into a single line. - Toggle sort-keys for deterministic output regardless of input key order, useful for diffing two JSON files.
- Toggle show-types to annotate values (
name: Ada (string),age: 30 (number)) - handy for documentation that explains a schema. - Read the stats - line count, leaf count, nesting depth, total characters.
- Copy or download - Copy puts text on your clipboard; Download saves
json-<mode>.txt. Ctrl+Enter (⌘+Enter on Mac) forces a recompute.
Frequently Asked Questions
How does the indented tree mode work?
It uses Unicode box-drawing characters from the U+25xx range: ├── (intermediate child), └── (last child), │ (continuation marker). The same characters terminals use for tree output. Result: hierarchical structure that’s visually obvious without needing JSON syntax knowledge.
What’s the difference between pretty JSON and YAML-like?
Pretty JSON keeps the punctuation: { } [ ] , ". YAML-like strips the syntactic noise – no quotes around keys, no commas, no braces – just indentation and colons. YAML-like is more “human” but no longer machine-parseable as JSON.
Why would I use the numbered outline mode?
For documents and slide decks that follow numbered hierarchy (e.g., legal/policy documents, training material, structured reports). Each line gets a unique reference like 1.2.3 that you can cite. Best for shallow-to-medium nesting (4-6 levels); very deep nesting produces unwieldy numbers like 1.1.1.1.1.1.1.
How are arrays handled?
Three modes. Indexed paths: items.0: a, items.1: b (deterministic, machine-readable). Numbered: 1. a, 2. b (human-friendly). Comma-joined: items: a, b, c (only for arrays of primitives; arrays of objects fall back to indexed).
What does “show type annotations” do?
Adds a parenthetical type label to each leaf value: name: Ada (string), age: 30 (number), active: true (boolean), missing: null. Useful for documentation that explains a schema or when reviewing API responses where you need to call out the value types.
Should I quote string values?
Default: no – strings appear bare for clean reading. Turn on if your text contains values that could be confused with other types – e.g., the string "42" vs the number 42, or "true" vs true. With quoting on, strings show as "value".
What about null values?
Three modes. Render: emit as the literal word null. Empty: emit just the key with no value (missing:). Skip: omit the entry entirely. Pick what matches your downstream consumer.
Will the output preserve Unicode and emoji?
Yes. All Unicode characters in your JSON pass through unchanged: emoji 🚀, accented letters (café), CJK (中文), Arabic, anything. We don’t escape or transcode. The output textarea and download preserve UTF-8.
Is my data uploaded?
No. All parsing, walking, and rendering runs in your browser. Open DevTools → Network and watch zero requests fire after the page loads. Safe for API responses, internal data, or proprietary schemas.
Does it work offline?
Yes. Total bundle is under 20 KB. Once the page loads, disconnect and keep converting. Useful when documenting API responses or generating reports without internet.
Related Tools
Analyze JSON Online and Validate JSON Structure →
Analyze JSON Online Validate & Analyze JSON Structure with detailed statistics including depth, key…
Capture JSON Screenshot Generator →
Capture JSON Screenshot and Render pretty-printed JSON as a syntax-highlighted PNG screenshot - dark…
Censor JSON And Redactor →
Censor JSON and Redact passwords, tokens, and PII in JSON with asterisks, [REDACTED], or…
Base64 to JSON Decoder →
Decode Base64 to pretty-printed JSON - URL-safe variant, sort keys, indent 2/4/tab/minified. Free, client-side,…
Convert JSON to Base64 →
Encode JSON to Base64 or decode back. Standard / URL-safe / no padding. Pretty/minified/sorted.…
Convert JSON to Bson →
Real BSON encoding per bsonspec.org - int32/int64/double types, embedded docs, arrays. Bidirectional. Free, offline,…
Convert JSON to Image →
Render JSON as a syntax-highlighted PNG/JPEG with 6 themes, custom fonts, line numbers. Free,…
Convert JSON to Properties →
Convert JSON to Java .properties with real escaping (RFC-correct keys/values). Bidirectional. Spring-style arrays. Free,…
Convert JSON to TSV →
Convert JSON to TSV with real tab/newline escaping. Nested flattening, header union, bidirectional. Free,…
Convert TSV to JSON →
Convert TSV to JSON (and back) with type inference, headers toggle, empty-cell strategy, pretty-print.…
Edit JSON →
Edit a JSON value by dot/bracket path, format or minify, indent 2/4 spaces. Live…
Escape JSON →
JSON-escape a string for embedding inside another JSON value or code literal - with…