JSON Formatter, Viewer and ValidatorFormat, minify, sort, search, and query JSON with JSONPath, then copy paths for nine developer languages. Everything runs locally in your browser with no upload.
en

JSON Formatter, Viewer and Validator

Format, minify, sort, search, and query JSON with JSONPath, then copy paths for nine developer languages. Everything runs locally in your browser with no upload.

Browser-local · no upload

Valid JSON
Current output
Indent
{
  "users": [
    {
      "id": 101,
      "name": "Ada",
      "role": "admin",
      "profile": {
        "display-name": "Ada Lovelace",
        "active": true
      }
    },
    {
      "id": 102,
      "name": "Linus",
      "role": "developer",
      "profile": {
        "display-name": "Linus Torvalds",
        "active": true
      }
    }
  ],
  "meta": {
    "id": "team-1",
    "generated": "2026-07-15"
  }
}

Common tasks

  • json formatter viewer validator
  • json formatter with tree view
  • jsonpath filter online local
  • copy json path javascript python
  • json pointer and jq path generator
  • minify sort search json
  • private browser local json formatter

Quick answer

AppHelp's JSON Workbench validates JSON as you type, formats or minifies it, offers a collapsible tree, and finds nodes with text search or JSONPath. Select any result to copy its access path in nine deterministic formats. Input, queries, results, and previews stay in browser memory: they are not uploaded, persisted, added to the URL, or sent as analytics parameters.

How to use

  1. 1. Paste or load JSONAdd an API response, configuration object, log event, or the built-in example. Syntax feedback includes the native parser message and line and column when a character position is available.
  2. 2. Format the current documentChoose Pretty or Minify, set 2-space, 4-space, or Tab indentation, and optionally sort object keys recursively. Arrays keep their original order.
  3. 3. Browse or filter nodesUse Tree to expand only the branches you need, Quick Find for case-insensitive key, path, or scalar matching, or JSONPath for wildcards and safe conditions.
  4. 4. Copy a value or developer pathSelect a tree node or result, then copy its value, canonical JSONPath, JSON Pointer, or language-specific access expression. You can also copy or download the formatted document.

Examples

Format and sort an object

Input
{"z":1,"users":[{"name":"Ada"}],"a":2}
Output
{
  "a": 2,
  "users": [
    {
      "name": "Ada"
    }
  ],
  "z": 1
}

Recursive key sorting changes object-key order but never reorders arrays.

Copy a nested developer path

Input
users[0].profile["display-name"]
Output
data.users[0].profile["display-name"]

The same selected node is also available as Python, PHP, Java/Jackson, Go, C#/JsonElement, JSONPath, jq, and JSON Pointer.

Filter administrators with JSONPath

Input
$.users[?(@.role == "admin")]
Output
A JSON array of matching user values

Filter expressions use JSONPath Plus safe evaluation rather than native eval.

Common use cases

  • Inspect an API response and copy a deeply nested access path into application code
  • Minify a configuration payload or pretty-print it for a review
  • Find every occurrence of a key or scalar value in a large nested document
  • Prototype wildcard and conditional JSONPath queries before using the dedicated tester
  • Download normalized JSON without sending private payloads to a server

Edge cases

  • JSON object keys must be double quoted; comments, trailing commas, NaN, Infinity, and undefined are invalid JSON
  • Duplicate object keys are resolved by JSON.parse, so only the last value for a repeated key remains
  • Numbers beyond JavaScript's safe integer range can lose precision; preserve such identifiers as strings
  • JSONPath implementations differ. This tool follows JSONPath Plus 10.4 semantics and uses safe expression evaluation
  • JSON Pointer escapes ~ as ~0 and / as ~1; an empty pointer identifies the root document
  • Very large documents are limited by browser memory. Results render at most 200 rows and report when truncated

Features

  • Pretty-print or minify JSON with 2 spaces, 4 spaces, or tabs
  • Sort object keys recursively while preserving array order
  • Browse a lazy JSON tree and select individual nodes
  • Search keys, canonical paths, and scalar values without case sensitivity
  • Run JSONPath Plus wildcard and safe filter queries
  • Copy selected paths for JavaScript, TypeScript, Python, PHP, Java, Go, C#, JSONPath, jq, and JSON Pointer
  • Copy or download the current output without uploading input

Frequently asked questions

Is this JSON formatter free and private?
Yes. It is free and requires no account. JSON text, search terms, JSONPath expressions, values, and paths remain in your browser and are not uploaded or persisted.
Which path formats can I copy?
A selected node can be copied for JavaScript/TypeScript, Python, PHP, Java with Jackson, Go with map[string]any, C# with JsonElement, JSONPath, jq, and JSON Pointer.
Does recursive sorting change arrays?
No. It sorts keys inside every JSON object but preserves array item order.
Which JSONPath dialect is supported?
Queries use JSONPath Plus 10.4 semantics. Wildcards, recursive descent, and safe filter expressions are supported, but another implementation may interpret edge cases differently.
Does the formatter repair invalid JSON or validate schemas?
No. It reports parse errors but does not guess repairs. Schema validation, diffing, and format conversion remain separate AppHelp tools.