Skip to content

JSON Unescape

Convert escaped JSON strings back to readable JSON format. Handles multiple levels of escaping from APIs, databases, logs, and webhooks with automatic detection and formatting.

Category: data
Use Case: API Responses, Database Fields, Log Files
Privacy: 100% browser-based

Unescape Options

Recursive handles multiple escape levels

Output formatting

Waiting for input...

0 characters
1 lines

Recommended Settings

Understanding JSON Escaping

  • JSON strings use backslash (\) to escape special characters like quotes
  • Multiple serializations create multiple escape levels: \" becomes \\\"
  • Common escape sequences: \n (newline), \t (tab), \" (quote), \\ (backslash)
  • Unicode escapes: \uXXXX for special characters (e.g., \u2764 = ❤)
  • APIs, databases, and logs often double or triple-escape JSON data

When to Use Each Mode

  • Unescape Once: Single-level escaped strings from simple API responses
  • Unescape Recursively: Multi-level escaping from chained systems or logs
  • Recursive mode auto-detects levels - safe to use for both cases
  • Maximum 10 levels prevents infinite loops on malformed data
  • If unsure, start with recursive mode - it handles single level too

Pro Tips

  • Recursive mode is recommended for most use cases - it auto-detects escape levels
  • Copy-pasted JSON from browser DevTools often needs 1-2 levels of unescaping
  • Database VARCHAR/TEXT fields frequently return escaped JSON that needs processing
  • All unescaping happens client-side - your data never leaves your browser

Most Popular

Recursive mode with 2-space indent for maximum compatibility

When to Use This Tool

API Response Processing

Backend APIs sometimes return JSON as escaped strings within JSON responses. Common in microservices where Service A wraps Service B's response. Unescape to extract the actual data structure for use in your application.

Database JSON Fields

SQL databases storing JSON as VARCHAR or TEXT return escaped strings when queried. MySQL, PostgreSQL, and legacy systems often escape quotes and special characters. Unescape to convert database strings back to proper JSON objects.

Log File Analysis

Application logs containing JSON get escaped by logging systems (Splunk, ELK, CloudWatch). Multi-service architectures create multiple escape levels. Unescape log entries to analyze actual request/response data or error details.

Webhook Debugging

Third-party webhooks from Stripe, GitHub, Slack often include escaped JSON in payload fields. Test environments may double-escape data. Unescape webhook payloads to inspect actual event data and test integration logic.

Developer Tools Copy-Paste

Chrome/Firefox DevTools show escaped representations of JSON strings. Copy-pasting from Network tab or Console requires unescaping. Use this tool to convert browser-copied JSON into proper format for testing or documentation.

Message Queue Processing

RabbitMQ, Kafka, SQS messages containing JSON may be escaped when retrieved. Event-driven systems passing JSON through multiple queues create escape layers. Unescape messages to process actual event data in consumers.

How It Works

1

Paste your escaped JSON string into the input field

2

Choose unescape mode: once for single level, recursive for multiple levels

3

Tool attempts to parse JSON using JSON.parse()

4

In recursive mode, continues parsing until reaching final object/array

5

Detects and displays number of escape levels found

6

Formats output with selected indentation (2 or 4 spaces)

7

Handles all standard escapes: \", \\, \n, \t, \uXXXX

8

Copy result to clipboard or download as .json file

100% Private

Files never leave your device. All processing happens locally in your browser.

Lightning Fast

Powered by Pure JavaScript for optimal performance on modern browsers.

Secure

No data collection, no tracking, no sign-up required.

Frequently Asked Questions

What's the difference between 'once' and 'recursive' mode?

'Unescape Once' parses the JSON string a single time - use when you have one level of escaping. 'Unescape Recursively' continues parsing until it reaches the final object/array - use for multi-level escaped JSON from systems that serialize multiple times. Recursive mode is safer as default since it handles both cases.

Why does my JSON have multiple escape levels?

Multiple escape levels occur when JSON is serialized multiple times through different systems. Example: Service A serializes → Service B wraps in another JSON → Logging system serializes for storage. Each step adds an escape level. APIs, message queues, and logging systems commonly create 2-3 levels.

What does 'X levels detected' mean?

This shows how many times the tool parsed your input with JSON.parse(). Level 1 = single-escaped, Level 2 = double-escaped (JSON inside JSON string), Level 3+ = multiple serializations. The tool stops when it reaches an object/array or hits the maximum of 10 levels.

Why am I getting a parse error?

Parse errors occur when: (1) Input isn't valid escaped JSON, (2) JSON is already unescaped, (3) Escape sequences are malformed (\x instead of \u), (4) Missing quotes around the string, (5) Unbalanced brackets/braces. Check that your input is a quoted JSON string with proper escape characters.

How do I know if my JSON needs unescaping?

Your JSON needs unescaping if you see: (1) Backslash-quote pairs (\" instead of "), (2) Double backslashes (\\ instead of \), (3) Escaped newlines (\n visible as text), (4) Entire JSON wrapped in quotes as a string. If you copy from browser DevTools network tab, it usually needs unescaping.

Can this tool escape JSON too?

No, this tool only unescapes. For the reverse operation (converting JSON to escaped string), use the JSON Escape tool or JSON Formatter. This tool is specifically designed to convert escaped JSON strings back to readable format for debugging and analysis.

What happens to Unicode escapes like \u2764?

Unicode escapes (\uXXXX) are automatically converted to their actual characters by JSON.parse(). For example: \u2764 becomes ❤, \uD83D\uDE00 becomes 😀. The tool handles both Basic Multilingual Plane characters and emoji surrogate pairs correctly.

Is my data secure during unescaping?

Absolutely! All unescaping happens entirely in your browser using JavaScript's native JSON.parse(). Your data never leaves your computer or gets sent to any server. The tool works completely offline after the page loads. No data is stored, logged, or transmitted.