Free Unicode Encoder & Decoder Online

Use the unicode encoder decoder tool online for quick developer workflows. Add examples, caveats, and avoid pasting sensitive secrets.

Free online file converter tool. Works in Chrome Firefox Safari Edge Opera and other modern browsers on Windows macOS Linux Android and iOS. No software installation required. All processing happens directly in your browser, so your files never leave your device. Completely free to use with no account needed.

Free Unicode Encoder & Decoder Online

Convert text to Unicode escape sequences and decode them back. Real-time conversion in your browser.

Key Features

Everything you need to work with Unicode escape sequences

Unicode Escape Sequences

Convert any non-ASCII character to its \uXXXX escape form used in JavaScript, Java, JSON and many other languages.

Bidirectional

Encode text to Unicode escapes or decode escape sequences back to readable characters with a tab switch.

Privacy First

browser-side workflows runs locally in your browser. Your data stays on your device for browser-side workflows.

How to Encode and Decode Unicode

  1. Choose Encode or Decode

    Click the Encode tab to turn text into escape sequences, or the Decode tab to turn escape sequences back into readable text. Switching tabs clears both boxes so the input and output always match the mode you are in.

  2. Type or paste your input

    In Encode mode, enter any text containing accents, symbols, or non-Latin characters. In Decode mode, paste sequences such as é or \U0001F600. Conversion runs as you type, with no convert button to press.

  3. Copy or clear the result

    The output area updates instantly. Click Copy Result to send the output to your clipboard, or Clear to empty both boxes and start again. All conversion happens locally in your browser.

What Each Mode Does

The encoder only escapes characters above code point 127, so plain ASCII text passes through untouched and stays readable. The decoder reverses both four-digit and eight-digit escape forms. The table below shows how specific inputs are handled.

InputModeOutputWhy
HelloEncodeHelloAll characters are ASCII (code 0 to 127), so nothing is escaped.
caf with accented eEncodecaféOnly the accented letter is above 127, so only it becomes \uXXXX.
An emoji such as a grinning faceEncode😀Characters beyond U+FFFF are emitted as a UTF-16 surrogate pair.
DecodeThe euro signA four-digit \uXXXX sequence maps to one code point.
\U0001F680DecodeA rocket emojiAn eight-digit \UXXXXXXXX sequence is converted, including astral code points.
Price 10DecodePrice 10Text with no escape sequences is returned unchanged.

When This Tool Helps

Embedding text in source code

Encode mode produces \uXXXX sequences that paste safely into JavaScript, Java, JSON, and other formats that accept this syntax, keeping non-ASCII characters intact in ASCII-only files.

Reading escaped strings

When a log line, config value, or API response contains \uXXXX escapes, Decode mode turns them back into the characters they represent so you can see the real content.

Inspecting hidden characters

Encoding reveals exactly which characters are non-ASCII and what their hex code points are, which helps when tracking down a stray symbol or an unexpected accented letter.

Quick offline conversions

Because conversion runs in JavaScript on the page, it works after the page has loaded even without a connection, which suits one-off checks while you work.

Common Problems and Fixes

My ASCII text was not escaped

That is expected. Only characters above code point 127 are converted. Letters, digits, and common punctuation in the basic ASCII range are left unchanged so the output stays readable.

An emoji turned into two \uXXXX sequences

Characters beyond U+FFFF are stored as a UTF-16 surrogate pair, so encoding outputs two four-digit escapes. This is the same form most programming languages use and decodes back correctly.

My escape sequence did not decode

The decoder recognizes \uXXXX with exactly four hex digits and \UXXXXXXXX with exactly eight. Make sure the backslash, the case of the u, and the digit count match one of those forms, and that hex digits are 0-9 or A-F.

Output is empty or stale

Conversion updates as you type in the input box, not the output box. If nothing appears, confirm you are typing in the Input area and that you are in the intended Encode or Decode tab. Use Clear to reset both boxes.

References

  1. The Unicode Standard - Unicode Consortium
  2. String.prototype.codePointAt() - MDN Web Docs, Mozilla
  3. UTF-8 - overview
  4. Unicode - overview
  5. Code point - MDN Web Docs, Mozilla
  6. Surrogate pairs - overview
  7. Clipboard.writeText() - MDN Web Docs, Mozilla
  8. TextEncoder - MDN Web Docs, Mozilla