Unicode & i18n tools
Text that looks identical on screen but fails a string comparison, a paste that turns into garbled symbols after a wrong encoding somewhere in the pipeline, or a username that looks legitimate but uses lookalike characters from another script — Unicode bugs are invisible until you have the right tool to look underneath the rendered text. This page also covers locale tags and pluralized message formatting for internationalized apps.
Unicode inspector breaks a character sequence down into code points, graphemes and raw UTF-8 bytes, which is usually where an apparent duplicate turns out to differ by normalization form. Unicode normalizer shows NFC, NFD, NFKC and NFKD side by side so you can see exactly what changes. invisible character detector reveals zero-width characters hidden in pasted text, and Unicode confusable detector flags lookalikes from other scripts that visual review alone would miss.
9 tools
Inspect characters and detect issues
Normalize and repair text
-
Unicode normalizer
Compare NFC, NFD, NFKC and NFKD normalization forms visually
-
Mojibake fixer
Fix mojibake by selecting among repair candidates with byte inspection
-
String escape
Escape or unescape strings for JSON, JavaScript and Unicode contexts
-
Punycode converter
Transform between Unicode and ASCII domain names side by side
Unicode & i18n tools FAQ
They're likely encoded with different Unicode normalization forms — an accented letter can be one combined code point or a base letter plus a separate combining mark, and both render the same but compare unequal. Unicode normalizer shows NFC, NFD, NFKC and NFKD side by side so you can see exactly which form each string uses.
invisible character detector scans pasted text for zero-width spaces, joiners and other characters that render as nothing, which are sometimes used to hide content from filters or make two strings look identical while differing underneath. It's worth checking before trusting text pasted from an untrusted source.
Mojibake happens when text encoded in one character set — often UTF-8 — is decoded as if it were another, like Latin-1 or Windows-1252. Mojibake fixer tries the likely encoding combinations and shows repair candidates with the underlying bytes, so you can pick the one that actually reconstructs the original text.