Skip to content
Latest: The updated version of the Creating NPM Package (React JavaScript) book is out

What Is UTF? – Difference Between UTF-8, UTF-16, and UTF-32

UTF (Unicode Transformation Format) is the algorithm Unicode uses to transform all Unicode code points into their equivalent binary formats.

In other words, UTF answers, “How many bits should a single code unit contain?—should one code unit have three, five, or sixty bits?”

Types of UTF

Unicode provide three ways to encode (transform) a Unicode code point into its binary equivalent:

  • UTF-8
  • UTF-16
  • UTF-32

The numerals in UTF-8, UTF-16, and UTF-32 indicate the number of bits a code unit can contain.

For instance, a code unit in a UTF-8 format can contain eight bits. In contrast, a UTF-32 code unit can have thirty-two binary digits.

What Is UTF-8 Encoding?

UTF-8 is one of Unicode’s encoding formats. It allows encoding code points into code units of eight bits.

In other words, in a UTF-8 encoding system, one code unit equals one byte (1 code unit = 1 byte).

For instance, digit 7’s binary form is 00110111 in the UTF-8 system.

What Is UTF-16 Encoding?

UTF-16 allows encoding code points into code units of 16 bits.

In other words, in a UTF-16 encoding system, one code unit equals two bytes (1 code unit = 2 bytes).

For instance, digit 7’s binary form is 00000000 00110111 in the UTF-16BE system.

What Is UTF-32 Encoding?

UTF-32 allows encoding code points into code units of 32 bits.

In other words, in a UTF-32 encoding system, one code unit equals four bytes (1 code unit = 4 bytes).

For instance, digit 7’s binary form is 00000000 00000000 00000000 00110111 in the UTF-32BE system.

UTF-8 vs. UTF-16 vs. UTF-32: What’s the Difference?

UTF-8, UTF-16 and UTF-32 are all encoding systems Unicode uses to encode code points into bits. But people mostly favor UTF-8 because of its effective space management.

  • UTF-8 requires a minimum of 8 bits (one byte) to encode a character into bits. But, if necessary, it can use two, three, or four bytes.
  • UTF-16 needs a minimum of 16 bits (two bytes) to transform a character into its binary state. And if necessary, it can use four bytes.
  • UTF-32 uses a minimum of 32 bits (four bytes) to represent a character’s binary form.

In other words, a document using the UTF-8 encoding system typically uses less memory to store its code points because the computer would have used fewer bits to transform the file’s characters into their binary forms.

How to Configure Your Web Page to Use UTF-8

Initialize the charset attribute of your HTML document with UTF-8 like so:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Your document's title</title>
</head>
<body>
<!-- Space for the documents's content such as <p>, <div>, and <img> elements -->
</body>
</html>

The charset="utf-8" attribute tells browsers you used UTF-8 to encode your page’s characters. This information lets browsers understand they should transform your document’s code units from its UTF-8 encoding format to human-readable characters.