Languages using right-to-left scripts

Question

What languages are written with right-to-left scripts?

Knowing the directionality of text, based on the script(s) to be used, is important to web designers and authors, because right-to-left text can be more complicated (for beginners) to work with and the organization and directionality of the page layout are affected. Therefore, knowing the writing direction can be relevant to estimating the work involved to create web pages in a new language.

Answer

What is a script?

The Unicode Consortium's glossary uses the following definition:

Script: a collection of symbols used to represent text in one or more writing systems.

Microsoft offers the following definition on their globalization web site:

Script: A collection of characters for displaying written text, all of which have a common characteristic that justifies their consideration as a distinct set. One script can be used for several different languages (for example, Latin script, which covers all of Western Europe). Some written languages require multiple scripts (for example, Japanese, which requires at least three scripts: the hiragana and katakana syllabaries and the kanji ideographs imported from China). This sense of the word "script" has nothing to do with programming scripts such as Perl or Visual Basic Scripting Edition (VBScript).

Which languages are written right-to-left (RTL)?

Languages don't have a direction. Scripts have a writing direction, and so languages written in a particular script, will be written with the direction of that script.

Languages can be written in more than one script. For example, Azeri can be written in any of the Latin, Cyrillic, or Arabic scripts. When written in Latin or Cyrillic scripts, Azeri is written left-to-right (LTR). When written in the Arabic script, it is written right-to-left.

What languages use RTL scripts?

The following table gives a rough idea of modern spoken languages that can be written using RTL scripts, and where they are spoken. This data is gathered from information in the SIL Ethnologue. The Script Usage column shows all scripts that can be used for that language: the relative order gives a rough idea of frequency of use, and where the script usage is minor it appears in parentheses. The Potential Users column lists the number of overall speakers of that language (native and second language users). Some of the smaller languages are not mentioned, and the figures don't take into account users of liturgical languages.

The total number of potential users is of course an overestimate, because it doesn't take into account literacy levels or competing scripts or usage trends. Nonetheless, at 2,305,048,719 it indicates that the actual number of potential users possibly runs past a billion. The table lists 12 scripts, and 215 languages. Arabic accounts for a large proportion, with 189 languages and just over 2 billion potential users. No distinction is made between the various styles of Arabic, such as Nastaliq, Magribi, Kano, etc, or those that are abjads and those that are alphabetic. Nor, as mentioned, does it take into account the number of people using Arabic because of their religion.

Script Language Countries/Regions Script usage Potential users
Adlam Fulah [ful] Guinea, Mali, Nigeria, Niger, Chad Latin, Adlam 35,337,640
Pular [fuf] Guinea, Mali Latin, Adlam 4,778,200
Arabic Adamawa Fulfulde [fub] Cameroon Arabic 5,685,500
Adyghe [ady] Russia Cyrillic (Arabic) 605,400
Algerian Arabic [arq] Algeria, Morocco, Tunisia, Western Sahara Arabic 40,259,600
Andaandi [dgl] Sudan Arabic 70,000
Ashtiani [atn] Iran Arabic 26,400
Azerbaijani [aze] (azj, azb) Azerbaijan, Iran Arabic, Latin 23,849,330
Baharna Arabic [abv] Bahrain Arabic 727,900
Bakhtiari [bqi] Iran Arabic 1,240,000
Balangingi [sse] Philippines Arabic 85,000
Balti [bft] Pakistan Arabic 438,800
Banjar [bjn] Indonesia Arabic 3,655,000
Bedawiyet [bej] Sudan Arabic, Latin 2,498,000.
Bhadrawahi [bhd] India Arabic, Devanagari 116,000
Brahui [brh] Pakistan, Afghanistan Arabic 2,864,400
Brunei [kxd] Brunei, Malaysia Arabic, Latin 321,000.
Burushaski [bsk] Pakistan, India Arabic 126,300
Central Atlas Tamazight [tzm] Morocco Arabic, Tifinagh 4,740,000
Central Kanuri [knc] Nigeria Latin, Arabic 8,825,500
Central Kurdish [ckb] Iraq Arabic 5,266,050
Central Pashto [pst] Pakistan Arabic 8,490,000
Chadian Arabic [shu] Chad Arabic, Latin 2,061,220
Chittagonian [ctg] Bangladesh Bengali, Arabic 13,000,000
Coptic [cop] Egypt Coptic, Arabic 0 (liturgical)
Cypriot Arabic [acy] Cyprus Latin, (Arabic) 9,760
Dameli [dml] Pakistan Arabic 5,000
Dari [prs] Afghanistan, Pakistan Arabic 29,452,210
Deccan [dcc] India Arabic, (Devanagari) 12,800,000
Dezfuli [def] Iran Arabic Very few
Dhatki [mki] Pakistan Arabic 206,400
Dogri [dgo] India Devanagari, (Arabic) 2,600,000
Dongxiang [sce] China Arabic 200,000
Dyula [dyu] Côte d’Ivoire Arabic, Latin, N’Ko 12,504,000
Balochi, Eastern [bgp] India, Pakistan Arabic 2,930,800
Cham, Eastern [cjm] Viet Nam Cham, (Arabic) 132,000
Eastern Egyptian Bedawi Arabic [avl] Egypt, Libya Arabic 2,430,300
Eastern Maninkakan [emk] Guinea Arabic, Latin, N’Ko 3,722,300
Egyptian Arabic [arz] Egypt, ( widespread media) Arabic 74,826,320
Gazi [gzi] Iran Arabic 7,030
Gilaki [glk] Iran Arabic 2,490,000
Goaria [gig] Pakistan Arabic 25,400
Gowro [gwf] Pakistan Arabic 1,000
Gujari [gju] India Arabic, (Devanagari) 1,696,000
Gulf Arabic [afb] Kuwait & surrounding countries Arabic 10,656,700
Gurani [hac] Iran Arabic 300,000
Gurgula [ggg] Pakistan Arabic 35,300
Harzani [hrz] Iran Arabic 34,900
Hassaniyya [mey] Mauritania & surrounding countries Arabic 4,883,500
Hausa [hau] Nigeria & across the Sahel Latin, Arabic 77,063,700
Hazaragi [haz] Afghanistan, Pakistan Arabic 3,628,900
Hijazi Arabic [acw] Saudi Arabia Arabic 10,792,400
Ida'an [dbj] Malaysia Latin, (Arabic) 10,000
Indonesian [ind] Indonesia Latin, (Arabic) 198,000,000
Indus Kohistani [mvy] Pakistan Arabic 200,000
Ingush [inh] Russia Cyrillic, (Arabic) 306,000
Iranian Persian [pes] Iran Arabic 77,377,510
Jadgali [jdg] Pakistan Arabic 25,600
Jahanka [jad] Guinea Arabic 137,500
Jenaama Bozo [bze] Mali Arabic, Latin 197,000
Jola-Fonyi [dyo] Senegal Arabic, Latin 457,000
Kachi Koli [gjk] Pakistan, India Arabic, (Gujarati) 530,000
Kalami [gwc] Pakistan Arabic 96,400
Kalasha [kls] Pakistan Arabic 5,000
Kashmiri [kas] India Arabic, (Devanagari) 7,132,780
Kati [bsh] Afghanistan Arabic 135,800
Kazakh [kaz] Kazakhstan & surrounding countries, China, Iran Cyrillic, Arabic 12,695,140
Kenzi [xnz] Egypt, Libya Arabic, Coptic, Latin 50,000
Khorasani Turkish [kmz] Iran Arabic 936,000
Khowar [khw] Pakistan Arabic 379,100
Khunsari [kfm] Iran Arabic 26,400
Kohistani Shina [plk] Pakistan Arabic 458,000
Koti [eko] Mozambique Latin, Arabic 140,000
Kumyk [kum] Russia Cyrillic, Latin, (Arabic) 427,600
Kyrgyz [kir] Kyrgyzstan & surrounding countries Cyrillic, Latin , Arabic 5,132,100
Laki [lki] Iran Arabic 1,240,000
Lari [lrl] Iran Arabic 118,000
Lasgerdi [lsa] Iran Arabic 1,000
Libyan Arabic [ayl] Libya, Egypt, Niger Arabic 5,343,050
Maasina Fulfulde [ffm] Mali & adjacent countries Latin, Arabic 1,523,240
Maba (Chad) [mde] Chad Latin, Arabic 567,000
Malay (individual language) [zlm] Malaysia, Indonesia Latin, Arabic 19,185,470
Malayalam [mal] India Malayalam, (Arabic) 37,212,270
Mandinka [mnk] Senegal, Guinea, The Gambia Latin, Arabic 1,949,000
Manga Kanuri [kby] Niger, Nigeria Latin, Arabic 480,000
Maore Comorian [swb] Mayotte Latin, Arabic 185,500
Marwari (Pakistan) [mve] Pakistan Arabic 164,000
Mazanderani [mzn] Iran Arabic 2,320,000
Mesopotamian Arabic [acm] Iraq & neighouring countries Arabic 19,063,530
Mogofin [mfg] Guinea Latin, (Arabic) 24,800
Moroccan Arabic [ary] Morocco, Tunisia, Algeria, Western Sahara Arabic 33,358,230
Munji [mnj] Afghanistan Arabic 5,300
Mwani [wmw] Mozambique Arabic, Latin 166,000
Nafusi [jbn] Libya Arabic 297,000
Najdi Arabic [ars] Saudi Arabia & neighboring countries Arabic 18,153,010
Natanzi [ntz] Iran Arabic 7,030
Nayini [nyq] Iran Arabic 7,030
Ndzwani Comorian [wni] Comoros Arabic, Latin 361,000
Ngazidja Comorian [zdj] Comoros Arabic, Latin 412,000
Nigerian Fulfulde [fuv] Nigeria, Cameroon Arabic, Latin 16,585,000
Nobiin [fia] Sudan, Egypt Arabic, Latin, Coptic 546,000
North Azerbaijani [azj] Azerbaijan, Georgia Latin, (Cyrillic, Arabic) 9,220,620
North Levantine Arabic [apc] Syria Arabic 31,437,480
North Mesopotamian Arabic [ayp] Iraq Arabic 10,252,460
Northern Hindko [hno] Pakistan Arabic 3,570,000
Northern Kurdish [kmr] Türkiye & several West Asian countries Arabic, Latin, (Armenian, Cyrillic) 15,703,920
Northern Luri [lrc] Iran Arabic 1,820,000
Northern Pashto [pbu] Pakistan Arabic 30,172,800
Northern Uzbek [uzn] Uzbekistan & neighbours, China Latin, Arabic, (Cyrillic) 27,745,270
Od [odk] India Arabic 2,076,100
Omani Arabic [acx] Oman Arabic 2,877,200
Ormuri [oru] Pakistan Arabic 5,050
Pahari-Potwari [phr] Pakistan, India Arabic 3,541,900
Palula [phl] Pakistan Arabic 14,400
Panjabi [pan] India Gurmukhi, Arabic, (Khojki) 51,724,270
Parkari Koli [kvx] Pakistan Arabic 358,000
Parsi-Dari [prd] Iran Arabic 27,500
Pattani Malay [mfa] Thailand Arabic, Thai 1,470,000
Pulaar [fuc] Senegal Latin, Arabic 5,398,700.
Pular [fuf] Guinea, Mail Latin, Arabic, Adlam 4,778,200
Purik [prx] India Arabic, (Tibetan) 93,500
Qashqa'i [qxq] Iran Arabic 995,000
Rohingya [rhg] Myanmar, Bangladesh Arabic, Hanifi Rohingya 2,529,250
Saafi-Saafi [sav] Senegal Arabic, Latin 200,000
SaidiArabic [aec] Egypt, Libya Arabic 24,100,000
Sanaani Arabic [ayn] Yemen Arabic 12,567,960
Sangisari [sgr] Iran Arabic 42,300
Saraiki [skr] Pakistan Arabic, Khojki 26,219,000
Semnani [smy] Iran Arabic 68,700
Serer [srr] Senegal Arabic, Latin 1,712,300
Shina [scl] Pakistan Arabic 720,200
Shughni [sgh] Tajikistan, Afghanistan Latin, Cyrillic, Arabic 80,000
Sindhi [snd] Pakistan, India Arabic, (Devanagari, Gurmukhi, Khojki) 33,217,150
Somali [som] Somalia & neighbours Latin, Arabic 21,930,230
Soninke [snk] Mail & neighbours Latin, Arabic 2,189,250
Soqotri [sqt] Yemen Latin, Arabic 111,000
South Azerbaijani [azb] Iran & neighbours Arabic 14,629,370
South Levantine Arabic [ajp] Jordan, Syria Arabic 12,711,300
Southeast Pashai [psi] Afghanistan Arabic 366,000
Southern Balochi [bcc] Pakistan Arabic 3,555,700.
Southern Hindko [hnd] Pakistan Arabic 1,170,000
Southern Kurdish [sdh] Iran Arabic 3,730,000
Southern Luri [luz] Iran Arabic 1,140,000
Southern Pashto [pbt] Afghanistan Arabic 19,732,400
Southern Uzbek [uzs] Afghanistan Arabic 5,296,100
Southwestern Fars [fay] Iran Arabic 110,000
Standard Arabic [arb] Widespread Arabic 273,989,700
Standard Malay [zsm] Malaysia Latin, Arabic (liturgical)
Sudanese Arabic [apd] Sudan Arabic, Latin 42,332,360
Sundanese [sun] Indonesia Latin, (Arabic, Java) 36,700,000
Susu [sus] Guinea Latin, Arabic 2,434,140
Swahili [swh] Tanzania & neighbours Latin, (Arabic) 71,416,500
Ta'izzi-Adeni Arabic [acq] Yemen Arabic 11,821,100
Tachawit [shy] Algeria Arabic, Tifinagh 2,300,000
Tachelhit [shi] Morocco Tifinagh, Arabic 5,118,000
Tadaksahak [dsq] Mali Arabic, Latin 159,800
Tagdal [tda] Niger Latin, Arabic, Tifinagh 60,600
Tahaggart Tamahaq [thv] Algeria Latin, Arabic, Tifinagh 114,200
Tajik [tgk] Tajikistan Latin, (Cyrillic, Arabic) 8,195,120
Tajiki Arabic [abh] Tajikistan Arabic 17,300
Takestani [tks] Iran Arabic 395,000
Talysh [tly] Azerbaijan Latin, Arabic, Cyrillic 226,100
Tarifit [rif] Morocco Latin, Arabic, Tifinagh 4,399,000
Tausug [tsg] Philippines Latin, Arabic 946,000
Tawallammat Tamajaq [ttq] Niger, Mali Latin, Arabic, Tifinagh 870,000
Tem [kdh] Togo & neighbours Latin, Arabic 390,200
Tiéyaxo Bozo [boz] Mali Latin, Arabic 118,000
Torwali [trw] Pakistan Arabic 114,000
Tumzabt [mzb] Algeria Latin, Arabic, Tifinagh 150,000
Tunisian Arabic [aeb] Tunisia Arabic 11,709,020
Turkish [tur] Türkiye Latin, (Arabic) 88,098,480
Turkmen [tuk] Turkmenistan, Afghanistan Latin, Arabic, Cyrillic 6,656,060
Urdu [urd] Pakistan Arabic 231,295,440
Uyghur [uig] China, Afghanistan Arabic 10,411,822
Vafsi [vaf] Iran Arabic 22,200
Wadiyara Koli [kxp] India Gujarati, Arabic 583,000
Wakhi [wbl] Afghanistan Arabic, Latin, Cyrillic 52,200
Western Balochi [bgn] Pakistan, Turmenistan Arabic, Cyrillic 2,264,350
Western Cham [cja] Cambodia Cham, Arabic, Latin 312,500
Western Maninkakan [mlq] Senegal, Mali Latin, Arabic 2,067,260
Western Niger Fulfulde [fuh] Niger & neighbours Latin, Arabic 2,320,000
Western Panjabi [pnb] Pakistan Arabic, (Khojki) 66,441,240
Wolio [wlo] Indonesia Arabic 65,000
Wolof [wol] Senegal, Mauritania Latin, (Arabic) 12,266,290
Yakan [yka] Philippines Latin, Arabic 130,000
Yalunka [yal] Guinea Latin, Arabic 180,700
Yidgha [ydg] Pakistan Arabic 6,150
Yoruba [yor] Nigeria Latin, (Arabic) 45,612,560
Zarma [dje] Niger Latin, (Arabic) 4,330,100
Hanifi Rohingya Rohingya Myanmar, Bangladesh Hanifi Rohingya, Arabic, Latin 2,529,250
Hebrew Bukharic [bhh] Israel Cyrillic (Hebrew) 117,840
Eastern Yiddish [ydd] Israel Hebrew 371,657
Hebrew [heb] Israel Hebrew 9,387,050
Hulaulá [huy] Israel Hebrew 350
Judeo-Iraqi Arabic [yhd] Israel Hebrew 97,200
Judeo-Moroccan Arabic [aju] Morocco Hebrew 65,910
Judeo-Persian [jpr] Israel Hebrew 55,000
Judeo-Tat [jdt] Russia, Azerbaijan Cyrillic (Hebrew, Latin) 81,500
Mandaic Neo-Mandaic Iran Mandaic 23,000
Mende Kikakui Mende Liberia, Sierra Leone Latin (Mende Kikakui) 2,511,600
N’Ko Bambara [bam] Mali, Côte d’Ivoire Latin, N’Ko 14,183,340
Dyula [dyu] Côte d’Ivoire Latin, N’Ko, Arabic 12,504,000
Eastern Maninkan [emk] Guinea, Mali Latin, N’Ko, Arabic 3,722,300
Mandingo [man] Guinea Latin, N’Ko, Arabic 8,731,560
N'Ko [nqo] (koine) Guinea, Mali, Côte d’Ivoire N’Ko ?
Old Hungarian Hungarian Hungary Latin, (Old Hungarian) 12,560,490
Samaritan Samaritan Israel, Palestine Hebrew, Samaritan (liturgical)
Syriac Assyrian Neo-Aramaic [aii] Iraq, Türkiye, Syria Cyrillic, Syriac 594,050
Chaldean Neo-Aramaic [cld] Iraq Syriac 232,480
Classic Syriac [syr] Türkiye, Syria Syriac (liturgical)
Turoyo [tru] Türkiye, Syria Latin (Syriac) 103,100
Thaana Dhivehi [dv] Maldives Thaana, Latin 340,500
Yezidi Northern Kurdish Türkiye, Iraq, Iran, Syria Armenia Arabic, Cyrillic, Latin(Yezidi) 15,703,920

The table doesn't include historical usage of scripts. For example, the Arabic script was formerly used throughout the Ottoman Empire and in many Central Asian regions. Other RTL scripts are not listed in the table because they are no longer used for modern communication, although academics and students around the world do need to be able to work with them. These include scripts such as Avestan, Minoan, Hatran, Imperial Aramaic, Kharoshthi, Lydian, Manichaean, Nabataean, Pahlavi, Palmyrene, Parthian, and Pheonician.

Which script should I use?

If a language can be written in more than one script, which script should a web designer or localizer use, or should the text be provided in all scripts?

The answer will depend on your target audience. The script may change for different countries or regions. The script may also change by legislation or with changes in government policy. For example, to reach the Azeri-speaking population in Iran, you would use Arabic script. From the late 1930s, Cyrillic was the script of choice in Azerbaijan itself and became policy in 1940. Due to the fall of the Soviet Union, beginning in 1991 a gradual switch to Latin occured, becoming mandatory for official uses in 2001. However, for your target audience and unofficial uses, you might want to use Cyrillic for older audiences and Latin for younger audiences, and most likely both to reach the general Azerbaijani population. If you want to reach all Azeri speakers, you would use all 3 scripts. (Note that there might be terminology and other differences among Azeri speakers in different countries, just as there are differences between English or French speakers in different countries.)

You also should be aware that your choice of script may have political, religious, demographic or cultural overtones. In countries where the language of higher learning was Russian, Cyrillic will be used by educated people. Latin is associated with Pan-Turkic movements, and more generally can indicate Western-tending movements. Arabic script has associations with Islamist movements.

More generally, just as you research which languages are required to serve different cultures, you may need to investigate the correct script or scripts to use. There are suggestions in the table above.