Skip to content
FizzKit

Unicode Escape / Unescape

Escape Unicode text into the exact form your language expects — JavaScript/JSON/Java \uXXXX with surrogate pairs, ES2015/Rust \u{…}, \xXX, Python \U00XXXXXX, Go, CSS \41 , HTML &#x…;, legacy %uXXXX or plain U+XXXX notation — including the standard \n \t \\ \" escapes. Unescaping auto-detects all of those formats in one pass and reports malformed or out-of-range escapes with their position. The Inspector tab lists every code point with its name, general category, block, UTF-8 and UTF-16 bytes, grapheme count, and flags zero-width, bidirectional, look-alike, mixed-script and non-standard-space characters, with NFC/NFD/NFKC/NFKD normalization buttons.

Runs locally in your browser
Long strings? Open fullscreen for room
Text
0 chars · 1 line
Escaped (\uXXXX)
Output will appear here…
Format

Code points above U+FFFF become a UTF-16 surrogate pair (two \u escapes) — what JSON, Java and C# expect.

How to use Unicode Escape / Unescape

  1. 1Pick Escape or Unescape and paste your text — the output updates as you type.
  2. 2When escaping, choose the format in Options (\uXXXX, \u{…}, \xXX, Python, Go, CSS, &#x…;, %uXXXX or U+XXXX), decide whether to escape only non-ASCII, and keep standard escapes for \n \t \\ and quotes.
  3. 3When unescaping, leave Auto-detect on: every backslash, HTML, %u and U+ form is decoded in one pass, and malformed escapes are reported with their position.
  4. 4Open the Inspector tab to see each code point with its name, category, block, UTF-8 and UTF-16 bytes, and warnings for invisible, bidirectional, look-alike or mixed-script characters.
  5. 5Use the NFC / NFD / NFKC / NFKD buttons to normalize, "Strip invisible characters" to clean pasted text, and Swap (⌘⇧S) to go back and forth.

About Unicode Escape / Unescape

Escape Unicode text into the exact form your language expects — JavaScript/JSON/Java \uXXXX with surrogate pairs, ES2015/Rust \u{…}, \xXX, Python \U00XXXXXX, Go, CSS \41 , HTML &#x…;, legacy %uXXXX or plain U+XXXX notation — including the standard \n \t \\ \" escapes. Unescaping auto-detects all of those formats in one pass and reports malformed or out-of-range escapes with their position. The Inspector tab lists every code point with its name, general category, block, UTF-8 and UTF-16 bytes, grapheme count, and flags zero-width, bidirectional, look-alike, mixed-script and non-standard-space characters, with NFC/NFD/NFKC/NFKD normalization buttons.

Unicode Escape / Unescape is part of FizzKit — a collection of focused developer and ad-tech tools. Because everything runs locally, it works offline once loaded and never exposes your data to a remote server.

Frequently asked questions

The 4-digit form covers U+0000–U+FFFF; anything above must be written as a surrogate pair (two \u escapes), which is what JSON and Java require. The brace form (ES2015, Rust, Swift) writes any code point up to U+10FFFF directly.