Example
Input (minified JSON)
{"name":"yutils","version":"0.1.0","private":true,"tools":55}Output (2-space indent, sorted keys)
{
"name": "yutils",
"private": true,
"tools": 55,
"version": "0.1.0"
}Note
Enable sort-keys to make two JSON values visually diff-friendly. The tree view shows the same data as an expandable hierarchy you can collapse by depth. Double-encoded JSON (Redis · Kafka, etc.) is auto-detected and a one-click unwrap hint appears. MongoDB Extended JSON (`$oid`, `$date`, etc.) is also recognized in the tree view. The Sample button cycles through three cases.
Usage / FAQ
When to use
- Format minified API JSON responses with proper indentation
- Quickly spot missing commas, quotes, or other syntax errors
- Minify indented JSON to a single line for sharing
- Use sort-keys to diff two JSON values visually
- Tree view to navigate deeply nested JSON structures
- MongoDB Extended JSON (DataGrip exports) auto-recognized in tree view
FAQ
- Q.Does data leave my browser?
- A.No. Everything runs client-side. JWT tokens or secrets inside JSON never reach any server.
- Q.My JSON has comments and it errors out.
- A.Standard JSON disallows comments. Use JSONC/JSON5 variants, or consider YAML (yaml-json tool converts both ways).
- Q.Why are tree values colored differently?
- A.Type-based — string=emerald, number=blue, boolean=amber, null=gray. EJSON wrappers get extra colors (ObjectId=violet, Date=orange, etc.).
Fun facts
Douglas Crockford has repeatedly said he didn't "invent" JSON. His own words: "I just discovered it in JavaScript object literals; I didn't create it." What he did in 2001 was give the format a name (JSON), build json.org, and buy the domain. Standardization was a side effect, not a goal.
CrockfordJSON's lack of comments is a deliberate decision by Crockford, not an oversight. He noticed people were starting to abuse comments as parsing directives (like `// utf-8` headers), so he removed them on purpose. "Removing comments saved us from a fragmentation disaster."
Crockford on G+ (2012)JSON has been standardized six times — RFC 4627 (2006), ECMA-404 (2013), RFC 7159 (2014), ECMA-404 2nd ed (2017), RFC 8259 (2017). "Six standards" is another way of saying "nobody got it exactly right the first time". Current authority: RFC 8259 + ECMA-404 2nd edition.
RFC 8259
Related guides
- JSON Schema vs TypeScript Types — When to Generate Which from the Other
What JSON Schema can do that TypeScript can't (and vice versa), generation strategies in both directions, runtime validation with Ajv/Zod, and the right boundary patterns.
- How JSON Parsing Works
Inside the JSON parser — lexer states, why JSON forbids trailing commas, why large integers lose precision (IEEE 754), how streaming JSON works, and the parser quirks that surprise senior engineers.
- YAML vs JSON vs TOML vs XML — Picking a Config Format
Five config formats compared head-to-head — YAML's seven booleans, TOML's typed datetimes, JSON's lack of comments, XML's namespace power, INI's anything-goes. Pick the right format for the job.
Related tools
- String Case Converter
Convert strings between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case — all six cases shown side-by-side.
- Regex Tester
Test JavaScript regular expressions with live match results. Supports g/i/m/s/u/y flags and capture groups.
- Markdown Preview
Render Markdown to HTML side-by-side. Supports CommonMark + GFM (tables, fenced code, task lists). marked is lazy-loaded.
- HTML → Markdown
Convert HTML into Markdown. Headings, lists, links, code, tables, blockquotes. Uses the browser's DOMParser — accurate, 0 dependency.
- YAML ↔ JSON
Convert between YAML and JSON. Tolerates comments and multiline strings on the YAML side. yaml is lazy-loaded.
- Text Diff
Compare two texts and highlight added/removed lines, words, or characters.
- JSON Diff
Compare two JSON values, with optional key sorting and JSON-aware error messages.
- CSV ↔ JSON
Convert between CSV and JSON. Handles quoted fields, custom delimiters, and header rows.
- SQL Formatter
Format SQL queries with proper indentation and keyword casing. Supports PostgreSQL, MySQL, SQLite, and standard dialects.
- XML Formatter
Pretty-print or minify XML with attribute preservation. Handles SOAP, sitemaps, and config files.
- XML ↔ JSON
Convert between XML and JSON with attribute and element handling.
- Smart Paste
Paste any text and get tool recommendations — JSON, JWT, Base64, URL, UUID, Cron, and 9 more types auto-detected.
- Lorem Ipsum
Generate placeholder text in words, sentences, or paragraphs. Classic Lorem Ipsum or randomized.
- JSON Path
Query JSON with JSONPath expressions ($.store.book[*].author etc.) and inspect matches.
- JSON Schema Validator
Validate JSON data against a JSON Schema (Draft 2020-12). Powered by Ajv with format support.
- JSON Schema Generator
Generate a JSON Schema (Draft 2020-12) from a sample JSON. Infer types, required fields, and nested structures automatically.
- HTML Formatter
Beautify or minify HTML with proper indentation, attribute alignment, and configurable wrap.
- CSS Formatter
Beautify or minify CSS with proper indentation. Configurable selector and property style.
- JavaScript Formatter
Beautify or minify JavaScript with brace style and indent options. Powered by js-beautify.
- TOML ↔ JSON
Convert between TOML (Tom's Obvious Minimal Language) and JSON. Used in Cargo.toml, pyproject.toml, etc.
- INI ↔ JSON
Convert INI configuration to JSON and back. Supports sections, comments (; or #), and key=value.
- JSON → TypeScript
Generate TypeScript interfaces from a JSON sample. Nested objects become separate interfaces.
- JS Object → JSON
Convert a JavaScript object literal (unquoted keys, single quotes, trailing commas, comments) into standard JSON. Lenient parser, strict output.
- Slug Generator
Convert text into a URL-safe slug. Configurable separator, lowercase, and accent stripping.
- ASCII Tree
Convert indented text or path list into a box-drawing tree (├── │ └──).
- Diff Patch
Generate a unified diff (-u) patch from two text inputs. Compatible with `git apply` / `patch -p0`.
- Mock Data
Generate fake JSON records and SQL INSERT seed data — names, emails, custom fields, UUIDs, dates, and more. 0 dependency.
- MongoDB Extended JSON
Convert MongoDB Extended JSON (EJSON) between Canonical and Relaxed forms, or strip BSON wrappers to plain JSON. Recognizes 16 wrapper types ($oid/$date/$numberLong/$numberDecimal/$binary/...).
- Kubernetes YAML Visualizer
Paste Kubernetes manifests and see the resource graph — Deployments, Services, Ingresses, ConfigMaps, Secrets, PVCs, and how they connect. yaml is lazy-loaded.
- Docker Compose Visualizer
Paste docker-compose.yml and see services, networks, volumes, and depends_on as an interactive graph. Client-side, lazy-loaded yaml.
- PDF Text Extractor
Extract text from a PDF file — page by page or as a single document. Markdown-friendly output, all client-side.
- PPTX Text Extractor
Extract slide text from a .pptx file — plain / markdown / per-slide. Great for converting decks to markdown. All client-side.
- Regex Railroad Diagram
Visualize your regex as a railroad diagram — trace branches, groups, and quantifiers at a glance, in your browser.
- Word & Character Counter
Count characters (with/without spaces), words, sentences, paragraphs, lines, and bytes in real time — free, in your browser.