What is JSON unescape?
JSON unescape is the reverse of JSON escaping: it turns backslash sequences back into the literal characters they represent: \n → newline, \" → ", \\ → \, \uXXXX → the actual character.
Developers use it to read escaped log/API output and to unwrap JSON that's been stringified into a field of another JSON document. Because it's client-side, sensitive payloads never leave the browser.
Edge cases & gotchas
- Double-escaped / nested JSON needs multiple passes:
\\"→\"→". Each unescape peels one layer. - Invalid escapes (e.g.
\x, a lone\) aren't valid JSON, so the tool flags them rather than guessing, surfacing the problem instead of silently corrupting output. \uXXXXrequires exactly 4 hex digits; surrogate pairs combine into one emoji.- Don't confuse JSON unescape with URL-decode or HTML-entity decode (different escaping schemes).
- Unescaping arbitrary text isn't the same as parsing: a
\that's not part of a valid sequence is a red flag. - A missing escape in a deeply nested structure causes hard-to-trace parse errors downstream.
Escape sequence reference
| Escape sequence | Character |
|---|---|
\" | " (double quote) |
\\ | \ (backslash) |
\/ | / (forward slash) |
\b | backspace |
\f | form feed |
\n | newline |
\r | carriage return |
\t | tab |
\uXXXX | Unicode char (4 hex digits) |
How to use
- Copy the escaped JSON string (from a log line, API response, or a JSON-inside-JSON field).
- Paste it into the Input pane.
- The tool reverses every escape sequence:
\n \t \r \" \\ \/ \b \f \uXXXX. - Copy the unescaped output. Verify no network requests fire in DevTools.
Examples
Basic escape sequences
Line 1\nLine 2\tTabbed and \"quoted\"
Line 1 Line 2 Tabbed and "quoted"
Unicode escape (edge case)
Caf\u00e9 \u2013 100% \u2705
Café – 100% ✅
Double-escaped string (edge case)
{\\"user\\":\\"a\\\\b\\"}{\"user\":\"a\\b\"}FAQ
What does JSON unescape mean?
Reverting escape sequences (\n, \", \uXXXX) in a string back to their original characters so the text is readable.
When do I need it?
When you copy a JSON string from logs or an API response and want the raw message without extra backslashes, or to extract JSON stored as a string inside another JSON field.
What characters get unescaped?
\" \\ \/ \b \f \n \r \t and \uXXXX Unicode escapes.
Do braces, brackets, or colons need unescaping?
No. {, [, : are not escaped inside JSON strings, so they pass through unchanged.
Why does my string still have backslashes after unescaping?
It's likely double-escaped (JSON-in-JSON). Run unescape a second time; each pass peels one layer.
Is my data uploaded anywhere?
No. Everything runs client-side in your browser. Verify zero requests in DevTools.