JSON Unstringifier

Paste a quoted JSON string (the output of JSON.stringify) to recover the original text. Switch to Stringify to go the other way.

Keyboard: Ctrl or ⌘ + Enter copies. Escape clears. Text stays in this browser.

Character Count: 0 | Word Count: 0 | Sentence Count: 0 | Line Count: 0

Undo JSON.stringify, or stringify again

Unstringify expects a quoted JSON string—the kind `JSON.stringify("hello\nworld")` produces—and parses it back to the original text (or nested JSON as a readable dump). Switch to Stringify to wrap plain text as a JSON string with escaped quotes and newlines.

Logs, env files, and double-encoded payloads

APIs and log shippers often store a whole object as a string field. Unstringify once; if you still see `\"` everywhere, you may need a second pass or JSON Escape. JSON Formatter is for already-valid objects, not a single quoted blob. JSON Stringify (the sibling tool) focuses on wrapping text; this page’s dual control does both directions.

Invalid JSON and privacy

If parse fails, you will see an error instead of a half-decoded mess—fix trailing commas and single quotes first. Work stays in the browser so a customer payload in a ticket can be decoded on a locked-down laptop.

Frequently asked questions

How is this different from JSON Escape?

Escape/unescape edits characters inside a string. Unstringify runs `JSON.parse` on a complete quoted value (and stringify runs `JSON.stringify` on text).

Can I unstringify a whole HTTP body?

If the body is a JSON string value (starts and ends with quotes), yes. If it is an object `{...}`, use JSON Formatter instead.

Why do I still see backslashes?

The value may be double-encoded. Unstringify once, then again, or format the inner JSON after the first parse.