Unicode Converter

Convert Unicode characters, escapes, and code points.

Text input

Enter text to convert locally. Unicode is not normalized.

U+ notationRead-only

Conversion output appears here.

Read-only output remains selectable and can be copied manually.

Options

Conversion direction

Decode uses the selected format and separator. Empty tokens from repeated separators are rejected; surrounding whitespace is ignored. Classic JavaScript escapes are written together so surrogate pairs remain valid.

Your text stays in your browser.

Nothing you enter is uploaded or automatically saved. Copying and downloads happen only when you explicitly choose them.

Statistics

Input: 0 characters · 0 code points · 0 UTF-16 units

Output: 0 characters · 0 B · 0 lines

UTF-8 bytes: 0 B · Lines: 0

Non-BMP code points: 0 · Combining marks: 0

How to use

  1. Choose Text → Unicode or Unicode → Text.
  2. Select an explicit representation and separator.
  3. Enter text or values; output updates locally as you type.
  4. Copy, download, or move the result into the reverse direction.

Unicode code points and UTF-16

Unicode assigns a code point such as U+1F680 to each character. UTF-8 is a byte encoding, while JavaScript strings use UTF-16 code units. An emoji like 🚀 is one Unicode code point but two UTF-16 code units, represented by a surrogate pair in classic JavaScript \uXXXX escapes.

Escapes, combining marks, and limitations

U+ notation describes code points, not UTF-8 bytes. JavaScript \u{...} escapes represent one code point; classic \uXXXX escapes represent UTF-16 units. This tool never normalizes text: e followed by a combining acute accent remains two code points, even if it looks like é.

Privacy

Conversion happens entirely in your browser. No text is sent to a server, placed in URLs, logged, or automatically stored.

Frequently asked questions

Why does an emoji have one code point but two JavaScript characters?

JavaScript uses UTF-16 code units. Non-BMP characters such as many emoji need a high and low surrogate unit, while still being one Unicode code point.

What is the difference between \uXXXX and \u{...}?

The first encodes one UTF-16 unit, so non-BMP text uses a surrogate pair. The braced form represents one Unicode code point.

What is U+ notation?

It is a readable Unicode code-point label, for example U+0041 for A and U+1F680 for 🚀.

What are surrogate pairs?

They are the two UTF-16 units used together to represent one code point above U+FFFF.

Does this normalize Unicode?

No. It preserves the original sequence of code points, including combining marks.

Why can visually identical text have different code points?

A character can sometimes be represented as one precomposed code point or a base character plus combining mark; this tool leaves either form unchanged.

Practical guide

When to use it

Use it to inspect characters that look unusual, document code points, or move between visible text and Unicode escape notation.

Three steps

  1. Choose text-to-Unicode or Unicode-to-text and a representation.
  2. Paste the characters or explicit code points.
  3. Convert and verify the result before using it in code or documentation.

Example and a common mistake

The rocket emoji is U+1F680, while A is U+0041.

A Unicode code point is not the same as its UTF-8 bytes; use the hex or binary tools when bytes are required.

Encoding

Available

ASCII Converter

Translate text between ASCII characters and numeric codes.