JSON Unstringifier

Paste an escaped JSON string on the left to unstringify JSON instantly on the right. Escape sequences turn back into real quotes, line breaks, and tabs — and double-stringified payloads are unwrapped automatically.

More ways to experience Recasely:

Ju

JSON Unstringifier

You pulled a payload out of a log line, a webhook body, or a message queue, and instead of readable JSON you got a wall of \" and \n. This tool undoes that: paste the escaped string and get the real JSON back, pretty-printed and readable. Whether you need to unstringify JSON from a log dump or simply unescape a JSON string by hand, it runs entirely in your browser, so log output and API payloads never leave your machine.

What is stringified JSON?

Stringified JSON is a JSON document that has been packed inside a JSON string value. Because a JSON string cannot contain a raw quotation mark or line break, every quote in the original becomes \" and every newline becomes \n. The result is still valid JSON — it is just one long string rather than the structure you wanted:

"{\"user\": {\"id\": 1, \"name\": \"Alice\"}}"

Unstringifying it gives back the document it was hiding:

{
  "user": {
    "id": 1,
    "name": "Alice"
  }
}

What about double-stringified JSON?

Handled automatically. Double-stringified JSON — where something has been passed through JSON.stringify() twice and arrives buried under two layers of escaping, with \\\" sequences everywhere — is the single most common reason people need this tool. It usually happens when a logging pipeline, a webhook relay, or a message queue serialises a payload that was already serialised.

Many unstringifiers parse only one layer and hand you back a string that is still escaped. This one keeps unwrapping while the result is itself valid JSON, so a double- or triple-wrapped payload comes out fully readable in a single step. A payload wrapped twice arrives looking like this:

"\"{\\\"id\\\": 1}\""

Parsing that once still leaves you with an escaped string. Unwrapping fully gives:

{
  "id": 1
}

Why does my input come back unchanged?

Because it is not valid JSON yet. Rather than flashing an error while you are still pasting, the tool leaves the text exactly as you typed it until it can be parsed. If your output looks identical to your input, check for a missing opening or closing quote, a truncated copy, or a trailing comma. Once the input parses, the result appears immediately.

What if I paste ordinary JSON instead of a string?

It gets pretty-printed. Pasting a raw JSON object or array that was never stringified simply reformats it with two-space indentation, so the tool is safe to reach for even when you are not sure which of the two you are holding. For heavier formatting work — validating, minifying, or collapsing JSON — use the JSON Formatter & Minifier.

How do I go the other way?

Use JSON Stringify Text, the exact inverse of this tool: it takes ordinary text and escapes it into a JSON string literal, which is what you need when embedding content into a JSON file. That page also carries a full escape-sequence reference table if you want to know precisely which characters get rewritten. To convert JSON into a different format entirely, try the JSON to YAML Converter.

Last reviewed: August 2026