A JSON string full of \n, \" and \t sequences is technically correct but hard to read as-is. This tool unescapes those sequences back into the actual literal characters they represent.
Turning escape sequences back into real text
Every backslash-based escape sequence in a JSON string exists to safely represent a character that couldn't otherwise appear directly within the string's double-quote delimiters — but that safety measure needs reversing the moment you want to see, copy, or further process the string's actual intended content rather than its safely encoded form. This is exactly what happens automatically, invisibly, every time a JSON parser reads a string value in any programming language; this tool exposes that same unescaping step directly.
How unescaping works
The tool scans your input for backslash-escape sequences defined in the JSON specification — \" becomes a literal quote, \\ becomes a literal backslash, \n becomes an actual newline, \t becomes an actual tab, and Unicode escape sequences like \u00e9 get converted to their corresponding literal character (in that example, é) — reconstructing the original, human-readable text the escaped string was meant to represent.
Where unescaping JSON strings is genuinely useful
- Reading log data or API responses containing escaped text — inspecting a raw JSON payload where a string value is full of escape sequences is much easier once it's unescaped into its actual readable form.
- Extracting clean text from a JSON export — pulling a text field (like a comment, description, or code snippet) out of a JSON data export and converting its escaped form back into normal, directly usable text.
- Debugging double-escaping issues — a common and genuinely confusing bug pattern where a string gets JSON-escaped twice (producing sequences like
\\ninstead of\n), and unescaping is the diagnostic and corrective step. - Working with JSON-encoded configuration or environment variables — some systems store multi-line or special-character-containing values as escaped JSON strings within a single-line config format, requiring unescaping to read or edit the actual content.
Frequently asked questions
What does a Unicode escape sequence like \u00e9 actually represent? It's JSON's way of representing any character by its Unicode code point in hexadecimal — \u00e9 specifically represents "é" — a mechanism that lets JSON safely represent any character in the entire Unicode character set using only plain ASCII text in the raw document.
Is unescaping the same as decoding Base64 or URL encoding? No, they're different mechanisms solving different problems — JSON escaping specifically handles characters that would otherwise conflict with JSON's own string-delimiting syntax, while Base64 and URL encoding solve separate problems (representing binary data as text, and making text safe for URLs, respectively).
What causes double-escaping, and how do I recognize it? It typically happens when a string that's already been JSON-escaped gets passed through a JSON-encoding step a second time, producing telltale doubled backslashes (like \\n instead of a single \n); unescaping once will reveal whether a second unescaping pass is still needed to reach the fully clean, original text.
Further reading
RFC 8259 — The JSON Data Interchange Format — The specification defining all valid JSON escape sequences, including Unicode escapes.
Wikipedia — Unicode — The character encoding standard that JSON's \u escape sequences reference.