XID Start

Unicode Version 18.0

XID Start is a character classification that identifies which Unicode code points can begin an identifier in programming languages and data formats. It includes letters from all scripts, such as Latin, Cyrillic, Arabic, and Han, plus certain symbols like the underscore and some currency signs, while excluding digits, punctuation, and combining marks. This set is more restrictive than the broader ID Start category because it also excludes characters that could be confused with digits or that have ambiguous bidirectional behavior, ensuring safer and more predictable parsing. For example, characters like 'a', 'Ω', and '漢' qualify, but '1' and '!' do not. The definition is based on stable criteria, helping language designers uniformly support internationalized identifiers across different systems.