JSON Escape & Unescape Tool

Escape JSON strings for embedding — or unescape stringified logs back into readable JSON

Input String / JSON

Output Result


            
        

More JSON Tools

JSON Formatter

Format, validate, and explore JSON — 100% client-side, private by design

XML to JSON

Paste XML, get clean JSON — attributes, repeated elements and text nodes handled correctly

CSV to JSON

Turn CSV rows into JSON arrays of objects — quoted fields, custom delimiters and types handled for you

JSON to CSV

Flatten nested JSON into clean CSV columns — download Excel-ready .csv files in one click

JSON Minifier

Compress JSON to a single line and watch exactly how many bytes you save

JSON Diff

Compare two JSON documents semantically — key order and whitespace never count as differences

JSON Escape ●

Escape JSON strings for embedding — or unescape stringified logs back into readable JSON

JSON Fixer

One-click repair for broken JSON, JSON5, JS objects, Python dicts and truncated LLM output.

JSON to TypeScript

Turn any JSON payload into clean TypeScript interfaces or type aliases — merge arrays, detect optional fields and unions.

YAML to JSON

Parse YAML configs — K8s, Docker Compose, GitHub Actions — into clean JSON, then explore and edit visually.

JSON to YAML

Generate clean, idiomatic YAML from any JSON — smart string quoting, compact list style, 2 or 4 space indent.

JSON to XML

Serialize JSON to well-formed XML — @_ attributes, repeated elements, text nodes and safe tag names.

JSON Schema

Infer a standards-compliant JSON Schema from example data — formats, required keys, unions and additionalProperties control.

JSONPath Tester

Query any JSON with live JSONPath evaluation — wildcards, recursive descent, slices and filters, all in your browser.

Key Features

Full Escape Set

Newlines become \n, tabs become \t, quotes become \", backslashes become \\, and control characters become \uXXXX — exactly like JSON.stringify.

Unescape Stringified JSON

Paste an escaped blob like "{\"a\":1}" and get the original readable JSON back. If it's valid JSON, preview it instantly in the tree.

Optional Quote Wrapping

Choose whether the escaped output is wrapped in outer double quotes (ready to paste into code) or left bare.

Two-Way Round-Trip

"Use as Input" flips the output back into the input box, making multi-level escape/unescape chains a one-click operation.

How to Use JSON Escape & Unescape Tool

1

Paste Your String

Drop a plain string (to escape) or an escaped/stringified JSON blob (to unescape) into the input panel.

2

Choose the Direction

Click "Escape JSON String" or "Unescape JSON String". Toggle "Wrap in double quotes" to control the outer quotes on escape output.

3

Copy or Inspect

Copy the output, send it back as input for another round, or click "View in Tree" when the unescaped result is valid JSON.

Technical Architecture & Privacy Comparison

How formatjson.net compares to traditional server-based JSON formatters and converters

100% Client-Side Execution Zero Server Upload RFC 8259 & RFC 4180 Compliant IEEE-754 64-Bit Int Safe JSON Schema 2020-12 Offline-Ready PWA
Capability / Standard formatjson.net (Client-Side Workbench) Traditional Server-Based Tools
Data Processing & Privacy 100% local in-browser JavaScript — payloads never leave your device Often uploads JSON/XML/CSV to remote backend servers
Confidential API Keys, JWTs & PII Safe by design — zero network transmission, works offline via Service Worker Risk of server access logs or third-party data retention
Broken & Truncated LLM JSON Repair 1-click lexical state machine fixes comments, single quotes, trailing commas, Python literals & unclosed brackets Fails with syntax error on non-strict JSON
64-Bit Snowflake IDs & Leading Zeros Preserves unsafe integers (> 2^53 - 1) and leading-zero codes ("00123") without precision loss Silently truncates 64-bit IDs or strips leading zeros
Deep Nested Array Exploration Interactive spreadsheet drill-down ([n items] →) with breadcrumbs, 3-state sorting & inline cell editing Flat root-only tables or read-only trees
Large File Responsiveness Chunked lazy tree (200 nodes/batch) + paginated table + 150 KB highlight guard Main-thread DOM freeze on multi-megabyte files

Frequently Asked Questions

What characters must be escaped in a valid JSON string? ▾

Double quotes (\"), backslashes (\\), and all control characters — including newline (\n), carriage return (\r), tab (\t), backspace (\b), and form feed (\f) — must be escaped. Other Unicode characters may optionally use \uXXXX notation.

What is the difference between JSON Escape and JSON Unescape? ▾

Escape converts raw text into a safe JSON string literal: line breaks become \n, quotes become \". Unescape does the reverse — it decodes those sequences back into real characters, turning stringified JSON back into readable text.

How do I unescape a stringified JSON log entry back into readable JSON? ▾

Paste the escaped blob (e.g. "{\"level\":\"error\"}") into the input and click "Unescape JSON String". If the result is valid JSON, a "View in Tree" button appears so you can explore it visually.

How are newlines, tabs, and Unicode characters handled during escaping? ▾

Newlines, carriage returns, and tabs become \n, \r, and \t. Control characters below U+0020 are emitted as \uXXXX escapes. Printable Unicode (Chinese, emoji, accented letters) is preserved as-is, matching JSON.stringify behavior.

Should I wrap the escaped string in double quotes? ▾

Usually yes — a JSON string literal includes its surrounding quotes, so keep "Wrap in double quotes" on when you need something you can paste straight into code. Turn it off when embedding the escaped content inside an existing string.