String Escape
Escape and unescape JSON strings, URLs and Base64, with safe UTF-8 handling, fully offline.
How to use it
- Paste the text you want to transform into the left panel.
- Pick a mode: JSON string, URL (percent-encoding) or Base64 (UTF-8 safe).
- Click Encode / Escape to transform, or Decode / Unescape to restore the original text.
- If the input is malformed, the error box explains what went wrong instead of failing silently.
- Copy the result. Use Sample to load a ready-made example for the current mode.
Common use cases
- Embedding text in JSON - turn line breaks, tabs, quotes and backslashes into their escaped form for config files and API payloads.
- Building query strings - percent-encode a value before putting it into a URL, and decode parameters you copied from a link.
- Reading Base64 blobs - decode tokens, data URIs or email attachments to see what is actually inside, UTF-8 handled correctly.
- Debugging doubly-encoded strings - decode, inspect, re-encode in one place instead of chaining converters.
Why it stays private
Encoding runs through the browser's built-in JSON, URL and Base64 primitives with no network access. Tokens, credentials and snippets stay in your tab's memory.
FAQ
Q: Which characters does JSON escape mode convert? A: The same set as JSON.stringify: backslash, double quote and control characters, written as standard escapes such as \n, \t and \uXXXX.
Q: Is Base64 mode safe for emoji and non-Latin text? A: Yes. Text is first encoded to UTF-8 bytes, then Base64-encoded; decoding walks the same path in reverse, so multi-byte characters round-trip intact.
Q: Why does URL decoding sometimes show an error? A: Malformed percent sequences raise a URIError. The error is shown verbatim so you can spot the broken escape instead of getting mangled text.
Your data stays on this device
String Escape runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.