Script Codes Table
| Code | No. | Script | Unicode since |
|---|---|---|---|
| Adlm | 166 | Adlam | 9.0 |
| Afak | 439 | Afaka | – |
| Aghb | 239 | Caucasian Albanian | 7.0 |
| Ahom | 338 | Ahom, Tai Ahom | 8.0 |
| Arab | 160 | Arabic | 1.1 |
| Aran | 161 | Arabic (Nastaliq variant) | 1.1 |
| Armi | 124 | Imperial Aramaic | 5.2 |
| Armn | 230 | Armenian | 1.1 |
| Avst | 134 | Avestan | 5.2 |
| Bali | 360 | Balinese | 5.0 |
| Bamu | 435 | Bamum | 5.2 |
| Bass | 259 | Bassa Vah | 7.0 |
| Batk | 365 | Batak | 6.0 |
| Beng | 325 | Bengali (Bangla) | 1.1 |
| Berf | 258 | Beria Erfe | – |
| Bhks | 334 | Bhaiksuki | 9.0 |
| Blis | 550 | Blissymbols | – |
| Bopo | 285 | Bopomofo | 1.1 |
| Brah | 300 | Brahmi | 6.0 |
| Brai | 570 | Braille | 3.0 |
| Bugi | 367 | Buginese | 4.1 |
| Buhd | 372 | Buhid | 3.2 |
| Cakm | 349 | Chakma | 6.1 |
| Cans | 440 | Unified Canadian Aboriginal Syllabics | 3.0 |
| Cari | 201 | Carian | 5.1 |
| Cham | 358 | Cham | 5.1 |
| Cher | 445 | Cherokee | 3.0 |
| Chis | 298 | Chisoi | – |
| Chrs | 109 | Chorasmian | 13.0 |
| Cirt | 291 | Cirth | – |
| Copt | 204 | Coptic | 4.1 |
| Cpmn | 402 | Cypro-Minoan | 14.0 |
| Cprt | 403 | Cypriot syllabary | 4.0 |
| Cyrl | 220 | Cyrillic | 1.1 |
| Cyrs | 221 | Cyrillic (Old Church Slavonic variant) | 1.1 |
| Deva | 315 | Devanagari (Nagari) | 1.1 |
| Diak | 342 | Dives Akuru | 13.0 |
| Dogr | 328 | Dogra | 11.0 |
| Dsrt | 250 | Deseret (Mormon) | 3.1 |
| Dupl | 755 | Duployan shorthand, Duployan stenography | 7.0 |
| Egyd | 070 | Egyptian demotic | – |
| Egyh | 060 | Egyptian hieratic | 5.2 |
| Egyp | 050 | Egyptian hieroglyphs | 5.2 |
| Elba | 226 | Elbasan | 7.0 |
| Elym | 128 | Elymaic | 12.0 |
| Ethi | 430 | Ethiopic (Geʻez) | 3.0 |
| Gara | 164 | Garay | 16.0 |
| Geok | 241 | Khutsuri (Asomtavruli and Nuskhuri) | 1.1 |
| Geor | 240 | Georgian (Mkhedruli and Mtavruli) | 1.1 |
| Glag | 225 | Glagolitic | 4.1 |
| Gong | 312 | Gunjala Gondi | 11.0 |
| Gonm | 313 | Masaram Gondi | 10.0 |
| Goth | 206 | Gothic | 3.1 |
| Gran | 343 | Grantha | 7.0 |
| Grek | 200 | Greek | 1.1 |
| Gujr | 320 | Gujarati | 1.1 |
| Gukh | 397 | Gurung Khema | 16.0 |
| Guru | 310 | Gurmukhi | 1.1 |
| Hanb | 503 | Han with Bopomofo (alias for Han + Bopomofo) | 1.1 |
| Hang | 286 | Hangul (Hangŭl, Hangeul) | 1.1 |
| Hani | 500 | Han (Hanzi, Kanji, Hanja) | 1.1 |
| Hano | 371 | Hanunoo (Hanunóo) | 3.2 |
| Hans | 501 | Han (Simplified variant) | 1.1 |
| Hant | 502 | Han (Traditional variant) | 1.1 |
| Hatr | 127 | Hatran | 8.0 |
| Hebr | 125 | Hebrew | 1.1 |
| Hira | 410 | Hiragana | 1.1 |
| Hluw | 080 | Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs) | 8.0 |
| Hmng | 450 | Pahawh Hmong | 7.0 |
| Hmnp | 451 | Nyiakeng Puachue Hmong | 12.0 |
| Hntl | 504 | Han (Traditional variant) with Latin (alias for Hant + Latn) | – |
| Hrkt | 412 | Japanese syllabaries (alias for Hiragana + Katakana) | 1.1 |
| Hung | 176 | Old Hungarian (Hungarian Runic) | 8.0 |
| Inds | 610 | Indus (Harappan) | – |
| Ital | 210 | Old Italic (Etruscan, Oscan, etc.) | 3.1 |
| Jamo | 284 | Jamo (alias for Jamo subset of Hangul) | 1.1 |
| Java | 361 | Javanese | 5.2 |
| Jpan | 413 | Japanese (alias for Han + Hiragana + Katakana) | 1.1 |
| Jurc | 510 | Jurchen | – |
| Kali | 357 | Kayah Li | 5.1 |
| Kana | 411 | Katakana | 1.1 |
| Kawi | 368 | Kawi | 15.0 |
| Khar | 305 | Kharoshthi | 4.1 |
| Khmr | 355 | Khmer | 3.0 |
| Khoj | 322 | Khojki | 7.0 |
| Kitl | 505 | Khitan large script | – |
| Kits | 288 | Khitan small script | 13.0 |
| Knda | 345 | Kannada | 1.1 |
| Kore | 287 | Korean (alias for Hangul + Han) | 1.1 |
| Kpel | 436 | Kpelle | – |
| Krai | 396 | Kirat Rai | 16.0 |
| Kthi | 317 | Kaithi | 5.2 |
| Lana | 351 | Tai Tham (Lanna) | 5.2 |
| Laoo | 356 | Lao | 1.1 |
| Latf | 217 | Latin (Fraktur variant) | 1.1 |
| Latg | 216 | Latin (Gaelic variant) | 1.1 |
| Latn | 215 | Latin | 1.1 |
| Leke | 364 | Leke | – |
| Lepc | 335 | Lepcha (Róng) | 5.1 |
| Limb | 336 | Limbu | 4.0 |
| Lina | 400 | Linear A | 7.0 |
| Linb | 401 | Linear B | 4.0 |
| Lisu | 399 | Lisu (Fraser) | 5.2 |
| Loma | 437 | Loma | – |
| Lyci | 202 | Lycian | 5.1 |
| Lydi | 116 | Lydian | 5.1 |
| Mahj | 314 | Mahajani | 7.0 |
| Maka | 366 | Makasar | 11.0 |
| Mand | 140 | Mandaic, Mandaean | 6.0 |
| Mani | 139 | Manichaean | 7.0 |
| Marc | 332 | Marchen | 9.0 |
| Maya | 090 | Mayan hieroglyphs | – |
| Medf | 265 | Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ) | 11.0 |
| Mend | 438 | Mende Kikakui | 7.0 |
| Merc | 101 | Meroitic Cursive | 6.1 |
| Mero | 100 | Meroitic Hieroglyphs | 6.1 |
| Mlym | 347 | Malayalam | 1.1 |
| Modi | 324 | Modi, Moḍī | 7.0 |
| Mong | 145 | Mongolian | 3.0 |
| Moon | 218 | Moon (Moon code, Moon script, Moon type) | – |
| Mroo | 264 | Mro, Mru | 7.0 |
| Mtei | 337 | Meitei Mayek (Meithei, Meetei) | 5.2 |
| Mult | 323 | Multani | 8.0 |
| Mymr | 350 | Myanmar (Burmese) | 3.0 |
| Nagm | 295 | Nag Mundari | 15.0 |
| Nand | 311 | Nandinagari | 12.0 |
| Narb | 106 | Old North Arabian (Ancient North Arabian) | 7.0 |
| Nbat | 159 | Nabataean | 7.0 |
| Newa | 333 | Newa, Newar, Newari, Nepāla lipi | 9.0 |
| Nkdb | 085 | Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba) | – |
| Nkgb | 420 | Naxi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na-'Khi ²Ggŏ-¹baw, Nakhi Geba) | – |
| Nkoo | 165 | N’Ko | 5.0 |
| Nshu | 499 | Nüshu | 10.0 |
| Ogam | 212 | Ogham | 3.0 |
| Olck | 261 | Ol Chiki (Ol Cemet’, Ol, Santali) | 5.1 |
| Onao | 296 | Ol Onal | 16.0 |
| Orkh | 175 | Old Turkic, Orkhon Runic | 5.2 |
| Orya | 327 | Oriya (Odia) | 1.1 |
| Osge | 219 | Osage | 9.0 |
| Osma | 260 | Osmanya | 4.0 |
| Ougr | 143 | Old Uyghur | 14.0 |
| Palm | 126 | Palmyrene | 7.0 |
| Pauc | 263 | Pau Cin Hau | 7.0 |
| Pcun | 015 | Proto-Cuneiform | – |
| Pelm | 016 | Proto-Elamite | – |
| Perm | 227 | Old Permic | 7.0 |
| Phag | 331 | Phags-pa | 5.0 |
| Phli | 131 | Inscriptional Pahlavi | 5.2 |
| Phlp | 132 | Psalter Pahlavi | 7.0 |
| Phlv | 133 | Book Pahlavi | – |
| Phnx | 115 | Phoenician | 5.0 |
| Plrd | 282 | Miao (Pollard) | 6.1 |
| Piqd | 293 | Klingon (KLI pIqaD) | – |
| Prti | 130 | Inscriptional Parthian | 5.2 |
| Psin | 103 | Proto-Sinaitic | – |
| Qaaa | 900 | Reserved for private use (start) | – |
| Qabx | 949 | Reserved for private use (end) | – |
| Ranj | 303 | Ranjana | – |
| Rjng | 363 | Rejang (Redjang, Kaganga) | 5.1 |
| Rohg | 167 | Hanifi Rohingya | 11.0 |
| Roro | 620 | Rongorongo | – |
| Runr | 211 | Runic | 3.0 |
| Samr | 123 | Samaritan | 5.2 |
| Sara | 292 | Sarati | – |
| Sarb | 105 | Old South Arabian | 5.2 |
| Saur | 344 | Saurashtra | 5.1 |
| Seal | 590 | (Small) Seal | – |
| Sgnw | 095 | SignWriting | 8.0 |
| Shaw | 281 | Shavian (Shaw) | 4.0 |
| Shrd | 319 | Sharada, Śāradā | 6.1 |
| Shui | 530 | Shuishu | – |
| Sidd | 302 | Siddham, Siddhaṃ, Siddhamātṛkā | 7.0 |
| Sidt | 180 | Sidetic | – |
| Sind | 318 | Khudawadi, Sindhi | 7.0 |
| Sinh | 348 | Sinhala | 3.0 |
| Sogd | 141 | Sogdian | 11.0 |
| Sogo | 142 | Old Sogdian | 11.0 |
| Sora | 398 | Sora Sompeng | 6.1 |
| Soyo | 329 | Soyombo | 10.0 |
| Sund | 362 | Sundanese | 5.1 |
| Sunu | 274 | Sunuwar | 16.0 |
| Sylo | 316 | Syloti Nagri | 4.1 |
| Syrc | 135 | Syriac | 3.0 |
| Syre | 138 | Syriac (Estrangelo variant) | 3.0 |
| Syrj | 137 | Syriac (Western variant) | 3.0 |
| Syrn | 136 | Syriac (Eastern variant) | 3.0 |
| Tagb | 373 | Tagbanwa | 3.2 |
| Takr | 321 | Takri, Ṭākrī, Ṭāṅkrī | 6.1 |
| Tale | 353 | Tai Le | 4.0 |
| Talu | 354 | New Tai Lue | 4.1 |
| Taml | 346 | Tamil | 1.1 |
| Tang | 520 | Tangut | 9.0 |
| Tavt | 359 | Tai Viet | 5.2 |
| Tayo | 380 | Tai Yo | – |
| Telu | 340 | Telugu | 1.1 |
| Teng | 290 | Tengwar | – |
| Tfng | 120 | Tifinagh (Berber) | 4.1 |
| Tglg | 370 | Tagalog (Baybayin, Alibata) | 3.2 |
| Thaa | 170 | Thaana | 3.0 |
| Thai | 352 | Thai | 1.1 |
| Tibt | 330 | Tibetan | 2.0 |
| Tirh | 326 | Tirhuta | 7.0 |
| Tnsa | 275 | Tangsa | 14.0 |
| Todr | 229 | Todhri | 16.0 |
| Tols | 299 | Tolong Siki | – |
| Toto | 294 | Toto | 14.0 |
| Tutg | 341 | Tulu-Tigalari | 16.0 |
| Ugar | 040 | Ugaritic | 4.0 |
| Vaii | 470 | Vai | 5.1 |
| Visp | 280 | Visible Speech | – |
| Vith | 228 | Vithkuqi | 14.0 |
| Wara | 262 | Warang Citi (Varang Kshiti) | 7.0 |
| Wcho | 283 | Wancho | 12.0 |
| Wole | 480 | Woleai | – |
| Xpeo | 030 | Old Persian | 4.1 |
| Xsux | 020 | Cuneiform, Sumero-Akkadian | 5.0 |
| Yezi | 192 | Yezidi | 13.0 |
| Yiii | 460 | Yi | 3.0 |
| Zanb | 339 | Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script) | 10.0 |
| Zinh | 994 | Code for inherited script | – |
| Zmth | 995 | Mathematical notation | 3.2 |
| Zsye | 993 | Symbols (Emoji variant) | 6.0 |
| Zsym | 996 | Symbols | 1.1 |
| Zxxx | 997 | Code for unwritten documents | – |
| Zyyy | 998 | Code for undetermined script | – |
| Zzzz | 999 | Code for uncoded script | – |
Four-letter script codes answer a question language codes cannot: not which language is this, but which writing system renders it. Latn, Cyrl, Arab, Hans, Hant - these are ISO 15924 codes, and they slot into the middle of BCP 47 tags (zh-Hans, sr-Latn, pa-Arab) to disambiguate exactly how text is written. This table lists all 226 assigned script codes with their numeric equivalents and the Unicode version that first supported each script.
The standard exists because the same language can switch scripts with real consequences: Serbian flips between Cyrillic and Latin, Punjabi between Gurmukhi and Arabic script, Chinese between Simplified and Traditional Han. A language tag alone loses that distinction; the script subtag preserves it for fonts, spellcheckers and text shaping engines.
How to use
- Type a script name, four-letter code or numeric code to filter - '215', 'Latn' and 'Latin' all find the same row.
- Use the chips to jump to high-traffic families: the Han group (Hani, Hans, Hant, Hang), Latin, Arabic and Cyrillic, or the Z-prefixed special codes.
- Click any code to copy the four-letter abbreviation straight to the clipboard.
Frequently asked questions
What is the difference between Hans, Hant and Hani?
Hani is the umbrella code for the Han (Chinese ideographic) script. Hans is Han with Simplified variants, Hant is Han with Traditional variants. When you tag text zh-Hans or zh-Hant you are telling font and glyph systems which character forms to use - the difference between 万 and 萬. Use Hani only when the text genuinely mixes both or the variant is unknown.
What do Zyyy, Zinh, Zxxx and Zzzz mean?
The Z-prefixed codes never name a script - they are grammatical categories. Zyyy (Common, numeric 998) marks characters shared across scripts like digits and punctuation; Zinh (Inherited, 994) marks combining marks that take the script of the base character they attach to; Zxxx (Unwritten, 995) records that a language has no writing system; Zzzz (Unknown, 999) is the explicit fallback for untagged text. Alongside these sit Zmth (mathematical notation), Zsye (symbol emoji) and Zsym (miscellaneous symbols). All seven sit at the end of the alphabetical table.
Does the script code tell me the text direction?
No - ISO 15924 deliberately records script identity, not direction, and most scripts run left-to-right by default. Right-to-left behaviour comes from the Unicode bidirectional algorithm and per-character properties: Arab, Hebr, Thaa and a few others render RTL. Treating 'Arabic script' as synonymous with 'right-to-left' breaks for cases like Uighur-Arabic in older orthographies and for embedded numbers, which stay LTR inside RTL runs.
Why do some codes have a Unicode version and others do not?
The Unicode column shows when the Unicode Standard first encoded the script - Latn, Cyrl and Grek date to Unicode 1.1 (1993), while Vithkuqi and Old Uyghur arrived in 14.0 (2021) and Toto, Tangsa and Cypro-Minoan in 15.0 (2022). Codes without a version are not yet encoded in Unicode at all - they are assigned in ISO 15924 for registry and reference purposes, awaiting a future encoding proposal.