Documentation
Overview, examples, and common errors for each tool. More in-depth guides are added as new tools ship.
JSON Validator
Open toolPaste or upload JSON and get instant, precise feedback — the exact line, column, and reason for any syntax error, plus a plain-language explanation of how to fix it.
Best practices
- Every syntax error is pinpointed to an exact line and column, not just a vague message.
- Errors are translated from cryptic parser output into a clear description of what's wrong.
- Validate deeply nested or multi-megabyte JSON without the tab freezing.
Common questions
- Is this JSON validator free to use?
- Does my JSON get uploaded anywhere?
- What counts as valid JSON?
Example input
{
"user": {
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": {
"city": "Pune",
"pincode": "411001"
},
"lastLogin": null
}
}JSON Formatter
Open toolPretty-print messy or minified JSON into clean, readable output with 2-space, 4-space, or tab indentation — or compress it down to a single line for production.
Best practices
- Choose 2 spaces, 4 spaces, or tabs — or minify to a single compact line.
- Formatting only changes whitespace; your object key order is never altered.
- Strip all whitespace for the smallest possible payload before shipping to production.
Common questions
- What's the difference between formatting and minifying?
- Does formatting change the data?
- Can I format very large JSON files?
Example input
{ "user": { "id": 1024, "name": "Asha Verma", "isActive": true, "roles": ["admin", "editor"], "address": { "city": "Pune", "pincode": "411001" }, "lastLogin": null } }JSON Repair
Open toolPaste broken JSON — missing commas, single quotes, unquoted keys, trailing commas, unbalanced brackets — and get a corrected document plus a step-by-step log explaining every fix.
Best practices
- Each repair step is logged in plain language, so you learn what was wrong and why.
- Handles single quotes, unquoted keys, trailing/missing commas, and unbalanced brackets.
- Repairs run as a fixed, transparent pipeline — never a black-box guess at your data.
Common questions
- What kinds of JSON errors can this fix?
- Will it change my actual data values?
- What happens if it can't fully repair my JSON?
Example input
{
name: 'Asha Verma',
"id": 1024,
"isActive": true
"roles": ["admin", "editor",],
"address": {
"city": "Pune"
"pincode": "411001",
},
}JSON Viewer
Open toolPaste JSON and instantly browse it as a navigable tree — expand and collapse objects and arrays, see item counts at a glance, and scan large documents without scrolling through raw text.
Best practices
- Expand or collapse any object or array node individually, or all at once.
- Strings, numbers, booleans, and null are each colored distinctly for fast scanning.
- Collapsed nodes show how many keys or items they contain, so you know what's inside before opening it.
Common questions
- How is a JSON viewer different from a formatter?
- Can I collapse just part of the tree?
- Does the tree view work with large JSON files?
Example input
{
"company": "Nimbus Retail",
"founded": 2016,
"public": false,
"categories": ["electronics", "home", "outdoors"],
"headquarters": {
"city": "Bengaluru",
"country": "India"
},
"topProducts": [
{ "sku": "NR-1001", "name": "Wireless Mouse", "price": 799 },
{ "sku": "NR-1002", "name": "Mechanical Keyboard", "price": 3499 }
]
}JSON to CSV
Open toolConvert a JSON array of objects — or a single nested object — into CSV. Nested fields are flattened into dot-notation columns so the result opens cleanly in Excel, Google Sheets, or any spreadsheet tool.
Best practices
- Nested objects and arrays become dot-notation columns like address.city automatically.
- The common case — a JSON array of records — converts straight into one CSV row per record.
- Commas, quotes, and line breaks inside values are escaped so the CSV opens correctly everywhere.
Common questions
- What JSON structures can this convert?
- What happens to nested objects and arrays?
- Will the column order stay consistent?
Example input
[
{ "id": 1, "name": "Asha Verma", "address": { "city": "Pune", "pincode": "411001" } },
{ "id": 2, "name": "Rohan Mehta", "address": { "city": "Nashik", "pincode": "422001" } }
]JSON to XML
Open toolConvert JSON objects and arrays into well-formed, indented XML. Object keys become element names, arrays repeat the parent element, and special characters are escaped automatically.
Best practices
- Produces valid, indented XML with a proper declaration and correctly nested elements.
- Characters like &, <, and > are escaped so the output is always valid XML.
- JSON arrays convert into a repeated element per item, the conventional XML representation.
Common questions
- How are JSON arrays represented in XML?
- What happens to JSON keys that aren't valid XML tag names?
- Does the converter preserve data types?
Example input
{
"user": {
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": {
"city": "Pune",
"pincode": "411001"
},
"lastLogin": null
}
}JSON Tree View
Open toolBrowse JSON as an interactive tree with expandable nodes — the same tree view as our JSON Viewer, tuned for the \"tree view\" workflow of drilling into deeply nested structures one level at a time.
Best practices
- Expand or collapse any branch individually, or all at once.
- Strings, numbers, booleans, and null are colored distinctly.
- Stays responsive on deeply nested API responses.
Common questions
- How is Tree View different from the JSON Viewer?
- Can I collapse just one branch?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Diff
Open toolPaste two JSON documents to see added, removed, and changed fields at a glance — useful for comparing API responses across versions, environments, or deployments.
Best practices
- Every change is reported with its exact dot-notation path.
- Compares nested arrays and objects recursively, not just top-level keys.
- Both documents are compared entirely in your browser.
Common questions
- What counts as a difference?
- Does key order matter?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Escape
Open toolConvert a block of text — code, multi-line strings, anything with quotes or newlines — into a properly escaped JSON string literal you can drop straight into a JSON document.
Best practices
- Quotes, backslashes, newlines, tabs, and unicode are all escaped correctly.
- Output includes the surrounding quotes, ready to use as a JSON value.
- Uses JSON.stringify under the hood, entirely client-side.
Common questions
- What does escaping actually do?
- Does it add the surrounding quotes?
Example input
Hello "world"\nThis has a newline and "quotes".
JSON Unescape
Open toolPaste an escaped JSON string — with \n, \", and other escape sequences — and get the original, human-readable text back.
Best practices
- Converts \n, \t, \", and unicode escapes back to real characters.
- Paste the string literal with or without its surrounding quotes.
- No upload, no delay — unescapes as you type.
Common questions
- Do I need to include the surrounding quotes?
- What if the string isn't validly escaped?
Example input
"Hello \"world\"\nThis has a newline."
JSON Sort Keys
Open toolNormalize a JSON document by sorting object keys alphabetically throughout — handy for producing consistent diffs and easier-to-scan documents.
Best practices
- Nested objects are sorted recursively, not just the top level.
- Only key order changes — every value stays exactly as it was.
- Sort two versions of a document first to make real changes easier to spot.
Common questions
- Does this change the data?
- Are array item orders changed?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Flatten
Open toolConvert deeply nested JSON into a single-level object using dot and bracket notation keys (like address.city) — useful for feeding JSON into flat systems like spreadsheets or key-value stores.
Best practices
- Nested objects become dot paths; arrays become bracket-indexed paths.
- Pair with JSON Unflatten to convert flattened keys back into nested JSON.
- Every value is preserved — only the shape changes.
Common questions
- What happens to arrays?
- Can I reverse this?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Unflatten
Open toolConvert a flat object with dot/bracket-notation keys (like address.city) back into properly nested JSON.
Best practices
- Dot and bracket notation keys become properly nested objects and arrays.
- The exact reverse of the JSON Flatten tool.
- Bracket-indexed keys are rebuilt as real arrays, not object-like maps.
Common questions
- What key format does this expect?
- What if my keys aren't in that format?
Example input
{
"address.city": "Pune",
"address.pincode": "411001",
"roles[0]": "admin",
"roles[1]": "editor"
}JSON Search
Open toolFind every place a key or value appears inside a large JSON document, with the full path to each match — much faster than scanning by eye.
Best practices
- Matches both object keys and primitive values, case-insensitively.
- Each result shows the exact dot-notation path to that field.
- Results update as you type, entirely in your browser.
Common questions
- Does search look inside arrays?
- Is the search case-sensitive?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Merge
Open toolCombine two JSON documents into one, with the second document's values overriding the first's on conflict — nested objects are merged recursively, not just replaced.
Best practices
- Nested objects are merged field-by-field, not simply overwritten.
- The second ("Overrides") document always wins on conflicting values.
- Combine a base config with environment-specific overrides.
Common questions
- What happens when both documents have the same array?
- Which document wins on conflicts?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON to YAML
Open toolConvert JSON into YAML — ideal for turning an API response or config into the format used by tools like Docker Compose, Kubernetes, and GitHub Actions.
Best practices
- Proper indentation and only quotes strings when actually necessary.
- Objects and arrays of any depth convert correctly.
- Skip writing a conversion script for a one-off YAML file.
Common questions
- Does this handle deeply nested JSON?
- Will strings get unnecessary quotes?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON to TypeScript
Open toolPaste a sample JSON response and get matching TypeScript interfaces instantly — including nested interfaces for nested objects.
Best practices
- Nested objects generate their own named interfaces, not inline blobs.
- Arrays of objects or primitives produce correctly typed array fields.
- Output is valid, ready-to-use TypeScript.
Common questions
- How are nested objects named?
- What if a field can be null?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON to Zod Schema
Open toolPaste a sample JSON response and get a ready-to-use Zod schema — the runtime validation library widely used in TypeScript projects — inferred from its shape.
Best practices
- Nested objects generate nested z.object() calls, not flattened types.
- Integers use z.number().int(), distinct from floating-point numbers.
- Includes the import statement and an inferred TypeScript type export.
Common questions
- Does the output include the import statement?
- How are optional fields handled?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON to Python
Open toolConvert JSON into a Python dictionary/list literal — true/false become True/False and null becomes None, ready to paste directly into a .py file.
Best practices
- true/false/null become True/False/None automatically.
- Nested dicts and lists are indented for easy reading.
- Output is valid Python, ready to assign to a variable.
Common questions
- Why not just use Python's json.loads?
- Are numbers preserved exactly?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON to Java
Open toolPaste a sample JSON object and get a Java class with typed fields, getters, and setters — ready to paste into your project.
Best practices
- Every field gets a standard public getter and setter method.
- Integers, doubles, booleans, Strings, Lists, and Maps are inferred correctly.
- Pass an array and the first item's shape is used as the class template.
Common questions
- What if my JSON has nested objects?
- Can I set the class name?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON to SQL
Open toolConvert a JSON array of objects into a CREATE TABLE statement plus one INSERT per record — a fast way to seed a database table from API data.
Best practices
- Generates both the schema and the data-loading statements.
- Infers INTEGER, REAL, BOOLEAN, or TEXT column types from the first record.
- Single quotes in string values are escaped correctly for SQL.
Common questions
- Which SQL dialect is this?
- What determines the column types?
Example input
[
{ "id": 1, "name": "Asha Verma", "email": "asha@example.com", "isActive": true },
{ "id": 2, "name": "Rohan Mehta", "isActive": false }
]JSON Schema Validator
Open toolCheck that a JSON document actually matches the structure you expect — required fields, correct types, string patterns, and value ranges — using a real JSON Schema.
Best practices
- Supports type, properties, required, items, enum, and range/length constraints.
- Every violation names the exact field and what was expected.
- Both the document and the schema are validated entirely in your browser.
Common questions
- Which JSON Schema keywords are supported?
- Do I need to write the schema by hand?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Schema Generator
Open toolPaste a sample JSON document and get a draft JSON Schema inferred from its structure — types, required fields, and nested object/array shapes included.
Best practices
- Every key present in the sample is marked required by default.
- Nested objects and arrays get their own nested schema definitions.
- Generate a starting schema here, then validate future documents against it.
Common questions
- Will every field be marked required?
- What JSON Schema draft is this?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}API Mock Generator
Open toolPaste a sample JSON record (or array) and generate any number of realistic fake records with the same shape — names, emails, dates, and IDs are generated to look plausible, not just random strings.
Best practices
- Field names like email, date, and price generate plausible values, not gibberish.
- Choose exactly how many fake records you need for a test fixture.
- Mock an API response before the real backend endpoint exists.
Common questions
- How does it decide what kind of fake value to generate?
- Can I generate more than 50 records at once?
Example input
[{"id":1,"name":"Asha Verma","email":"asha@example.com","active":true}]JSON Secret Scanner
Open toolPaste JSON before pasting it into a bug report, a Slack message, or a GitHub issue — this scans for AWS keys, Stripe keys, JWTs, private key blocks, emails, and fields with sensitive names like "password" or "token".
Best practices
- Recognizes common formats: AWS keys, Stripe keys, GitHub tokens, JWTs, private key blocks, and more.
- Flags fields named password, token, secret, ssn, and similar regardless of value format.
- Findings show a masked preview, not the full secret, when displaying results.
Common questions
- Is this a guarantee nothing sensitive is in my JSON?
- Does scanning send my data anywhere?
Example input
{
"username": "asha",
"password": "hunter2",
"apiKey": "AKIAABCDEFGHIJKLMNOP",
"email": "asha@example.com"
}JSON Sanitizer
Open toolAutomatically redact values in commonly-sensitive fields — passwords, tokens, emails, secrets — replacing them with a placeholder so you can safely share JSON in a bug report or documentation.
Best practices
- Fields like password, token, secret, ssn, and email are automatically replaced.
- Only sensitive values change — the shape of the document stays intact for testing.
- Scan first to see what would be flagged, then sanitize before sharing.
Common questions
- What gets redacted?
- Can I choose which fields to redact?
Example input
{
"username": "asha",
"password": "hunter2",
"email": "asha@example.com",
"isActive": true
}JSON Complexity Analyzer
Open toolAnalyzes a JSON document's depth, key counts, and array sizes, and flags structural patterns that tend to cause slow parsing, awkward APIs, or bloated payloads.
Best practices
- Reports max nesting depth, total keys, largest array, and payload size.
- Flags specific structural issues rather than just dumping raw numbers.
- Catch overly deep or overly wide response shapes before they reach consumers.
Common questions
- What counts as \"too deep\"?
- Does this check for actual runtime performance?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Payload Optimizer
Open toolReports minification savings and flags null or empty fields that could be omitted entirely, so you can trim an API response before shipping it.
Best practices
- Shows exactly how many bytes whitespace removal alone would save.
- Lists every null, empty string, empty array, or empty object with its path.
- Notes that transport-level compression is usually the bigger win.
Common questions
- Should I always remove null fields?
- Is minifying enough to shrink a payload significantly?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Field Mapper
Open toolProvide a simple {\"oldKey\": \"newKey\"} mapping and rename that key everywhere it appears in a JSON document, at any depth — useful for adapting one API's response shape to another's.
Best practices
- The same key is renamed wherever it appears, nested or not.
- Just a flat JSON object of old-key-to-new-key pairs.
- Quickly reshape one service's field names to match another's contract.
Common questions
- What if a key in my mapping doesn't exist in the data?
- Does this rename nested keys too?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Documentation Generator
Open toolPaste a sample JSON response and get a clean Markdown table documenting every field, its inferred type, and an example value — ready to drop into API docs or a README.
Best practices
- Renders directly in GitHub READMEs, wikis, and most documentation tools.
- Every field lists its inferred type and a real example value from your sample.
- Nested objects and array items are documented with their full path.
Common questions
- Does this replace a full API documentation tool?
- How are array fields represented?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Field Usage Heatmap
Open toolPaste a JSON array of records — API responses, log entries, exported rows — and see what percentage of records include each field, and whether its type is consistent across all of them.
Best practices
- See exactly what share of records actually include each field.
- Flags fields that show up with different types across records.
- Spot fields that are technically optional but rarely used, or inconsistently typed.
Common questions
- What input does this expect?
- What does an inconsistent type warning mean?
Example input
[
{ "id": 1, "name": "Asha Verma", "email": "asha@example.com", "isActive": true },
{ "id": 2, "name": "Rohan Mehta", "isActive": false }
]JSON API Contract Checker
Open toolCompare an actual API response against an expected \"contract\" sample, checking types and field presence only — not literal values — to catch breaking API changes before they reach production.
Best practices
- Ignores literal value differences — only flags missing fields, extra fields, and type mismatches.
- Compare a new API response against a saved contract before deploying a client that depends on it.
- Recursively checks structure at every level, including array item shapes.
Common questions
- How is this different from JSON Diff?
- What does a type mismatch mean?
Example input
{
"id": 1024,
"name": "Asha Verma",
"isActive": true,
"roles": ["admin", "editor"],
"address": { "city": "Pune", "pincode": "411001" },
"lastLogin": null
}JSON Health Score
Open toolGet an overall JSON Health Score out of 100, broken down across five categories — syntax, structure, security, maintainability, and performance — with every point deduction explained and a concrete suggestion for fixing it.
Best practices
- Syntax, structure, security, maintainability, and performance — 20 points each.
- No black-box scoring — each point lost is tied to a specific, named issue.
- Every category of issue comes with an actionable fix, not just a warning.
Common questions
- How is the score calculated?
- Does a low score mean my JSON is invalid?
- Is this the same engine as the Secret Scanner and Complexity Analyzer?
Example input
{
"id": 1024,
"user_name": "Asha Verma",
"userEmail": "asha@example.com",
"apiKey": "AKIAABCDEFGHIJKLMNOP",
"roles": ["admin", 2, true],
"isActive": true
}Semantic Diff
Open toolCompare two versions of a JSON document and get a compatibility report: added fields, removed fields, renamed fields, type changes, and value changes — each classified as breaking or non-breaking, with an overall risk level and migration suggestions.
Best practices
- Distinguishes a renamed field from an unrelated add+remove pair.
- Every change is classified so you know exactly what actually risks breaking a client.
- Get an overall compatibility risk level and a concrete suggestion for every breaking change.
Common questions
- How is this different from JSON Diff?
- How does rename detection work?
- What does "Risk Level" mean?
Example input
{
"id": 1024,
"userName": "Asha Verma",
"isActive": true,
"roles": ["admin"]
}