Unstringify JSON
Turn an escaped JSON string back into JSON.
Unstringify JSON – Turn Escaped JSON Strings Back into JSON
Log files, databases, and message brokers are full of JSON that was turned into a string: one long line wrapped in quotes and littered with " escapes. Unstringify JSON reverses that. Paste the string and get clean, formatted JSON — even when it was stringified several times or contains more JSON strings inside.
What gets fixed
- Outer double or single quotes are removed.
- Escape sequences are decoded:
"→",\` →`,\n→ line break,\u00e9→ é. - Multiply-encoded strings are unwrapped until real JSON appears.
- Optionally, string fields that contain JSON are parsed in place, turning
"ctx": "{"id":1}"into"ctx": {"id": 1}. - The result is pretty-printed with the indentation you choose, or minified.
Where escaped JSON comes from
- Structured logging – many loggers serialize an object and then store it as a message string.
- Queues and event buses – SQS, Kafka, and Pub/Sub payloads are often JSON strings wrapping other JSON.
- Databases – JSON saved in text columns, sometimes encoded again by an ORM.
- APIs – fields like
metadataorbodythat carry a JSON document as a string.
Doing it in code
In JavaScript, JSON.parse(JSON.parse(text)) handles a double-encoded string; in Python, json.loads(json.loads(text)). This tool figures out how many layers there are for you.
Private by default
Log lines and queue messages often include customer data, IDs, or tokens. The unwrapping runs locally in your browser, so the content never leaves your machine.
Related tools
To create a JSON string, use JSON Stringify. To explore the unwrapped data, paste it into the JSON Parser or JSON Viewer.
Frequently Asked Questions
What is unstringifying?
It reverses JSON.stringify on a string: the surrounding quotes are removed, escapes like \" and \n are turned back into real characters, and the JSON inside is parsed and formatted.
My JSON was stringified twice. Does that work?
Yes. The tool keeps unwrapping as long as the result is still a string that contains JSON (up to 10 levels), so double- and triple-encoded log entries come out as clean JSON.
What does 'unstringify nested JSON strings' do?
Some payloads contain JSON strings inside otherwise normal JSON, for example a "ctx" field holding "{\"orderId\":42}". With this option on, such fields are parsed too, so the whole document becomes one readable tree.
Can I paste the escaped text without quotes?
Yes. Input like {\"a\":1} without outer quotes, or a JavaScript single-quoted literal, is detected and handled as well.