An emoji has two UTF-16 units
😀 becomes \uD83D\uDE00 in fixed-width mode and \u{1F600} in brace mode. Both decode to the same code point.
Inspect the difference between a Unicode code point and a UTF-16 code unit. Convert text to fixed-width \uXXXX sequences or brace-style \u{...} sequences, with strict validation when turning escapes back into text.
First 100 code points of the text; spaces and combining marks may appear blank.
A · U+0041 · U+0020c · U+0063a · U+0061f · U+0066é · U+00E9 · U+0020😀 · U+1F600Decode accepts both Unicode forms and plain text. It rejects unpaired surrogates, out-of-range points, and other backslash escapes such as \n. Fixed-width escapes form the Unicode portion of JSON escaping; this tool does not produce a quoted JSON string. Limit: 250,000 UTF-16 code units.
Conversions run locally in your browser. This tool does not upload input or save it to browser storage.
Choose text-to-escapes or escapes-to-text.
For encoding, select fixed-width UTF-16 or brace-style code points. Keep printable ASCII if you only need to expose the other characters.
Paste text or Unicode escapes. Decode accepts either escape style in the same input.
Review the code point lens, then copy or download.
😀 becomes \uD83D\uDE00 in fixed-width mode and \u{1F600} in brace mode. Both decode to the same code point.
The decomposed text e followed by U+0301 becomes \u0065\u0301. This tool does not normalize it into the single code point U+00E9.
UTF-16 represents code points above U+FFFF with a pair of 16-bit code units. Brace notation names the whole code point directly. The lens shows code points, which can still differ from the visible grapheme clusters a reader thinks of as characters.
The decoder accepts ordinary text and Unicode escapes. It does not interpret quotes, concatenate literals, execute JavaScript, or process other backslash escapes such as \n or \x41. To represent a literal backslash here, use \u005C.
An isolated high or low surrogate is rejected. Brace escapes must name scalar values no greater than U+10FFFF. Fixed-width escapes can form a valid surrogate pair, but the final decoded text must be well formed.
Fixed-width Unicode escapes can appear inside a JSON string, but this tool does not add the required surrounding quotes or validate an entire JSON document. Brace escapes are not JSON syntax.
Emoji sequences can combine a base character, modifiers, joiners, and other points. Escaping preserves each point rather than merging the visible sequence.
The keep-ASCII option leaves visible ASCII unchanged except backslash. Backslashes are always escaped so decoding remains unambiguous.