JSON Unescape.

Decode an escaped JSON string back to readable text — handles \n, \t, \uXXXX and double-escaped input, and pretty-prints the result if it is JSON. 100% private, in your browser.

No signup · No uploads · Need the reverse? Use JSON Escape

Decoded text

JSON unescape online - decode escaped JSON strings

A JSON unescape tool decodes escaped JSON text back to readable strings. Paste an escaped value above to decode sequences like \n, \t, \", and \uXXXX. If the decoded text is JSON, the tool can format it so the structure is easier to inspect.

Decode double-escaped JSON from logs and APIs

Logs and nested payloads often contain JSON encoded inside another JSON string. This JSON unescaper can run another pass for double-escaped content, helping you debug webhook bodies, database values, and application logs without using unsafe eval.

Why your JSON is full of backslashes

Because it was stored or transmitted inside another string. A log line, a database TEXT column, or a webhook that wraps its payload in a string field all produce this — the inner quotes had to be escaped to survive the trip, and what you are left with is barely readable.

Unescaping peels that layer off and hands you back ordinary JSON. If the decoded text turns out to be valid JSON, the tool pretty-prints it too, which is usually the fastest way to make sense of a payload someone logged as a string.

Double-escaped JSON, and how to peel it

If you see twice as many backslashes as you expected, the value went through two rounds of escaping — typically a pipeline that stringified an already-stringified value.

Each unescape pass removes exactly one layer. Run it once; if the output still looks escaped, run it again. Two or even three layers is common in log aggregators that wrap a message which already wrapped a payload.

Unicode escapes

A sequence like A is simply the character U+0041 — the letter A. JSON permits any character to be written this way, and many serialisers escape all non-ASCII by default, which is how accented text turns into an unreadable run of codes. Python does exactly this unless you pass ensure_ascii=False. Unescaping converts them back to real characters.

Not the same as URL or HTML decoding

Three different encodings that people constantly confuse. JSON unescape handles backslash sequences. URL decoding handles percent-encoding like %20. HTML decoding handles entities like ". If your text is full of percent signs, this is not the tool you need.

Why use this JSON unescape tool?

It is private, instant, and purpose-built for JSON string rules. Need to encode text instead? Use JSON Escape, or read how to unescape a JSON string.

FAQ

JSON unescape, answered.

How do I unescape a JSON string online? +

Paste an escaped JSON string into the JSON Unescape tool and it will decode escape sequences like \n, \t, \" and \uXXXX back to readable text. If the decoded result is JSON, the tool can pretty-print it too.

What does JSON unescape decode? +

It decodes standard JSON string escape sequences, including escaped quotes, backslashes, newlines, tabs, carriage returns, and Unicode escapes such as \u0041.

Can it handle double-escaped JSON? +

Yes. Double-escaped JSON is common in logs, database fields, and nested API payloads. The tool can run a second decode pass when the first result is still escaped.

Do I need surrounding quotes around the escaped string? +

No. The tool can handle a complete quoted JSON string or escaped content without surrounding quotes. Complete quoted strings are easiest to decode in code with JSON.parse.

What is the difference between JSON unescape, URL decode, and HTML decode? +

They decode different formats. JSON unescape handles sequences like \n and \". URL decode handles percent encoding like %20. HTML decode handles entities like ".

Is my escaped JSON string private? +

Yes. JSON unescape runs locally in your browser. Your text is never uploaded, stored, logged, or sent to any server.

Why is my JSON full of backslashes? +

Because it has been escaped — the JSON was stored or transmitted inside another string, so its quotes were escaped to survive the trip. Log files, database text columns, and API responses that wrap a payload in a string field all produce this. Unescaping peels the layer off and gives you back the real JSON.

What is double-escaped JSON and how do I fix it? +

It is JSON that was escaped twice, usually by a pipeline that stringified an already-stringified value. You see \\n where you expected a newline and \\" where you expected a quote. Unescape it once to peel off one layer — and if the result still looks escaped, unescape it again. Each pass removes exactly one layer.

How do I read escaped JSON from a log file? +

Copy the escaped string out of the log line and paste it here. The tool decodes the escape sequences and, if the result turns out to be valid JSON, pretty-prints it so you can actually read it. This is by far the fastest way to make sense of a payload that was logged as a string.

What does \u0041 mean in my JSON? +

It is a Unicode escape sequence — the character U+0041, which is the letter A. JSON allows any character to be written this way, and many serialisers escape all non-ASCII characters by default, which is why accented text can arrive as an unreadable run of \uXXXX codes. Unescaping converts them back to the real characters.