Skip to content

JSON Unescape

Decode an escaped JSON string back into readable text, whether or not it is wrapped in quotes.

Processed locally in your browser

0 chars · 0 lines
The result will appear here.

What is JSON Unescape?

Logs, API responses and databases often contain JSON that was serialised twice, so you see {\"id\":1,\"msg\":\"line1\\nline2\"} instead of readable text. Unescaping reverses the backslash sequences so you can read or reuse the original content.

This tool decodes the standard JSON escapes: \", \\, \/, \b, \f, \n, \r, \t and \uXXXX (including surrogate pairs for emoji). You may paste the string with its surrounding double quotes or without them. An invalid sequence such as \q or a truncated \u12 is reported with its offset instead of being guessed.

How does it work?

  1. Paste the escaped string, with or without the outer quotes.
  2. The decoded text appears immediately: line breaks become real line breaks and \uXXXX becomes the character.
  3. If a sequence is invalid the tool tells you which one and where.
  4. Copy the result, or Swap to escape it again, or send it to the JSON Formatter if it is a JSON document.

Common use cases

  • Reading a double-encoded JSON payload found in a log line or database column.
  • Recovering the original multi-line text from a JSON string value.
  • Decoding \uXXXX sequences in an API response to see the real characters.
  • Undoing the JSON Escape tool to check a round trip.

Examples

Try this input in the tool above:

Input
"{\"user\":\"Ada\",\"note\":\"line1\\nline2\",\"smile\":\"\u263a\"}"
Output
{"user":"Ada","note":"line1\nline2","smile":"☺"}

Privacy

JSON Unescape runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.

Limitations

Only JSON escapes are decoded. HTML entities (&), URL encoding (%20) or Base64 need their own decoders. A bare quote inside unquoted text is kept as is.

Frequently asked questions

Do I need to include the surrounding quotes?

No. Both "…" and … are accepted. If the input starts and ends with an unescaped double quote, those quotes are treated as the string delimiters and removed.

What if the result is itself JSON?

Copy it into the JSON Formatter to pretty-print it. This is the usual way to read JSON that was stringified twice.

Why does the tool reject some backslashes?

JSON only defines a fixed list of escapes. A sequence such as \x41 or \q is not valid JSON, so it is reported rather than silently altered.

More tools in JSON & Data →