CalcCafe

JSON Unescape

Paste an escaped JSON string to turn it back into plain, readable text.

Example

Input
He said \"JSON\" is\tgreat\nand fast.
Output
He said "JSON" is	great
and fast.

How it works

The tool interprets JSON escape sequences — \" , \\ , \n , \t and Unicode \u escapes — and returns the original unescaped text. It accepts input with or without surrounding quotes.

Good to know

JSON Unescape takes a string full of escape sequences — like \", \n, \t, \\ and é — and converts it back into the real characters those sequences represent. It's aimed at developers who keep encountering "double-encoded" text: a JSON payload that has been stringified, logged, or stored as an escaped value, where every quote shows up as \" and every line break collapses into a literal \n instead of an actual new line.

You'll reach for it most often when debugging. Common moments include copying a value out of a log line or error message, pulling a string field whose contents are themselves serialized JSON, reading an HTTP body that arrived double-encoded from an API, or grabbing a snippet from a database column where multi-line text was saved with escaped newlines. Pasting that into the unescaper turns the noisy one-line blob into the human-readable form so you can actually see what the data says or feed it into the next tool.

To read the result, compare it against your input: each backslash escape in the input becomes one literal character in the output. A correct run produces clean text with real line breaks, real tabs, and unescaped quotes; if you instead get an error, the input contains a malformed sequence (for example a lone backslash, or an incomplete \u code that needs four hex digits). The tool accepts your string with or without surrounding double quotes, so you don't have to strip them first.

One practical caveat: unescaping is the reverse of escaping, not a JSON validity check. Getting back readable text doesn't mean the result is itself valid JSON — it just means the escape sequences were decoded. If you need to confirm structure or pretty-print the decoded text, run the output through a parser or viewer afterward. And because everything happens in your browser, it's safe to paste tokens, credentials, or other sensitive payloads.

Frequently asked questions

Does the input need surrounding quotes?
No — it works with or without them. If your string is already wrapped in quotes, that's fine too.
What if the escaping is invalid?
You'll get a clear error so you can spot a stray backslash or bad escape sequence.
Is my JSON uploaded anywhere?
No — everything runs in your browser with JavaScript. Your data never leaves your device, so it's safe for sensitive payloads and works offline once loaded.
Is this tool free?
Yes, completely free with no sign-up and no limits.

More JSON tools

People also ask

What is the difference between JSON escape and JSON unescape?
Escaping converts special characters into backslash sequences so a string is safe inside JSON — for example a quote becomes \" and a newline becomes \n. Unescaping is the reverse: it turns those sequences back into the actual characters. This tool does the unescape direction.
How do I convert a \n in a string into an actual line break?
Paste the text containing the literal two-character sequence \n into the tool and unescape it. The tool interprets \n as a real newline and \t as a tab, so the output shows true line breaks instead of the backslash codes.
Why does my JSON have \" everywhere with double backslashes?
That usually means the value was encoded more than once (double-encoded), where an already-escaped string was escaped again. Each unescape pass removes one layer, so you may need to run the tool more than once until the backslashes are gone.
What does é mean in a JSON string?
It is a Unicode escape: \u followed by four hexadecimal digits identifies a character by its code point, so é represents é. The unescaper decodes these back into the actual character.
How do I unescape a JSON string in JavaScript?
For a string already wrapped in double quotes, JSON.parse('"..."') will decode the escape sequences. This tool does the same decoding in the browser without writing code and works with or without the surrounding quotes.
Why am I getting an error when I unescape my string?
An error indicates a malformed escape sequence — common causes are a stray backslash that isn't part of a valid sequence, or a \u escape that doesn't have four hex digits after it. Check the spot the tool flags and fix the offending backslash.
Is it safe to unescape sensitive data like tokens or API keys?
This tool runs entirely in your browser using JavaScript, so the text you paste is never uploaded to a server and works offline once the page has loaded. That makes it suitable for sensitive payloads.