Format, validate, and minify JSON, explore it as a collapsible tree with JSONPath copy, and convert JSON to YAML or YAML to JSON - all offline in your browser.
Part of our Developer Tools collection — Explore more Developer Tools tools · See also: Base64 Encode / Decode, URL Encoder / Decoder.
Also available in: versión en español → · version française →
Quick answer: JSON Formatter — Format, view & convert JSON and YAML Free, no signup, runs in your browser. See below for the interactive tool, 4-step guide and FAQs.
Paste valid JSON to format or minify.
Paste JSON to explore it as an interactive collapsible tree. Expand/collapse nodes, see types and values, and copy JSON paths.
root
Object{6}objectPaste YAML (2-space indentation) and convert to JSON. Supports key: value, lists with "-", nested objects/arrays, strings, numbers, booleans and null.
Deep dives from the Tool4SaaS blog — tested workflows, print sizes and fixes.
Reviewed by the Tool4SaaS Editorial Team — In-house reviewers who build and test every tool locally for accuracy across current Chrome, Edge, Firefox, and Safari. Last updated: . See our authors, methodology or contact us.
No. Every mode - format, minify, tree view and YAML conversion - runs locally in your browser, so a 500KB API reply with user records is never transmitted. Close the tab and the input is gone. Treat it as a debugging aid, not a vault: keep production secrets off shared machines and prefer synthetic fixtures for demos.
Yes. Switch to the Tree view to explore any document as collapsible nodes with type labels, per-branch counts and search. Copy a node's JSONPath, such as dollar users 0 name, in one click for fetch calls, tests or jq. Documents beyond a few hundred nodes per branch are capped with a note listing what is hidden, so the panel stays responsive.
The JSON to YAML view restates objects, arrays and scalars as two-space indented YAML for Compose, Kubernetes or CI files. The YAML to JSON view parses two-space YAML back into validated, pretty JSON. Anchors expand inline and hash comments drop, since JSON has no equivalent. Values containing colons must be quoted or they are read as key separators.
Comfortable editing sits around a few megabytes. A 500KB reply with nested arrays formats instantly, while 3MB logs with tens of thousands of nodes render but reward collapsing. YAML input is capped at 500KB per conversion. Split anything past 10MB, validate the fragments, then rejoin - oversized dumps stall any browser tool.
Minify when bytes affect latency: embedding config in HTML, queueing messages, or caching large catalogs. Compact output runs roughly twenty percent smaller than pretty-printed at typical payloads. Pretty-print while debugging and reviewing, minify for the wire, and confirm a clean round-trip to prove the document is valid before shipping.
Four linked views cover the JSON workflow on one page. Format indents a compact payload into a readable hierarchy and flags strict syntax; Minify squeezes it for the wire; Tree turns the same document into collapsible nodes with type badges, per-branch counts and copyable JSONPath; the YAML views restate it as indented YAML and back. Example: paste a compact object holding name Ada and tags 1 and 2, read four indented lines, expand it as a tree to copy the first tag path, then convert to YAML for a Compose file. Parsing uses the native JSON routines, so keys keep source order, numbers keep precision and Unicode escapes survive intact for portability.
Formatting constructs a syntax tree then serializes it with two-space indents for reading or zero gaps for transit, trimming roughly twenty percent of bytes at typical payloads. Reference behavior table: two-space pretty expands 500KB to about 620KB | minified compact shrinks 500KB to about 400KB | strict mode rejects comments trailing commas and single quotes | duplicate keys keep the last value silently | YAML output uses two-space tiers and dash lists | YAML input must quote values containing colons. Tree mode highlights each type in color and copies a path such as the first user's age for fetch calls, tests or jq. Deep or huge documents are capped at a few hundred visible nodes per branch, with a note listing what is hidden, so the page stays responsive instead of freezing.
Load a 90KB reply holding 300 users, collapse the root to survey four top keys, then open the first user to reveal name Ada and copy its path for a ticket. Run the same reply through Minify and note the smaller byte count, then convert it to YAML for a Kubernetes manifest and back to JSON to confirm a clean round-trip. Limitation: very large or deeply nested files can stall a modest device, so split past 10MB and validate each part. For flat tabular data, reach for the dedicated JSON to CSV tool; XML and SQL payloads belong to their own formatters.