JSON Unstringifier
Paste a full JSON string literal — including the surrounding double quotes — to recover the raw text (real newlines, unescaped quotes). Objects and arrays are rejected; use the JSON Formatter for those. Parsing stays in this browser.
Written by the CaseSwitch editorial team. We maintain these tools in the browser so drafts, keys, and images stay on your device.
Last reviewed: 23 July 2026
Processed locally in your browser. Nothing is sent to a server.
Paste or type text to convert. Output stays empty until there is input.
Character count: 0 · Word count: 0 · Line count: 0
Examples
Recover newlines from escapes
Input
"hello\nworld"
Output
hello world
Unescape embedded quotes
Input
"He said \"hi\""
Output
He said "hi"
Simple string without escapes
Input
"CaseSwitch"
Output
CaseSwitch
Tab and path-like escapes
Input
"a\tb\\c"
Output
a b\c
Object input rejected
Input
{"msg":"hi"}Output
(error: Input must be a JSON string value in quotes.)
How to use
- Copy the entire JSON string literal, including the opening and closing double quotes.
- Paste it into the input panel.
- Copy the decoded text from the output. Fix parse errors if the literal is incomplete.
What this tool is for
Unstringifying parses a JSON string literal and recovers the original text, including real newlines and unescaped quotes. Logs and API traces often show a field already encoded as a JSON string. It is the inverse of embedding a string inside JSON — not a pretty-printer for whole objects.
How it works
The input is parsed with JSON.parse. The parsed value must be a string; objects and arrays are rejected with a clear error. On success, the output panel shows the decoded string (newlines are real line breaks). Trailing commas and missing quotes fail the parse.
When to use it
Cleaning a message copied from a JSON log line, extracting body text from a quoted fixture field, reversing accidental double wrapping when you only need the inner string, and teaching how JSON string escapes work.
When not to use it
Do not paste a whole object { ... } — use the JSON Formatter. Do not use this as a YAML converter. Do not paste production secrets into a screenshot.
How it compares to related tools
JSON Stringify re-serializes valid JSON with indent. JSON Formatter pretty-prints or minifies documents. Base64 Encode & Decode is a different encoding layer.
Common mistakes
Omitting the surrounding quotes. Pasting an object and expecting a string decode. Leaving a trailing comma after the closing quote. Confusing \\n in the source file with a real newline already in the paste.
Why the surrounding quotes matter
JSON.parse('"hello"') yields the string hello. JSON.parse('hello') is invalid. When you copy from a log, include the quotes that make the value a JSON string. If you only copy the inner characters, wrap them yourself or the parse fails.
Objects belong on the formatter
If the paste starts with { or [, you have a document, not a string literal. Pretty-print it with the JSON Formatter. Unstringifier only accepts a JSON value whose type is string — that is intentional so a mistaken object paste does not dump [object Object]-style noise.
Frequently asked questions
Why do I get a parse error?+
The input must be a valid JSON string, including the opening and closing quotes. Copy the whole literal from the log.
Can it unescape \n to real line breaks?+
Yes. That is the usual reason to unstringify a logged message.
What if I paste an object?+
You get an error asking for a JSON string value. Use the JSON Formatter for objects and arrays.
Does Unicode stay intact?+
Yes for valid JSON Unicode escapes and literal UTF-8 characters inside the string.
Is this the opposite of JSON Stringify on this site?+
For a JSON string value, yes in spirit: Unstringifier decodes the literal to text. Stringify on this site re-prints any valid JSON value with indent — including objects — so use the matching tool for your input shape.
Is my text uploaded?+
No. Parsing runs in this browser.
Does this tool send my payload to CaseSwitch?+
No. Formatting, encoding, and naming conversions for this page run in your browser after load — your sample stays on the device.
Related tools
JSON Stringify
Normalizing an API sample to a team indent, re-serializing a one-line fixture with 4-space indent, and checking that a paste is valid JSON before you commit it. If you only need pretty vs minify toggles, the [JSON Formatter](/json-formatter-minifier/) is the sibling tool. If you need to recover text from a quoted JSON string literal, use [JSON Unstringifier](/json-unstringifier/).
Base64 Encode & Decode
Embedding a small SVG or icon in a data URL experiment, inspecting the readable middle of a JWT (still not verifying the signature here), converting clipboard text for an API field that expects Base64, and teaching the difference between encoding and encryption with a live round-trip.
JSON Formatter
Debugging a 401 response, comparing two configs, preparing a gist, shrinking a JSON blob before embedding it in a test fixture, and checking whether a file is actually JSON before you commit it. If you need to escape a string as a JSON literal, use JSON Stringify instead. If you need YAML, use JSON to YAML after the JSON is valid.
JSON to YAML Converter
Turning a JSON API example into a values.yaml draft, comparing the same data in two syntaxes, and preparing a workflow fragment from a JSON fixture. Validate Kubernetes kinds and apiVersions separately.
CSV to JSON Converter
Fixture generation, prototyping a table UI, turning a small Sheets export into API-shaped JSON, and checking column names before wiring a mapper.
YAML Formatter
Cleaning a workflow file snippet, reviewing a Helm values fragment, normalizing list indentation, and teaching YAML structure on a short sample.