JSON Unescape

Turn an escaped JSON string back into readable text.

JSON Runs in your browser
Escaped string
Plain text

Nothing unescaped yet

Paste an escaped JSON string — with or without its outer quotes — to read the original text.

Runs entirely in your browser. Your data isn't uploaded — this page makes no network request with anything you type, which you can verify in your browser's network tab. How this works.

What is the JSON Unescape?

The inverse problem: you have a JSON string full of \" and \n and you want to read the actual content. This happens constantly with log aggregators, which often store a whole request body as a single escaped string field.

Paste the escaped value and this returns the original text, resolving quote, backslash, whitespace and \uXXXX escapes. If the result is itself JSON, you can format it in one click.

How to use it

  1. Paste the escaped string — with or without its surrounding quotes.
  2. Press Unescape (or Ctrl/Cmd + Enter).
  3. If the result looks like JSON, use Format result to pretty-print it.
  4. Copy the plain text.

Example

A log field containing an escaped payload, made readable.

Input
"{\"level\":\"warn\",\"msg\":\"retry 1/3\"}"
Result
{"level":"warn","msg":"retry 1/3"}

Features

  • Resolves \", \\\\, \n, \r, \t, \b, \f and \uXXXX escapes
  • Handles surrogate pairs so emoji and other astral characters survive
  • Tolerates missing outer quotes
  • Detects double-escaped input and offers to unescape again
  • One-click formatting when the result is itself JSON

Frequently asked questions

Why does my output still have backslashes in it?
The value was probably escaped twice, which happens when a payload is serialised through two layers. Run Unescape again — the tool detects this and offers a second pass.
What if the escape sequences are invalid?
You get an error naming the offending sequence and its position, rather than a partially decoded string, so you do not silently lose data.
Esc

Loading the catalog…