blog
Unicode, UTF-8 and encoding guides
Guides and deep dives on Unicode, UTF-8 and UTF-16, code points, escapes and encodings, written by the people who built the converter.
How our Unicode text converter works under the hood
How our unicode text converter works: decode-then-encode pipeline, 15 two-way panels, a generated UCD subset behind Inspect, and GPL differential tests.
Read articlePercent-encoding in URLs: why é becomes %C3%A9
Percent-encoding turns Unicode into URL-safe text: é becomes %C3%A9, the UTF-8 bytes C3 A9 with % glued on. URL encoding, + vs %20, and JS APIs explained.
Read articleUnicode in JavaScript, Python, Java, Rust, and Go
How JavaScript, Python, Java, Rust and Go store and measure Unicode strings: UTF-16 code units, code points and UTF-8 bytes, each with a tested example.
Read articleUnicode escapes in code: JavaScript, CSS, Rust, Perl, Java
Unicode escapes in JavaScript, CSS, Rust, Perl and Java: exact syntax per spec, copy-pasteable examples, and the gotchas, from string.length to \u000A.
Read articleUnicode to HTML entities: NCRs and named references
Convert Unicode to HTML entities with hex and decimal numeric character references. Learn when escaping is required and why the trailing semicolon matters.
Read articleCJK in Unicode: Han unification, blocks, and gotchas
How CJK Unicode encoding works: Han unification assigns Chinese, Japanese and Korean ideographs one shared code point, and the font decides the glyph.
Read articleUnicode notation guide: every way to write U+00E9
A field guide to Unicode notation: U+00E9 vs 0xE9, \u00E9, \xE9, é, é, CSS escapes and %C3%A9. What each means, where it is used, what it decodes to.
Read articleHow to convert text to Unicode code points
Convert text to Unicode code points in U+, 0x, hex or decimal notation. See exactly what 'café 😀' becomes, and when each notation is the right one for the job.
Read articleASCII vs Latin-1 vs Unicode: where mojibake comes from
ASCII vs Unicode explained through history: 7-bit ASCII, 8-bit Latin-1, Windows-1252, and why UTF-8 café turns into café. Diagnose mojibake step by step.
Read articleUTF-8 vs UTF-16 vs UTF-32: what the bytes say
See UTF-8 vs UTF-16 vs UTF-32 side by side: real byte counts for ASCII, accented and CJK text plus emoji, where each UTF lives, endianness and the BOM.
Read articleWhat is UTF-16? Code units and surrogate pairs explained
Unicode to UTF-16, step by step: how U+1F600 becomes D83D DE00, the surrogate pair formula, code unit vs code point, and why string.length counts emoji as 2.
Read articleWhat is UTF-8? Code points to bytes, step by step
UTF-8 turns every Unicode code point into one to four bytes. See how é becomes C3 A9, why overlong encodings are illegal, and test it in a UTF-8 converter.
Read articleUnicode vs UTF-8: your file is never "Unicode"
Unicode vs UTF-8 explained: Unicode is the coded character set, UTF-8, UTF-16 and UTF-32 are byte encodings. See one character in every format, byte by byte.
Read articleWhat is Unicode? Code points, planes, and why é is U+00E9
Unicode gives every character a number. Learn what code points, planes and blocks are, why é is U+00E9, and how to inspect any character in your browser.
Read article