About the JSON Unescape
Escaped strings show up in logs, in API responses that embed JSON inside JSON, and in error messages copied from a console. Reading them means mentally decoding every backslash. This tool does it for you: it interprets the escape sequences defined by the JSON specification, including Unicode escapes and surrogate pairs, and shows the resulting text.
The input may be given with or without surrounding double quotes; they are removed if present. If the text contains an invalid escape, such as a lone backslash at the end or a malformed \u sequence, the tool reports that it is not a valid JSON-escaped string rather than guessing.
When the unescaped text is itself JSON, as with doubly encoded payloads, paste the result into the JSON Formatter to read it. Repeat for each level of encoding.
How to use
- Paste the escaped string on the left, with or without its surrounding quotes.
- Read or copy the decoded text on the right.
- If the result is JSON, send it to the formatter with Swap after choosing that tool, or paste it there.
Common questions
- Why does it say the input is not valid?
- A backslash must be followed by one of " \ / b f n r t or a 4-digit \u sequence. Anything else, or a raw newline inside the string, is invalid JSON escaping.
- Can it decode a string that has been escaped twice?
- Run it twice. Each pass removes one level of escaping.
- Does it handle emoji in \u form?
- Yes. Surrogate pairs such as \ud83d\ude00 are combined into the single character they represent.