JSON Escape & Unescape

Escape quotes, backslashes, tabs and newlines so text can be pasted inside a JSON string, or turn an escaped string (like a stringified payload in a log) back into readable text.

How it works

Inside a JSON string, " and \ must be escaped, and control characters below U+0020 must be written as \n, \t or \u00XX. Everything else, including emoji, may appear as-is.

Unescape accepts the string with or without its surrounding quotes. A doubly-escaped payload (JSON stored as a string inside JSON) can be unescaped twice.

Everything above runs in JavaScript inside this tab. Your data is not uploaded. Inputs are remembered in this browser only so they survive a reload; you can switch that off on the privacy page.

Questions

Do I need to escape forward slashes?

No. \/ is allowed but optional. Some serialisers emit it so that "</script>" cannot appear inside HTML.

Should non-ASCII characters be escaped?

Not required; JSON text is UTF-8. Turn on "escape non-ASCII" if a downstream system only accepts ASCII.