Your JSON is processed entirely in your browser — nothing is sent to any server. Safe for sensitive API keys, credentials, and private data.
Invalid JSON
Valid JSON
Input JSON
Formatted Output
Try a sample:
JSONPath Expression
Examples:
Result
Enter a JSONPath expression above and format your JSON first…
JSON A (original)
JSON B (modified)
Fetch JSON from URL

Paste a public API endpoint or raw JSON URL. The response will be loaded into the editor and formatted automatically. Works with any CORS-enabled endpoint.

Public API examples:
Frequently Asked Questions
JSON (JavaScript Object Notation) is the universal data format used by virtually every API, configuration file, and web service. When APIs return data or when you copy JSON from a database or log file, it often arrives as a single compressed line — called "minified" JSON — with no whitespace. While this is efficient for computers to transfer, it's nearly impossible for humans to read. A JSON formatter takes that dense blob and adds indentation and line breaks, transforming it into a structure where each key-value pair is on its own line and nested objects are visually indented. This makes it trivially easy to understand the data structure, find specific fields, and spot errors.
Yes, completely safe. This tool runs 100% in your browser using JavaScript. When you paste JSON into the editor, it is processed entirely on your device — no data is transmitted to any server. You can verify this yourself by opening your browser's developer tools and checking the Network tab while using the tool; you will see zero outbound requests containing your data. This makes it safe to paste sensitive information like API keys, user records, configuration files with passwords, and internal data structures.
JSONPath is a query language for JSON, similar to how XPath works for XML. It lets you extract specific values from a JSON document using a path expression. The root of any JSON document is represented by $. You navigate into objects using dot notation: $.user.name gets the "name" key inside the "user" object. Square brackets let you access array indices: $.items[0] gets the first item. The wildcard [*] matches all elements: $.users[*].email returns all email addresses. The recursive descent operator .. searches at any depth: $..id finds every "id" key anywhere in the document. Format your JSON first, then enter a path expression in the JSONPath Tester tab.
Formatting (also called "beautifying" or "prettifying") adds whitespace — indentation and newlines — to make JSON readable by humans. Minifying does the opposite: it strips all unnecessary whitespace to produce the smallest possible JSON string. Formatted JSON is what you want when reading, debugging, or documenting. Minified JSON is what you want when transmitting data over a network or storing it in a database, since it reduces file size. The actual data content is identical — just the whitespace changes.
The most common JSON errors are: (1) Trailing commas — JSON does not allow a comma after the last item in an object or array, even though JavaScript does. (2) Single quotes — JSON requires double quotes for all strings and keys. Single quotes are invalid. (3) Unquoted keys — unlike JavaScript object literals, JSON requires every key to be wrapped in double quotes. (4) Comments — JSON does not support comments of any kind. Remove any // comment or /* block comment */ before parsing. (5) Missing or extra brackets — every opening brace or bracket must have a matching closing one. Our error messages identify the exact line and character where the problem occurs, along with a plain-English explanation of how to fix it.