ISO 15924, Codes for the representation of names of scripts, defines two sets of codes for a number of writing systems (scripts). Each script is given both a fourletter code and a numeric one.^{[1]} Script is defined as "set of graphic characters used for the written form of one or more languages".^{[1]}
Where possible the codes are derived from ISO 6392 where the name of a script and the name of a language using the script are identical (example: Gujarātī ISO 639 guj, ISO 15924 Gujr). Preference is given to the 6392 Bibliographical codes, which is different from the otherwise often preferred use of the Terminological codes.^{[1]}
4letter ISO 15924 codes are incorporated into the Language Subtag Registry for IETF language tags and so can be used in file formats that make use of such language tags. For example, they can be used in HTML and XML to help Web browsers determine which typeface to use for foreign text. This way one could differentiate, for example, between Serbian written in the Cyrillic (srCyrl
) or Latin (srLatn
) script, or mark romanized text as such.
Maintenance
ISO appointed the Unicode Consortium as the Registration Authority (RA) for the standard. The RA is responsible for appointing a registrar who works with a Joint Advisory Committee (JAC) in developing and implementing the standard. The registrar from 2004 to 2018 was Michael Everson, and from January 2019 the registrar has been Markus Scherer, a technical director of the Unicode Consortium.^{[2]}^{[3]} The JAC consists of six members: one representative of the RA (Markus Scherer), one representative of ISO 6392 (Randall K. Barry of the Library of Congress), one representative of ISO TC37 (Christian Galinski), one representative of ISO TC46 (Peeter Päll), and two representatives of ISO/IEC JTC 1/SC 2 (Rick McGowan and Ken Whistler, both also officers of the Unicode Consortium).^{[4]}
Script codes
Numeric ranges
 000–099 Hieroglyphic and cuneiform scripts
 100–199 Righttoleft alphabetic scripts
 200–299 Lefttoright alphabetic scripts
 300–399 Alphasyllabic scripts
 400–499 Syllabic scripts
 500–599 Ideographic scripts
 600–699 Undeciphered scripts
 700–799 Shorthands and other notations^{[5]}
 800–899 (unassigned)
 900–999 Private use, alias, special codes^{[6]}
Special codes
 Qaaa–Qabx (900–949): 50 Codes reserved for private use.
 Zsye 993: Emoji
 Zinh 994: Code for inherited script
 Zmth 995: Mathematical notation
 Zsym 996: Symbols
 Zxxx 997: Code for unwritten languages
 Zyyy 998: Code for undetermined script
 Zzzz 999: Code for uncoded script
Exceptionally reserved codes
Two four letter codes are reserved at the request of the Common Locale Data Repository Project (CLDR):^{[7]}
 Root: Reserved for the languageneutral base of the CLDR locale tree
 True: Reserved for the boolean value "true"
List of codes
This list of codes is from the ISO 15924 standard.^{[7]}
Code  No.  Name  Alias^{[f]}  Direction  Version (added) 
Characters  Remark 

Adlm  166  Adlam  Adlam  RtoL  9.0  88  
Afak  439  Afaka  Varies  Not in Unicode, proposal under review by the Unicode Technical Committee^{[8]}^{[9]}  
Aghb  239  Caucasian Albanian  Caucasian Albanian  LtoR  7.0  53  Ancient/historic 
Ahom  338  Ahom, Tai Ahom  Ahom  LtoR  8.0  58  Ancient/historic 
Arab  160  Arabic  Arabic  RtoL  1.0  1,291  
Aran  161  Arabic (Nastaliq variant)  Mixed  Typographic variant of Arabic  
Armi  124  Imperial Aramaic  Imperial Aramaic  RtoL  5.2  31  Ancient/historic 
Armn  230  Armenian  Armenian  LtoR  1.0  96  
Avst  134  Avestan  Avestan  RtoL  5.2  61  Ancient/historic 
Bali  360  Balinese  Balinese  LtoR  5.0  121  
Bamu  435  Bamum  Bamum  LtoR  5.2  657  
Bass  259  Bassa Vah  Bassa Vah  LtoR  7.0  36  Ancient/historic 
Batk  365  Batak  Batak  LtoR  6.0  56  
Beng  325  Bengali (Bangla)  Bengali  LtoR  1.0  96  
Bhks  334  Bhaiksuki  Bhaiksuki  LtoR  9.0  97  Ancient/historic 
Blis  550  Blissymbols  Varies  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Bopo  285  Bopomofo  Bopomofo  LtoR  1.0  77  
Brah  300  Brahmi  Brahmi  LtoR  6.0  109  Ancient/historic 
Brai  570  Braille  Braille  LtoR  3.0  256  
Bugi  367  Buginese  Buginese  LtoR  4.1  30  
Buhd  372  Buhid  Buhid  LtoR  3.2  20  
Cakm  349  Chakma  Chakma  LtoR  6.1  71  
Cans  440  Unified Canadian Aboriginal Syllabics  Canadian Aboriginal  LtoR  3.0  710  
Cari  201  Carian  Carian  LtoR  5.1  49  Ancient/historic 
Cham  358  Cham  Cham  LtoR  5.1  83  
Cher  445  Cherokee  Cherokee  LtoR  3.0  172  
Chrs  109  Chorasmian  Chorasmian  Mixed  13.0  28  Ancient/historic 
Cirt  291  Cirth  Varies  Not in Unicode  
Copt  204  Coptic  Coptic  LtoR  1.0  137  Ancient/historic, Disunified from Greek in 4.1 
Cpmn  402  CyproMinoan  LtoR  Not in Unicode  
Cprt  403  Cypriot syllabary  Cypriot  RtoL  4.0  55  Ancient/historic 
Cyrl  220  Cyrillic  Cyrillic  LtoR  1.0  443  
Cyrs  221  Cyrillic (Old Church Slavonic variant)  Varies  Ancient/historic, typographic variant of Cyrillic  
Deva  315  Devanagari (Nagari)  Devanagari  LtoR  1.0  154  
Diak  342  Dives Akuru  Dives Akuru  LtoR  13.0  72  Ancient/historic 
Dogr  328  Dogra  Dogra  LtoR  11.0  60  Ancient/historic 
Dsrt  250  Deseret (Mormon)  Deseret  LtoR  3.1  80  
Dupl  755  Duployan shorthand, Duployan stenography  Duployan  LtoR  7.0  143  
Egyd  070  Egyptian demotic  Mixed  Not in Unicode  
Egyh  060  Egyptian hieratic  Mixed  Not in Unicode  
Egyp  050  Egyptian hieroglyphs  Egyptian Hieroglyphs  LtoR  5.2  1,080  Ancient/historic 
Elba  226  Elbasan  Elbasan  LtoR  7.0  40  Ancient/historic 
Elym  128  Elymaic  Elymaic  RtoL  12.0  23  Ancient/historic 
Ethi  430  Ethiopic (Geʻez)  Ethiopic  LtoR  3.0  495  
Geok  241  Khutsuri (Asomtavruli and Nuskhuri)  Georgian  Varies  Unicode groups Geok and Geor together as "Georgian"  
Geor  240  Georgian (Mkhedruli and Mtavruli)  Georgian  LtoR  1.0  173  For Unicode, see also Geok 
Glag  225  Glagolitic  Glagolitic  LtoR  4.1  132  Ancient/historic 
Gong  312  Gunjala Gondi  Gunjala Gondi  LtoR  11.0  63  
Gonm  313  Masaram Gondi  Masaram Gondi  LtoR  10.0  75  
Goth  206  Gothic  Gothic  LtoR  3.1  27  Ancient/historic 
Gran  343  Grantha  Grantha  LtoR  7.0  85  Ancient/historic 
Grek  200  Greek  Greek  LtoR  1.0  518  Sometimes expressed as boustrophedon (mirroring of alternate lines rather than purely lefttoright) 
Gujr  320  Gujarati  Gujarati  LtoR  1.0  91  
Guru  310  Gurmukhi  Gurmukhi  LtoR  1.0  80  
Hanb  503  Han with Bopomofo (alias for Han + Bopomofo)  Varies  See Hani, Bopo  
Hang  286  Hangul (Hangŭl, Hangeul)  Hangul  LtoR  1.0  11,739  Hangul syllables relocated in 2.0 
Hani  500  Han (Hanzi, Kanji, Hanja)  Han  LtoR  1.0  94,204  
Hano  371  Hanunoo (Hanunóo)  Hanunoo  LtoR  3.2  21  
Hans  501  Han (Simplified variant)  Varies  Subset Hani  
Hant  502  Han (Traditional variant)  Varies  Subset Hani  
Hatr  127  Hatran  Hatran  RtoL  8.0  26  Ancient/historic 
Hebr  125  Hebrew  Hebrew  RtoL  1.0  134  
Hira  410  Hiragana  Hiragana  LtoR  1.0  379  
Hluw  080  Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)  Anatolian Hieroglyphs  LtoR  8.0  583  Ancient/historic 
Hmng  450  Pahawh Hmong  Pahawh Hmong  LtoR  7.0  127  
Hmnp  451  Nyiakeng Puachue Hmong  Nyiakeng Puachue Hmong  LtoR  12.0  71  
Hrkt  412  Japanese syllabaries (alias for Hiragana + Katakana)  Katakana or Hiragana  Varies  See Hira, Kana  
Hung  176  Old Hungarian (Hungarian Runic)  Old Hungarian  RtoL  8.0  108  Ancient/historic 
Inds  610  Indus (Harappan)  Mixed  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Ital  210  Old Italic (Etruscan, Oscan, etc.)  Old Italic  LtoR  3.1  39  Ancient/historic 
Jamo  284  Jamo (alias for Jamo subset of Hangul)  Varies  Subset Hang  
Java  361  Javanese  Javanese  LtoR  5.2  90  
Jpan  413  Japanese (alias for Han + Hiragana + Katakana)  Varies  See Hani, Hira and Kana  
Jurc  510  Jurchen  LtoR  Not in Unicode  
Kali  357  Kayah Li  Kayah Li  LtoR  5.1  47  
Kana  411  Katakana  Katakana  LtoR  1.0  304  
Khar  305  Kharoshthi  Kharoshthi  RtoL  4.1  68  Ancient/historic 
Khmr  355  Khmer  Khmer  LtoR  3.0  146  
Khoj  322  Khojki  Khojki  LtoR  7.0  62  Ancient/historic 
Kitl  505  Khitan large script  LtoR  Not in Unicode  
Kits  288  Khitan small script  Khitan Small Script  TtoB  13.0  471  Ancient/historic 
Knda  345  Kannada  Kannada  LtoR  1.0  89  
Kore  287  Korean (alias for Hangul + Han)  LtoR  See Hani and Hang  
Kpel  436  Kpelle  LtoR  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Kthi  317  Kaithi  Kaithi  LtoR  5.2  67  Ancient/historic 
Lana  351  Tai Tham (Lanna)  Tai Tham  LtoR  5.2  127  
Laoo  356  Lao  Lao  LtoR  1.0  82  
Latf  217  Latin (Fraktur variant)  Varies  Typographic variant of Latin  
Latg  216  Latin (Gaelic variant)  LtoR  Typographic variant of Latin  
Latn  215  Latin  Latin  LtoR  1.0  1,374  See Latin script in Unicode 
Leke  364  Leke  LtoR  Not in Unicode  
Lepc  335  Lepcha (Róng)  Lepcha  LtoR  5.1  74  
Limb  336  Limbu  Limbu  LtoR  4.0  68  
Lina  400  Linear A  Linear A  LtoR  7.0  341  Ancient/historic 
Linb  401  Linear B  Linear B  LtoR  4.0  211  Ancient/historic 
Lisu  399  Lisu (Fraser)  Lisu  LtoR  5.2  49  
Loma  437  Loma  LtoR  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Lyci  202  Lycian  Lycian  LtoR  5.1  29  Ancient/historic 
Lydi  116  Lydian  Lydian  RtoL  5.1  27  Ancient/historic 
Mahj  314  Mahajani  Mahajani  LtoR  7.0  39  Ancient/historic 
Maka  366  Makasar  Makasar  LtoR  11.0  25  Ancient/historic 
Mand  140  Mandaic, Mandaean  Mandaic  RtoL  6.0  29  
Mani  139  Manichaean  Manichaean  RtoL  7.0  51  Ancient/historic 
Marc  332  Marchen  Marchen  LtoR  9.0  68  Ancient/historic 
Maya  090  Mayan hieroglyphs  Mixed  Not in Unicode  
Medf  265  Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ)  Medefaidrin  LtoR  11.0  91  
Mend  438  Mende Kikakui  Mende Kikakui  RtoL  7.0  213  
Merc  101  Meroitic Cursive  Meroitic Cursive  RtoL  6.1  90  Ancient/historic 
Mero  100  Meroitic Hieroglyphs  Meroitic Hieroglyphs  RtoL  6.1  32  Ancient/historic 
Mlym  347  Malayalam  Malayalam  LtoR  1.0  118  
Modi  324  Modi, Moḍī  Modi  LtoR  7.0  79  Ancient/historic 
Mong  145  Mongolian  Mongolian  TtoB  3.0  167  Includes Clear, Manchu scripts 
Moon  218  Moon (Moon code, Moon script, Moon type)  Mixed  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Mroo  264  Mro, Mru  Mro  LtoR  7.0  43  
Mtei  337  Meitei Mayek (Meithei, Meetei)  Meetei Mayek  LtoR  5.2  79  
Mult  323  Multani  Multani  LtoR  8.0  38  Ancient/historic 
Mymr  350  Myanmar (Burmese)  Myanmar  LtoR  3.0  223  
Nand  311  Nandinagari  Nandinagari  LtoR  12.0  65  Ancient/historic 
Narb  106  Old North Arabian (Ancient North Arabian)  Old North Arabian  RtoL  7.0  32  Ancient/historic 
Nbat  159  Nabataean  Nabataean  RtoL  7.0  40  Ancient/historic 
Newa  333  Newa, Newar, Newari, Nepāla lipi  Newa  LtoR  9.0  97  
Nkdb  085  Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba)  LtoR  Not in Unicode  
Nkgb  420  Nakhi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na'Khi ²Ggŏ¹baw, Nakhi Geba)  LtoR  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Nkoo  165  N’Ko  NKo  RtoL  5.0  62  
Nshu  499  Nüshu  Nushu  LtoR  10.0  397  
Ogam  212  Ogham  Ogham  Mixed  3.0  29  Ancient/historic 
Olck  261  Ol Chiki (Ol Cemet’, Ol, Santali)  Ol Chiki  LtoR  5.1  48  
Orkh  175  Old Turkic, Orkhon Runic  Old Turkic  RtoL  5.2  73  Ancient/historic 
Orya  327  Oriya (Odia)  Oriya  LtoR  1.0  91  
Osge  219  Osage  Osage  LtoR  9.0  72  
Osma  260  Osmanya  Osmanya  LtoR  4.0  40  
Palm  126  Palmyrene  Palmyrene  RtoL  7.0  32  Ancient/historic 
Pauc  263  Pau Cin Hau  Pau Cin Hau  LtoR  7.0  57  
Perm  227  Old Permic  Old Permic  LtoR  7.0  43  Ancient/historic 
Phag  331  Phagspa  Phagspa  TtoB  5.0  56  Ancient/historic 
Phli  131  Inscriptional Pahlavi  Inscriptional Pahlavi  RtoL  5.2  27  Ancient/historic 
Phlp  132  Psalter Pahlavi  Psalter Pahlavi  RtoL  7.0  29  Ancient/historic 
Phlv  133  Book Pahlavi  Mixed  Not in Unicode  
Phnx  115  Phoenician  Phoenician  RtoL  5.0  29  Ancient/historic 
Piqd  293  Klingon (KLI pIqaD)  LtoR  Rejected for inclusion in the Unicode Standard^{[10]}^{[11]}  
Plrd  282  Miao (Pollard)  Miao  LtoR  6.1  149  
Prti  130  Inscriptional Parthian  Inscriptional Parthian  RtoL  5.2  30  Ancient/historic 
Qaaa  900  Reserved for private use (start)  Not in Unicode  
Qaai  908  (Private use)  Not in Unicode (Before version 5.2, this was used instead of Zinh)  
Qabx  949  Reserved for private use (end)  Not in Unicode  
Rjng  363  Rejang (Redjang, Kaganga)  Rejang  LtoR  5.1  37  
Rohg  167  Hanifi Rohingya  Hanifi Rohingya  RtoL  11.0  50  
Roro  620  Rongorongo  Mixed  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Runr  211  Runic  Runic  LtoR  3.0  86  Ancient/historic 
Samr  123  Samaritan  Samaritan  RtoL  5.2  61  
Sara  292  Sarati  Mixed  Not in Unicode  
Sarb  105  Old South Arabian  Old South Arabian  RtoL  5.2  32  Ancient/historic 
Saur  344  Saurashtra  Saurashtra  LtoR  5.1  82  
Sgnw  095  SignWriting  SignWriting  TtoB  8.0  672  
Shaw  281  Shavian (Shaw)  Shavian  LtoR  4.0  48  
Shrd  319  Sharada, Śāradā  Sharada  LtoR  6.1  96  
Shui  530  Shuishu  LtoR  Not in Unicode  
Sidd  302  Siddham, Siddhaṃ, Siddhamātṛkā  Siddham  LtoR  7.0  92  Ancient/historic 
Sind  318  Khudawadi, Sindhi  Khudawadi  LtoR  7.0  69  
Sinh  348  Sinhala  Sinhala  LtoR  3.0  111  
Sogd  141  Sogdian  Sogdian  RtoL  11.0  42  Ancient/historic 
Sogo  142  Old Sogdian  Old Sogdian  RtoL  11.0  40  Ancient/historic 
Sora  398  Sora Sompeng  Sora Sompeng  LtoR  6.1  35  
Soyo  329  Soyombo  Soyombo  LtoR  10.0  83  Ancient/historic 
Sund  362  Sundanese  Sundanese  LtoR  5.1  72  
Sylo  316  Syloti Nagri  Syloti Nagri  LtoR  4.1  45  
Syrc  135  Syriac  Syriac  RtoL  3.0  88  
Syre  138  Syriac (Estrangelo variant)  Mixed  Typographic variant of Syriac  
Syrj  137  Syriac (Western variant)  Mixed  Typographic variant of Syriac  
Syrn  136  Syriac (Eastern variant)  Mixed  Typographic variant of Syriac  
Tagb  373  Tagbanwa  Tagbanwa  LtoR  3.2  18  
Takr  321  Takri, Ṭākrī, Ṭāṅkrī  Takri  LtoR  6.1  67  
Tale  353  Tai Le  Tai Le  LtoR  4.0  35  
Talu  354  New Tai Lue  New Tai Lue  LtoR  4.1  83  
Taml  346  Tamil  Tamil  LtoR  1.0  123  
Tang  520  Tangut  Tangut  LtoR  9.0  6,914  Ancient/historic 
Tavt  359  Tai Viet  Tai Viet  LtoR  5.2  72  
Telu  340  Telugu  Telugu  LtoR  1.0  98  
Teng  290  Tengwar  LtoR  Not in Unicode  
Tfng  120  Tifinagh (Berber)  Tifinagh  LtoR  4.1  59  
Tglg  370  Tagalog (Baybayin, Alibata)  Tagalog  LtoR  3.2  20  
Thaa  170  Thaana  Thaana  RtoL  3.0  50  
Thai  352  Thai  Thai  LtoR  1.0  86  
Tibt  330  Tibetan  Tibetan  LtoR  2.0  207  Added in 1.0, removed in 1.1 and reintroduced in 2.0 
Tirh  326  Tirhuta  Tirhuta  LtoR  7.0  82  
Toto  294  Toto  LtoR  Not in Unicode  
Ugar  040  Ugaritic  Ugaritic  LtoR  4.0  31  Ancient/historic 
Vaii  470  Vai  Vai  LtoR  5.1  300  
Visp  280  Visible Speech  LtoR  Not in Unicode  
Wara  262  Warang Citi (Varang Kshiti)  Warang Citi  LtoR  7.0  84  
Wcho  283  Wancho  Wancho  LtoR  12.0  59  
Wole  480  Woleai  Mixed  Not in Unicode, proposal in initial/exploratory stage^{[8]}  
Xpeo  030  Old Persian  Old Persian  LtoR  4.1  50  Ancient/historic 
Xsux  020  Cuneiform, SumeroAkkadian  Cuneiform  LtoR  5.0  1,234  Ancient/historic 
Yezi  192  Yezidi  Yezidi  RtoL  13.0  47  Ancient/historic 
Yiii  460  Yi  Yi  LtoR  3.0  1,220  
Zanb  339  Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script)  Zanabazar Square  LtoR  10.0  72  Ancient/historic 
Zinh  994  Code for inherited script  Inherited  Inherited  573  
Zmth  995  Mathematical notation  LtoR  Not a 'script' in Unicode  
Zsym  996  Symbols  Not a 'script' in Unicode  
Zsye  993  Symbols (emoji variant)  Not a 'script' in Unicode  
Zxxx  997  Code for unwritten documents  Not a 'script' in Unicode  
Zyyy  998  Code for undetermined script  Common  Mixed  8,087  
Zzzz  999  Code for uncoded script  Unknown  970,188  All other code points  
Notes

Relations to other standards
The following standards are referred to as indispensable by ISO 15924.
 ISO 6392:1998 Codes for the representation of names of languages — Part 2: Alpha3 code
 ISO/IEC 95411:1991 Information technology — Font information interchange — Part 1: Architecture
 ISO/IEC 106461:2000 Information technology — Universal MultipleOctet Coded Character Set (UCS)
For definition of font and glyph the standard refers to
 ISO/IEC 95411:1991
Around 154 scripts are defined in Unicode. Through a linkpin called "Property Value Alias", Unicode has made a 1:1 connection between a script defined, and its ISO 15924 standard. See Script (Unicode).
See also
References
 ^ ^{a} ^{b} ^{c} "ISO 15924:2004". Retrieved 20110621.
 ^ "ISO 15924 Registration Authority". Unicode Consortium. Retrieved 24 January 2019.
 ^ "Unicode Directors, Officers and Staff". Unicode Consortium. Retrieved 24 January 2019.
 ^ "Joint Advisory Committee ISO 15924/RAJAC". Unicode Consortium. Retrieved 24 January 2019.
 ^ In July, 2010, Duployan shorthand was assigned code 755, even though the 700799 range still carried its original designation of (unassigned). Shortly thereafter, Revision 1.1 clarified that codes in the 700s were reserved for "Shorthands and other notations", although that revision is only provisional until it can be confirmed by governing committees.
 ^ "ISO 15924:2004 Information and documentation — Codes for the representation of names of scripts". Unicode Consortium. 20040109.
 ^ ^{a} ^{b} "ISO 15924:2004 – Codes for the representation of names of scripts". Unicode. 2020.
 ^ ^{a} ^{b} ^{c} ^{d} ^{e} ^{f} ^{g} ^{h} ^{i} "Proposed New Scripts". Unicode Consortium. 20180525. Retrieved 20180912.
 ^ "Roadmap to the SMP". Unicode Consortium. 20180808. Retrieved 20180912.
 ^ Michael Everson (19970918). "Proposal to encode Klingon in Plane 1 of ISO/IEC 106462".
 ^ The Unicode Consortium (20010814). "Approved Minutes of the UTC 87 / L2 184 Joint Meeting".