Documentation

Overview, examples, and common errors for each tool. More in-depth guides are added as new tools ship.

JSON Validator

Open tool

Paste 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 tool

Pretty-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 tool

Paste 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 tool

Paste 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 tool

Convert 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 tool

Convert 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 tool

Browse 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 tool

Paste 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 tool

Convert 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 tool

Paste 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 tool

Normalize 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 tool

Convert 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 tool

Convert 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 tool

Find 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 tool

Combine 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 tool

Convert 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 tool

Paste 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 tool

Paste 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 tool

Convert 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 tool

Paste 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 tool

Convert 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 tool

Check 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 tool

Paste 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 tool

Paste 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 tool

Paste 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 tool

Automatically 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 tool

Analyzes 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 tool

Reports 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 tool

Provide 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 tool

Paste 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 tool

Paste 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 tool

Compare 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 tool

Get 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 tool

Compare 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"]
}