HTML Unicode (UTF-8) Reference Manual

Unicode Consortium

The Unicode Consortium has developed the Unicode standard. Their goal is to replace existing character sets with their standard Unicode Transformation Format (UTF).

The Unicode standard has been successful and has been implemented through HTML, XML, Java, JavaScript, email, ASP, PHP, and others. Unicode standards are supported in many operating systems and all modern browsers.

The Unicode Consortium collaborates with leading standard development organizations (such as ISO, W3C, and ECMA).

Unicode character set

Unicode can be implemented through different character sets. The most commonly used encodings are UTF-8 and UTF-16:

Character Set Description
UTF-8

The character length in UTF-8 can be from 1 to 4 bytes.

UTF-8 can represent any character in the Unicode standard.

UTF-8 is backward compatible with ASCII. UTF-8 is the preferred encoding for email and web pages.

UTF-16

The 16-bit Unicode Transformation Format is a variable-length character encoding of Unicode, capable of encoding the entire Unicode repertoire.

UTF-16 is used in major operating systems and environments, such as Microsoft Windows, Java, and .NET.

Note:The first 128 characters of Unicode (which correspond to ASCII one-to-one) are encoded using a single eight-bit byte, which has the same binary value as ASCII, making valid ASCII text also valid UTF-8 encoded Unicode.

Tip:HTML 4 supports UTF-8. HTML 5 supports UTF-8 and UTF-16!

HTML5 standard: Unicode UTF-8

Since the character set size in ISO-8859 is limited and not compatible with multilingual environments, the Unicode Consortium developed the Unicode standard.

The Unicode standard (almost) covers all characters, punctuation marks, and symbols in the world.

Unicode supports text processing, storage, and transmission independent of platforms and languages.

The default character encoding in HTML5 is UTF-8.

If the character set used by an HTML5 web page is different from UTF-8, then the character set should be specified in the <meta> tag, for example:

Example

<meta charset="ISO-8859-1">

Difference between Unicode and UTF-8

Unicode is a character set. UTF-8 is an encoding.

Unicode is a list of characters with unique decimal numbers (code points). A = 65, B = 66, C = 67, ...

This decimal number list represents the string "hello": 104 101 108 108 111

Encoding is the way these numbers are converted to binary numbers to store them in a computer:

UTF-8 encoding stores the string "hello" like this (binary): 01101000 01100101 01101100 01101100 01101111

EncodingConvert numbers to binary.Character SetConvert characters to numbers.

HTML5 UTF-8 Character Codes

The following table lists some UTF-8 character codes supported by HTML5:

Character Code Decimal Hexadecimal
C0 Controls and Basic Latin 0-127 0000-007F
C1 Controls and Latin-1 Supplement 128-255 0080-00FF
Latin Extended-A 256-383 0100-017F
Latin Extended-B 384-591 0180-024F
Spacing Modifiers 688-767 02B0-02FF
Diacritical Marks 768-879 0300-036F
Greek and Coptic 880-1023 0370-03FF
Cyrillic Basic 1024-1279 0400-04FF
Cyrillic Supplement 1280-1327 0500-052F
General Punctuation 8192-8303 2000-206F
Currency Symbols 8352-8399 20A0-20CF
Letterlike Symbols 8448-8527 2100-214F
Arrows 8592-8703 2190-21FF
Mathematical Operators 8704-8959 2200-22FF
Box Drawings 9472-9599 2500-257F
Block Elements 9600-9631 2580-259F
Geometric Shapes 9632-9727 25A0-25FF
Miscellaneous Symbols 9728-9983 2600-26FF
Dingbats 9984-10175 2700-27BF