Unicode equivalence
lastmod 2026-07-15created 2026-07-151 edits
Unicode equivalence is the specification in the Unicode character encoding standard by which certain sequences of code points must represent the same character. This feature was introduced into the standard to allow compatibility with pre-existing standard character sets that contain similar or identical characters.
Unicode provides two notions: one is canonical equivalence and the other is compatibility. Code point sequences defined as canonically equivalent are assumed to have the same appearance and meaning when printed or displayed. For example, the code point U+006E (Latin lowercase "n") followed by U+0303 (combining tilde "◌̃") is defined to be identical to the single code point U+00F1 (lowercase "ñ" of the Spanish alphabet). Therefore, these sequences should be displayed in the same manner and should be treated in the same way by applications when alphabetizing names, searching, and so on.
The standard defines a text normalization procedure, called Unicode normalization, that replaces equivalent sequences of characters so that any two texts that are equivalent are reduced to the same sequence of code points.
Unicode Normalization
Unicode normalization refers to unifying multiple characters that look the same into one according to a standard. The standards are NFD, NFC, NFKD, and NFKC, as shown in the table below.
| Title | Description |
| Normalization Form D (NFD) | Canonical decomposition |
| Normalization Form C (NFC) | Canonical decomposition, followed by canonical composition |
| Normalization Form KD (NFKD) | Compatibility decomposition |
| Normalization Form KC (NFKC) | Compatibility decomposition, followed by canonical composition |