Format Stringified JSON — Unquote and Pretty-Print Online
Table of Contents
Stringified JSON is a JSON object that has been serialized into a string — so it appears as a quoted string with escaped internal quotes. To format it, you first need to unescape the string (remove the outer quotes and unescape the inner \" characters), then pretty-print the result. The free JSON formatter handles this in one paste.
This page explains what stringified JSON is, where it comes from, and how to read it quickly.
What Stringified JSON Looks Like
Normal JSON:
{"name": "alice", "age": 30, "active": true}
Stringified JSON (the same data, serialized as a string value):
"{"name": "alice", "age": 30, "active": true}"
Or when logged to a console it might appear with escaped newlines:
"{"name":"alice","age":30,"items":[{"id":1,"sku":"ABC"}]}"
The outer double quotes make it a string. The inner " sequences are escaped double quotes inside the string value. It is JSON-inside-a-JSON-string.
Where Stringified JSON Comes From
You encounter stringified JSON in several common situations:
- Redux state / localStorage:
localStorage.setItem('user', JSON.stringify(user))stores the stringified form. Reading it back from DevTools shows a string, not an object. - API responses that double-encode: Some backends call
JSON.stringify()on data before placing it in a JSON field — the result is a string field containing JSON. - Environment variables: Config passed as env vars is often stringified JSON.
- console.log output: Logging a JSON string to the console shows the escaped form.
- Database text columns: JSON stored in a VARCHAR column is retrieved as a string.
- Message queues: Kafka, SQS, and similar systems often carry stringified JSON payloads.
How to Format It
Option 1 — Browser tool (fastest):
- Open the free JSON formatter
- Paste the stringified JSON — including the outer double quotes
- The formatter parses the outer string, unescapes the inner JSON, and pretty-prints the result
Option 2 — Browser console (no tool needed):
// Paste this in browser DevTools console
const str = "{"name":"alice","age":30}";
console.log(JSON.parse(str));
Option 3 — Node.js:
const str = process.env.MY_CONFIG;
const config = JSON.parse(str);
console.log(JSON.stringify(config, null, 2));
The browser tool is the fastest for one-off inspection. The console approach works when you are already debugging. The Node.js approach works for scripting.
Double-Stringified JSON
Sometimes you encounter JSON that has been stringified twice — JSON.stringify(JSON.stringify(obj)). It looks like this:
""{\"name\":\"alice\",\"age\":30}""
The outer quotes wrap a string, which itself contains escaped quotes wrapping another escaped string. To parse it:
const once = JSON.parse(doubleParsed);
const twice = JSON.parse(once); // now a real object
In the browser formatter, paste it and format — if the result is still a string (starting with "), it is double-stringified. Paste that result back in for a second pass.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open Free JSON FormatterFrequently Asked Questions
How do I format a JSON string that has escaped quotes?
Paste the stringified JSON (including outer double quotes) into the free formatter at /developer-tools/json-formatter/. It parses the string value, unescapes the inner JSON, and pretty-prints the result.
What is stringified JSON?
Stringified JSON is a JSON object that has been converted to a string via JSON.stringify(). The result is a string value containing escaped JSON. It needs to be parsed with JSON.parse() to become an object again.
Why does my JSON appear with backslashes before every quote?
Because it has been stringified — the double quotes inside the JSON have been escaped to \" to fit inside a string value. This is normal when JSON is stored in a text field, environment variable, or passed through a queue.
How do I format JSON from localStorage?
In browser DevTools, run: console.log(JSON.parse(localStorage.getItem("your-key"))). Or copy the raw value from the Application tab and paste it into the JSON formatter — it will unescape and format it.

