</>

Unicode Converter

Convert text to Unicode code points and vice versa

Unicode

Convert between Unicode characters, code points, and escape sequences

Unicode is the foundation of every modern text system, but it surfaces in many forms: U+ notation, JavaScript escape sequences, HTML entities, and raw bytes. This tool converts between those representations so you can paste a mojibake bug report, a strange log line, or a snippet of source code and immediately see the actual characters and code points. That speeds up i18n debugging, character set audits, and emoji handling work.

  1. Paste the input you want to inspect. It can be raw text, U+ notation, `\u` escapes, or HTML entities.
  2. Read the converted output to confirm which actual characters are present, including invisible whitespace and zero-width characters.
  3. Use the code point view to locate exotic characters that might cause display, sorting, or storage issues.
  4. Copy the cleaned or converted form into your code, dataset, or bug ticket.

Why visually identical text can still compare differently

Unicode complexity comes from the fact that the same visible character can be represented by different code point sequences. That affects search, sorting, deduplication, security filtering, and UI rendering. Accented letters, emoji sequences, full-width forms, and compatibility characters all contribute to the problem.

A Unicode tool page becomes much more valuable once it explains code points, escapes, normalization, and homoglyphs instead of acting like a bare converter.

Unicode is also a security and data-quality topic

Unicode mistakes are not just theoretical. Domain spoofing, username impersonation, log pollution, and cross-system comparison failures often trace back to normalization gaps or invisible characters.

That is why the page text should encourage explicit normalization policies before storage, comparison, and indexing, especially in user-facing and security-sensitive systems.

Best use cases

  • Debugging mojibake (incorrectly decoded text) in logs, databases, or user reports.
  • Auditing dataset content for invisible characters, BOMs, or zero-width joiners.
  • Translating between source code escape sequences and the actual characters they represent.

Common mistakes to avoid

  • Surrogate pairs in UTF-16 mean a single character can occupy two JavaScript string positions. String length is not always character count.
  • Combining characters (accents, diacritics) can change rendering without changing the underlying code points. Normalize with NFC or NFKC before comparing strings.
  • Some homoglyphs look identical but have different code points. They are a common phishing technique and a frequent source of "the strings look equal but compare unequal" bugs.

FAQ

What is the difference between code point and code unit?

A code point is a Unicode value such as U+1F600. A code unit is the encoding-specific piece used to represent it (one or two units in UTF-16, one to four bytes in UTF-8).

Why does my emoji count as multiple characters?

Many emoji, skin tones, and country flags are sequences of code points joined by zero-width joiners. JavaScript counts each one as a code unit unless you iterate by code points.

Should I normalize input before saving it?

Yes for most user-facing systems. NFC is the safest default; it produces the shortest stable form for almost all real-world text.

Cookie Consent

We use cookies to enhance your experience and show relevant ads. You can customize your preferences.