How the Arabic number words are checked
Every Arabic number on this site, on the pages, the chart and the worksheets, comes from one engine. A second program, written separately, rebuilds all 1,000,001 of them a different way and compares them letter by letter: 71,693,036 checks, none failed.
Updated 8 October 2026
Two programs that must agree
The engine writes Arabic words the obvious way, from tables of Arabic words. The checker was written first, before the engine existed, and contains no Arabic letter at all: it spells every word in a code of Latin letters, turns the code into Unicode characters from a table, derives the tens and hundreds from the unit words by rule rather than listing them, and reads each number from its digits rather than by arithmetic. A typing slip in one cannot be copied into the other.
Beyond matching the engine word for word, the checker tests each character of every word:
- Arabic letters only: no Persian or Urdu look-alikes (ک, ی, ە), no Latin, no digits, no vowel marks, no tatweel.
- ة only at the end of a word; the hamza on its correct seat (أ in أربعة, ئ in مائة, none on the alif of اثنان).
- و joined to the word after it, not standing alone; every part after the first starts with it.
- The unit directly before its ten in every number that has both.
- The construct مائتا only before ألف.
Proof that the check catches mistakes
A check that has not been seen to fail proves little, so a third script plants one mistake at a time in a copy of the engine and runs the checker against it. 20 of 20 planted mistakes were caught:
- tens before units (عشرون وخمسة)
- the conjunction written as a separate word (و عشرون)
- a Persian ی in place of the Arabic ي in ثمانية
- ه in place of ة at the end of خمسة
- a tanwin mark printed on ألفا
- a tatweel (stretching stroke) inside سبعة
- hamza below on اثنان (إثنان)
- the feminine ثلاث in place of the counting form
- ة on the ten in 13 (ثلاثة عشرة)
- اثنان عشر in place of اثنا عشر
- مئة printed in place of the chosen مائة
- 800 written ثمانيمائة
- 300 written as two words
- مائتان ألف in place of مائتا ألف
- آلاف without its madda
- the genitive ألف after 11 to 99
- 101,000 written مائة وألف
- a key that does not read مئة as مائة
- a key that does not ignore vowel marks
- a key that accepts the feminine خمس for خمسة
Every decision, and what the key accepts
| Question | Printed | Also accepted | Basis |
|---|---|---|---|
| Which gender | ثلاثة | The counting forms, used to count aloud and with a masculine noun (Ryding, ch. 15). Feminine forms are taught on the gender page, not printed on sheets. | |
| Two, 200, 2,000 | اثنان · مائتان · ألفان | The dual, nominative. | |
| Order of unit and ten | خمسة وعشرون | Unit first, joined to the ten with و (Ryding). | |
| Order of larger parts | ألف وثلاثمائة وخمسة وأربعون | Thousands, hundreds, then unit and ten. The classical order from the units upward (Wright) is not printed. | |
| 100 | مائة | مئة | Both spellings correct (Badawi, Carter and Gully; Wright on the silent alif). |
| 300 to 900 | ثلاثمائة | ثلاث مائة | One word; the two-word spelling also accepted. |
| 800 | ثمانمائة | ثماني مائة | Without the ي of the feminine eight. |
| 3,000 to 10,000 | ثلاثة آلاف | Plural آلاف after 3 to 10. | |
| 11,000 to 99,000 | أحد عشر ألفا | أحد عشر ألفًا | Singular accusative; the alif of the ending is a letter and stays, the tanwin mark is not printed. |
| 200,000 | مائتا ألف | The dual hundred in construct with ألف loses its ن. | |
| 101,000 and 102,000 | مائة ألف وألف · مائة ألف وألفان | Usage varies. The site names the last thousand with the noun itself, as Arabic does for one and two of anything; مائة وألف is avoided because it reads as 1,100. | |
| Vowel marks | خمسة عشر | with marks | None printed, as on school charts; any vowelled answer with the same letters is accepted. |
| Figures | 25 | ٢٥ | Digits 0 to 9 printed; Eastern Arabic digits accepted in keys. |
| A million | مليون | Wehr, مليون. |
What is not checked this way
Phrases with nouns (on the gender, prices and ordinals pages), the feminine forms, the transliteration and the dialect notes are written by hand from the sources each page names. They are reviewed, not machine-checked. If you find an error, the publisher’s contact details are on the about page.