Skip to content
Allin

String escape / unescape

Escape a string for JSON/JavaScript or unescape it back to raw text.

String escape / unescape works straight from this page — free, instant, nothing to install. It sits under Encoding & decoding in our catalogue, alongside JSON String Escape / Unescape and Unicode escape / unescape.

How to use it

  1. Open the tool — no signup or install needed.
  2. Enter your input or adjust the available options.
  3. Get your result instantly, then copy or download it.

Frequently asked questions

What does String escape / unescape do?

Escape a string for JSON/JavaScript or unescape it back to raw text.

When would I actually use this?

Reading a payload someone sent you, embedding a small file in a config, and finding out why a query string breaks once it reaches the server.

What is the most common mistake?

Treating Base64 as a form of protection. It is an encoding, not encryption — anyone can decode it instantly, and a token pasted into a public issue is a leaked token.

How is String escape / unescape different from JSON String Escape / Unescape?

They sit next to each other but answer different questions: JSON String Escape / Unescape is the one to open when you need it to turn raw text into a JSON-safe string and back, with control characters, \uXXXX, emoji surrogate pairs and lone surrogates handled exactly like JSON.stringify. Pick whichever matches what you're starting from — both are free.

Is there a tool for the next step?

Unicode escape / unescape is the closest one after this: Escape non-ASCII characters to \uXXXX sequences, or decode them back.

Where do the figures come from?

The encodings follow their RFCs, so a round trip is lossless. URL encoding has two variants — one that encodes a space as %20 and one as a plus sign — and the tool says which it applies.

Further reading

All guides
ExplainerEscaping a String for JSON: Three Characters Are Mandatory, and One Is a TrapRFC 8259 requires exactly three things to be escaped inside a JSON string. Everything else is optional. The one that actually breaks pipelines is a lone surrogate — legal in JSON text, impossible in UTF-8, and silently replaced the moment your data is written out.GuideURL Encoding Explained: Percent-Encoding and Where It BitesPercent-encoding is decided per URL component, which is the whole source of the confusion. A slash is legal in a path and must be escaped in a query value; a space is %20 in a path and may be + in a form body. Here are the exact RFC 3986 sets, the three JavaScript functions that disagree, and the traps.GuideBuilding a URL With Parameters That Survives a Copy-PasteThree encodings, one visible difference: %20 or +. The builder's form mode matches URLSearchParams byte for byte on seventeen values — but give it a base URL with a fragment and every parameter lands inside the hash, where no server sees it.ExplainerWhat Is Base64 Encoding?Base64 turns binary data into safe text. Here's what it does, why it exists, why it isn't encryption, and the size cost it adds.ExplainerWhat Is a JWT (JSON Web Token)?A JWT is a compact, signed token used to carry identity between services. Here's its three parts, how it's used for auth, and its security limits.ExplainerWhat Is Inside a JWT — and What It Does Not ProtectA JWT is signed, not encrypted. Anyone holding the token can decode the payload and read every claim in it. Here is a real token, decoded without any key, plus the three attacks the signature is supposed to stop and the one problem it cannot solve.