Unstringify JSON
Paste a JSON string literal — a quoted, escaped string containing JSON — and decode it back to the original pretty-printed JSON structure. Works with both single and double-stringified JSON.
Last updated: May 28, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is Unstringify JSON?
"Unstringify JSON" reverses the process of double-encoding JSON as a string. When a JSON object is serialized with JSON.stringify, then passed to JSON.stringify a second time, the result is a JSON string literal where the inner JSON has all its quotes escaped. This is sometimes called "double-stringified" JSON.
Unstringify JSON calls JSON.parse on the input. If the result is a string (meaning the input was double-stringified), it calls JSON.parse again on that string, then formats the result with indentation. If the first parse result is already an object or array, it formats it directly.
This tool is the reverse of the JSONify String and JSON to String Converter tools.
How to Use Unstringify JSON
Paste a JSON string literal into the input area or click "Load Sample"
The decoded, formatted JSON appears instantly on the right
Copy or download the result
Common Use Cases
- Debugging API responses where a JSON body has been double-serialized as a string.
- Recovering a JSON document from a database field that stored it as an escaped string.
- Decoding JSON that was passed through a shell script or environment variable.
- Reversing JSON.stringify(JSON.stringify(obj)) in test fixtures.
- Quickly viewing the structure of a JSON value that appears as a quoted string in a log.
Example Input and Output
A double-stringified JSON string is decoded back to the original formatted JSON object.
"{"name":"Alice","age":30,"active":true}"{
"name": "Alice",
"age": 30,
"active": true
}Privacy
All processing runs in your browser. No data is uploaded to any server.
Frequently Asked Questions
What is double-stringified JSON?
Double-stringified JSON is a JSON document that has been serialized with JSON.stringify twice. The result is a JSON string literal containing an escaped JSON string. For example: calling JSON.stringify(JSON.stringify({a:1})) produces the string "\"{\\"a\\":1}\"". Unstringify JSON reverses this.
What if the input is just a normal JSON string?
If the input is a quoted JSON string like "Hello World", the tool will parse it and output the raw text: Hello World.
What if the input is a regular (non-string) JSON value?
If the input parses to an object, array, number, or boolean directly, the tool simply pretty-prints the result with 2-space indentation.
Is my data sent to a server?
No. All decoding happens in your browser using JSON.parse. Your data never leaves your device.
How do I go the other direction — string-encode JSON?
Use the JSON to String Converter or the JSONify String tool to encode a JSON value or plain string as an escaped JSON string literal.
Related Tools
JSONify String
Encode any raw string into a JSON string literal — escaping double-quotes, backslashes, newlines, tabs, and all other special characters required by the JSON spec.
JSON Formatter
Format, validate, and beautify JSON instantly — with clear error messages, Tree View, Diff mode, and Schema validation.
JSON to String Converter
Convert a JSON object or value into a JSON-encoded string literal — escaping all inner quotes and special characters so it can be embedded as a string value inside another JSON document.
JSON Decode Online
Decode a JSON-escaped string back to plain text. Unescapes quotes, backslashes, newlines, and Unicode \uXXXX sequences. Works with or without surrounding quotes.
JSON Fixer
Fix broken or invalid JSON automatically. Repairs trailing commas, single quotes, bare keys, Python literals, and JavaScript comments.
JSON Validator
Validate JSON syntax online. Shows valid/invalid status, error location (line and column), and structure stats including type, key count, and depth.

