What this does
Decodes JSON that has been turned into a string, once or many times, and pretty-prints the underlying document. This is the shape you often meet in logs, message queues, database columns, and API fields that carry a JSON payload as text.
What it accepts
- A quoted JSON string:
"{\"a\":1}". - Escaped text that lost its outer quotes:
{\"a\":1}. - Double or triple encoding: it keeps decoding until the result is no longer a string that holds JSON (up to 20 levels) and reports how many levels it removed.
- Plain JSON, which is simply formatted and noted as having zero levels.
Nested JSON strings
Turn on Also decode JSON strings inside the document to expand string values that themselves hold JSON objects or arrays, such as a payload field in an event envelope.
Strings that merely look like numbers or booleans, such as "123" or "true", are left as strings, because converting them would change the data.
Example
Input:
"{\"user\":{\"id\":7},\"tags\":[\"a\"]}"Result:
{
"user": { "id": 7 },
"tags": ["a"]
}Privacy
Everything runs in your browser. Your input is never uploaded, stored, or put in the page URL.