JSON String Unescape / Escape
Paste a JSON string literal — the escaped, quoted form you get when JSON has been serialized twice — and get the real, formatted JSON back out (converting a JSON string to a JSON object). This is different from the JSON Formatter, which expects a bare document rather than an escaped string; feeding this tool a bare object gets rejected on purpose, so the two stay unambiguous about which one to use.
Frequently asked questions
- Is this the same as "converting a JSON string to a JSON object"?
- Yes — that's exactly what Unescape mode does. "JSON string to JSON" and "unescape JSON string" describe the same operation: taking the quoted, escaped form and parsing it back into the real object.
- How is this different from the JSON Formatter?
- The JSON Formatter expects a bare JSON document, like {"a":1}. This tool expects a JSON string literal — a quoted, escaped string like "{\"a\":1}", the shape you get when JSON has been serialized twice (e.g. a log line or an API field that itself contains a JSON blob as text). Pasting a bare object here gets rejected with a message pointing you to the JSON Formatter instead.
- Why does Unescape sometimes show plain text instead of formatted JSON?
- After unwrapping the outer string, this tool checks whether the result is itself JSON. If it is, you get real, pretty-printed JSON back. If it isn't — the string was just escaped plain text, not JSON wrapped in a string — you get the plain unescaped text, with a note above the output telling you which case you hit.
- What does Escape mode actually do?
- It wraps your input in quotes and escapes the characters that aren't valid inside a JSON string — quotes, backslashes, newlines, and control characters — producing a string you could paste as a value inside another JSON payload.
- Is my data uploaded anywhere?
- No. Escaping and unescaping happen locally in your browser tab — nothing is sent to a server.