Free tool · runs in your browser

Perso-Arabic Alphabet: Which Language Uses Which Letter

An open printed Quran lying on loose, yellowed handwritten pages in Arabic script, beside an open book printed in Cyrillic letters

Arabic Language > Perso-Arabic Alphabet

The Perso-Arabic alphabet is the Arabic alphabet as Persian extended it: the 28 Arabic letters plus پ چ ژ گ for p, ch, zh and g, 32 letters in all. Urdu, Pashto, Sorani Kurdish, Sindhi and Uyghur built on it and added letters of their own. Paste a text below to see which language it is.

Or load a sample:

The identifier needs JavaScript. The two letter tables below show which language uses which letter.

The identifier reads only the letters, so it works on a sentence you cannot read yet. No Arabic keyboard? Type on our online Arabic keyboard and paste the result in. The eight samples, and how often the identifier gets a sentence right, are listed further down.

The Perso-Arabic family at a glance

Seven languages in this table write with the Arabic script and add letters for sounds Arabic does not have. Persian came first, and the next five built their alphabets on it. Jawi shares only چ with Persian and has its own letters for p and g. The last column matters most for telling them apart: it shows which Unicode ye and kaf each language uses.

Seven languages written in the Perso-Arabic alphabet, plus Arabic for comparison: letter count, where each is written, the letters it adds, and its ye and kaf.
LanguageLettersMainly written inLetters it adds (examples)Ye and kaf
Arabic28The Arab worldNone: the base alphabetي ك
Persian32Iran, and Afghanistan as Dariپ چ ژ گی ک
Urdu39 or 40Pakistan, Indiaٹ ڈ ڑ ں ے ہ ھی ک
Pashto45Afghanistan, Khyber Pakhtunkhwa (Pakistan)ټ ډ ړ ږ ښ ڼ څ ځ ګ ې ۍي or ی, ک
Sorani Kurdish34Iraq, Iranڕ ڵ ێ ۆ ە ڤی ک
Sindhi52Pakistan, Indiaٻ ڀ ٺ ٽ ٿ ڃ ڄ ڇ ڊ ڌ ڍ ڏ ڙ ڦ ڪ ڱ ڳ ڻي, ڪ (ک is kh)
Uyghur32Xinjiang, Chinaڭ ۇ ۈ ۋ ې ە ۆي ك
Malay (Jawi)37Brunei, Malaysiaچ ڠ ڤ ݢ ۏ ڽي, ك or ک

Sources: Wikipedia's articles on the Persian alphabet, Urdu alphabet, Pashto alphabet, Kurdish alphabets (the Kurdo-Arabic section), Sindhi language (writing systems), Uyghur Arabic alphabet and Jawi script, read on 14 October 2026; code points from the Unicode Arabic chart (U+0600 to U+06FF) and, for Jawi's ݢ, the Arabic Supplement chart. The Urdu count of 39 or 40 is the one on our Arabic vs Urdu comparison; Wikipedia calls the number debated, because ة is sometimes counted as the 40th letter. The Sorani count includes وو, which the Kurdish Academy's order gives its own place. Sindhi and Uyghur write in other scripts too, and Jawi is co-official beside the Latin alphabet; this page covers only their Arabic-script alphabets.

Arabic is in the table as the base the others build on. Its written form is shared across the Arab world, while its spoken dialects differ from country to country, as our map of the Arabic dialects shows.

The four letters Persian added

Persian added four letters for sounds Arabic lacks: p, ch, zh and g. Each is an Arabic letter with extra marks, so a reader who knows the Arabic letters can guess the family resemblance at a glance.

The four letters Persian added to the Arabic alphabet, with their Unicode code points and the Arabic letter each is built on.
LetterNameSoundUnicodeBuilt on
پpepU+067Eب (b) with three dots below
چchechU+0686ج (j) with three dots
ژzhezh, the s in "measure"U+0698ز (z) with three dots above
گgâfgU+06AFک (k) with a second stroke

Names and sounds follow Wikipedia's Persian alphabet article and our comparison of Arabic and Persian, which gives an example word for each. Persian letters join the way Arabic letters do. Seven of them never connect to the letter after them, ا د ذ ر ز ژ و, the six Arabic non-connectors plus ژ. Our guide to how Arabic letters join covers the rules the whole family shares.

Letter-by-language matrix

Twenty letters are shared by two or more of the eight alphabets, or come in look-alike versions with different Unicode code points. They are the letters to check first when you meet an unfamiliar text. A tick means the language uses the letter; a tick in brackets means it does so only in some words, places or spellings, explained under the table.

Which of eight Arabic-script alphabets uses each shared or look-alike letter. ✓ = in the alphabet; (✓) = used, but only in some words, regions or spellings; – = not used.
LetterUnicodeSoundArabicPersianUrduPashtoSoraniSindhiUyghurJawi
يU+064Ay, ī✓––✓–✓✓✓
یU+06CCy, ī–✓✓✓✓–––
ىU+0649a (Arabic, word end); i (Uyghur); e (Jawi)✓–––––✓(✓)
كU+0643k✓––(✓)(✓)–✓✓
کU+06A9k (Sindhi: kh)–✓✓✓✓✓–✓
هU+0647h✓✓–✓(✓)✓–✓
ہU+06C1h; a or e at a word's end––✓––✓––
ھU+06BEh; in Urdu and Sindhi also the h of bh, ph, th––✓–✓✓✓–
ەU+06D5e, a (a vowel)––––✓–✓–
ةU+0629a or at at a word's end✓–(✓)––––(✓)
پU+067Ep–✓✓✓✓✓✓–
چU+0686ch–✓✓✓✓✓✓✓
ژU+0698zh–✓✓✓✓(✓)✓–
گU+06AFg–✓✓(✓)✓✓✓–
ڤU+06A4v (Sorani); p (Jawi)––––✓––✓
ۆU+06C6o (Sorani); ö (Uyghur)––––✓–✓–
ېU+06D0e–––✓––✓–
ےU+06D2e at a word's end––✓(✓)––––
ںU+06BAnasal vowel––✓(✓)––––
ۀU+06C0-ye (Persian); ə (Pashto)–(✓)–✓––––

Sources for the bracketed ticks. Pashto: Wikipedia's Pashto alphabet article says ک is also commonly written ك, g is written ګ or گ, Peshawar spelling uses ے where Afghan spelling has ی, and ں appears in some dialects. Sorani: the Kurdistan Region standard uses ک, but Wikipedia notes ك is still in use; Sorani's h is ھ, yet we counted ه 692 times in the Kurdish Wikipedia's own article on the Kurdish language. Sindhi uses ژ in loanwords only. Urdu writes ة in a few Arabic loanwords. Jawi uses ة mainly in Arabic loanwords and ى mainly in European ones; Wikipedia's Jawi table writes kaf as ک, while the Jawi UN text we used types ك. Persian ۀ varies by region, and many writers type ه plus a small hamza instead.

Two pairs are easy to mix up. ي and ی look the same at the start or in the middle of a word, and so do ك and ک, but they are different characters. A search for a word typed with one will not find it typed with the other, and a tattoo or a sign can end up with a Persian letter in Arabic text. Our checker for Arabic tattoo text flags exactly that.

Letters only one language uses

These letters each belong to one of the seven languages and to none of the others in this table. One of them in a text names the language almost on its own, which is why the identifier looks for them first. Sounds are given in plain words and in the IPA, from each language's Wikipedia article.

Letters that only one of the seven Perso-Arabic alphabets uses, with Unicode code point and sound.
LetterUnicodeLanguageSound
ٹU+0679Urdut with the tongue curled back (retroflex), /ʈ/
ڈU+0688Urduretroflex d, /ɖ/
ڑU+0691Urduretroflex flap, /ɽ/
ټU+067CPashtoretroflex t, /ʈ/
ډU+0689Pashtoretroflex d, /ɖ/
ړU+0693Pashtoretroflex flap, /ɭ̆/
ڼU+06BCPashtoretroflex n, /ɳ/
ښU+069APashto/ʂ/ or /ç/, depending on the dialect
ږU+0696Pashto/ʐ/ or /ʝ/, depending on the dialect
څU+0685Pashtots, /t͡s/
ځU+0681Pashtodz, /d͡z/
ګU+06ABPashtog, /ɡ/
ۍU+06CDPashtoəy at a word's end, /əj/
ڕU+0695Soranirolled r, /r/
ڵU+06B5Soranidark l, /ɫ/
ێU+06CESoranilong e, /eː/
ٻU+067BSindhiimplosive b, /ɓ/
ڀU+0680Sindhibh, /bʱ/
ٿU+067FSindhith (aspirated t), /tʰ/
ٽU+067DSindhiretroflex t, /ʈ/
ٺU+067ASindhiaspirated retroflex t, /ʈʰ/
ڄU+0684Sindhiimplosive j, /ʄ/
ڃU+0683Sindhiny, /ɲ/
ڇU+0687Sindhiaspirated ch, /t͡ɕʰ/
ڌU+068CSindhidh, /dʱ/
ڏU+068FSindhiimplosive d, /ɗ/
ڊU+068ASindhiretroflex d, /ɖ/
ڍU+068DSindhiaspirated retroflex d, /ɖʱ/
ڙU+0699Sindhiretroflex flap, /ɽ/
ڦU+06A6Sindhiph, /pʰ/
ڪU+06AASindhik, /k/ (Sindhi ک is kh)
ڳU+06B3Sindhiimplosive g, /ɠ/
ڱU+06B1Sindhing, /ŋ/
ڻU+06BBSindhiretroflex n, /ɳ/
ڭU+06ADUyghurng, /ŋ/
ۇU+06C7Uyghuru, /u/
ۈU+06C8Uyghurü, /ʏ/
ۋU+06CBUyghurv or w, /v~w/
ڠU+06A0Jawing, /ŋ/
ڽU+06BDJawiny, /ɲ/
ݢU+0762Jawig, /ɡ/
ۏU+06CFJawiv, /v/

Urdu also writes ۂ ۓ ۃ, forms of ہ ے and ة used in a few spellings. Sindhi has two signs that stand for whole words, ۽ (and) and ۾ (in). Jawi's ga is ݢ in Wikipedia's table, but the Jawi UN text we used types it ڬ (U+06AC), so the identifier accepts both. Uyghur and Sorani also write almost every vowel as a letter, where Arabic, Persian and Urdu usually leave short vowels out, so their words look longer: Uyghur ئادەم (adem, human being), the second word of Article 1 in the Uyghur UDHR, spells out both of its vowels.

Which ye, kaf and h each text really uses

The letter tables say what each alphabet allows. The counts below say what real texts type. We counted every look-alike ye, kaf and h in the UN's Universal Declaration of Human Rights in each language, and in the Central Kurdish Wikipedia article on the Kurdish language for Sorani, which has no Arabic-script UDHR in the collection we used.

How many times each look-alike letter appears in one long text per language. Source texts: the UDHR in Unicode collection (Sindhi: the OHCHR PDF), and the Kurdish Wikipedia article on the Kurdish language for Sorani.
TextLettersي U+064Aی U+06CCى U+0649ك U+0643ک U+06A9ه U+0647ہ U+06C1ھ U+06BEە U+06D5ة U+0629
Arabic UDHR6,1194280451130158000231
Persian UDHR7,0290587002024030000
Urdu UDHR7,57006850049703683600
Pashto UDHR7,5946780002266890000
Sindhi UDHR7,1869970009584035000
Uyghur UDHR10,27923001,5243100002368920
Jawi UDHR7,8575940036802490000
Sorani Wikipedia article11,13771,251006336920649627

In these texts, Persian and Arabic never share a ye or a kaf: one text uses only ی ک, the other only ي ك. Urdu does not use the Arabic ه at all; its h is ہ or ھ. And the Pashto text types the Arabic ي throughout, although Wikipedia gives ی for Afghan spelling, so one language can appear with either ye. The letter count is every Arabic-script letter in the text. The Sindhi figures come from the text layer of the OHCHR PDF.

How the identifier decides, and how often it is right

The identifier names a language outright only when the text holds letters that prove it, and it marks a result based on missing letters as "most likely". It works in three steps:

  1. It collects the letters that differ between the eight alphabets (everything in the two letter tables above) and keeps only the languages whose alphabet has all of them.
  2. If any of those languages has its own letters in the text, a letter neither Arabic nor Persian has, those languages win. One left: "This looks like" that language. Two or more: it says it cannot tell and lists them.
  3. Arabic and Persian have no letters of their own, so they are named only from absence, in a text of 25 letters or more where no other language's own letter appears, and the result says "most likely". A shorter text with no telling letter gets "cannot tell".

Before step 1, presentation forms (pre-shaped letters from PDFs and old software) are turned back into plain letters. If a long text fits no alphabet until ي ك and ی ک are swapped, it says so: that is Persian typed on an Arabic keyboard, or the reverse.

We learned Arabic, not the seven languages on this page, so every letter and sound here comes from the linked sources, and a script checked every letter against its stated code point and every matrix cell against the identifier's own letter lists. To test it, we split each source text into sentences and ran every sentence of 25 letters or more through the identifier. The letter lists come from Wikipedia and were checked against these same texts, so this measures consistency rather than performance on text it has never seen.

The identifier on every sentence of 25 or more letters in each source text: right language, "cannot tell", or wrong language. Run on 14 October 2026.
TextSentencesRight languageCannot tellWrong language
Arabic UDHR696900
Persian UDHR707000
Urdu UDHR828200
Pashto UDHR757500
Sindhi UDHR (OHCHR PDF)887990
Uyghur UDHR878700
Jawi UDHR676700
Sorani Wikipedia article11811431

All nine Sindhi sentences it could not name contain the Urdu letter ٹ, which is not in the Sindhi alphabet but appears in seven different words of the PDF's text layer, so the identifier saw letters from two alphabets and said so. The three Sorani misses contain Arabic words or an Arabic quotation, with ة or ي. The one wrong answer was a list of words in another Kurdish dialect, written with no Sorani letter, which it called most likely Persian.

Other languages written with these letters come out as the alphabet they share. The Dari UDHR is named most likely Persian, which is right, since Dari is a form of Persian. Punjabi in the Shahmukhi script is named Urdu, because it uses Urdu's letters. Saraiki gets "cannot name one language", because it mixes Urdu letters with Sindhi ones. A text that pastes two languages together is named after the one with its own letters, and a short phrase rarely carries enough letters to decide. Names change spelling across the family too, as our page on how to write Sarah in Arabic shows for one name.

The eight samples are Article 1 of the Universal Declaration of Human Rights from the UDHR in Unicode collection (Arabic, Persian, Urdu, Pashto, Uyghur and Jawi), Article 1 of the Sindhi translation on the OHCHR website, and for Sorani the first two sentences of the Central Kurdish Wikipedia article on the Kurdish language. For the 28 shared letters in all four of their positions, see our chart of the 28 Arabic letters in every position.

Frequently asked questions

How many letters are in the Perso-Arabic alphabet?

The Persian alphabet has 32 letters: the 28 Arabic letters plus پ (p), چ (ch), ژ (zh) and گ (g). The other languages that write with it count their own: Uyghur 32, Sorani Kurdish 34, Malay in Jawi 37, Urdu 39 or 40, Pashto 45 and Sindhi 52, each adding letters for its own sounds.

What are the four extra letters in the Persian alphabet?

پ (pe) for p, چ (che) for ch, ژ (zhe) for the s in measure, and گ (gâf) for g. Each is an Arabic letter with extra marks: پ is ب with three dots, چ is ج with three dots, ژ is ز with three dots, and گ is ک with a second stroke. Standard Arabic has none of the four.

Is Urdu written in the same alphabet as Persian?

Almost. Urdu took the Persian alphabet with its four extra letters and added more for Urdu sounds: ٹ ڈ ڑ for the retroflex t, d and r, ں for a nasal vowel, ے for a final e, and two kinds of h, ہ and ھ. Urdu is also usually printed in Nastaliq, a style that slopes down to the left.

Does Persian use ة (tāʾ marbūṭa)?

Not as a letter of its alphabet. Wikipedia's table of the 32 Persian letters has no ة, and Persian writes Arabic words that end in ة with ت or ه: ملت (mellat, nation) and مدرسه (madrese, school). In the Persian translation of the UN's Universal Declaration of Human Rights we counted ة 0 times, against 231 times in the Arabic version.

How can you tell Persian text from Arabic text?

Look at ye, kaf and ta marbuta. Persian types ی and ک where Arabic types ي and ك, so a Persian ye has no dots at the end of a word. Persian also uses پ چ ژ گ and has no ة, while Arabic text is full of ة. In our count of the two UDHR translations, Persian used ی 587 times and ي 0 times, Arabic the reverse.

More free tools

All free tools