Arabizi NLP: Detecting and Annotating Arabizi and Code-Switched Arabic
Arabic typed in Latin letters and digits, mixed with English or French, is normal in chat, social and support traffic. Here is the numbers chart, what the research says about how common it is, how to detect it, and the rules that keep labels consistent.
Arabizi is Arabic written in Latin letters, with digits standing in for sounds English lacks: 3 for ع, 7 for ح, 2 for the glottal stop. In Arabizi NLP the hard part is rarely the digits. It is that Arabizi arrives mixed with English or French, has no standard spelling, and shares word forms with English. Handle it with three habits: detect it at the word level, label the original text as written, and turn it into Arabic script only as a separate, reviewed step.
What is Arabizi? The Arabizi numbers chart
Arabizi, also called Arabish or Franco-Arabic, writes MSA or dialect in Latin letters, with digits for letters that have no Latin equivalent (Darwish, 2014). The digit usually looks like the letter, and an apostrophe adds the dot of a sister letter. Regional variants below follow the compiled table in Wikipedia's Arabizi article, which draws on studies of Egyptian and Lebanese usage.
| Digit | Arabic letter | Regional notes | Example |
|---|---|---|---|
| 2 | ء hamza (glottal stop) | Also ق in dialects that pronounce qāf as a glottal stop, such as Egyptian | mt25er = متأخر "late"; t2demm = تقديم "submitting" (Bies et al., 2014) |
| 3 | ع ʿayn | The digit mirrors the letter's shape | 3shan = عشان "because" (Darwish, 2014) |
| 3' | غ ghayn | Also written gh; 8 in Lebanon | — |
| 5 | خ khāʾ | Alternatives kh and 7' | mt25er (above) |
| 6 | ط ṭāʾ | 6' is ظ | 6ayeb = طيب "okay" (illustrative) |
| 7 | ح ḥāʾ | 7' is خ | e7na = إحنا "we" (Darwish, 2014) |
| 8 | غ or ق | غ only in Lebanon; ق common in Saudi Arabia | — |
| 9 | ص ṣād | Also ق, marked as common in Saudi Arabia; 9' is ض | 9aba7 = صباح "morning" (illustrative) |
Two lessons for annotation. One digit can mean different letters: in the Egyptian sentence ana kont mt25er fe t2demm l projects ("I was late in submitting the projects"), from the LDC Arabizi corpus, the first 2 is a hamza and the second is a qāf. And letters vary too: where French is the main second language, ش is often written ch and ج dj (especially in Algeria); elsewhere sh and j are more usual.
How common are Arabizi and code-switching in real traffic?
There is no single prevalence figure. The studies that measured it looked at different channels, years and dialects:
| Study | Data | What it found | Read it with this caveat |
|---|---|---|---|
| Bies et al. (2014) | 1,503 Egyptian SMS and chat conversations | 987 conversations entirely Arabizi, 233 entirely Arabic script, 283 mixed (about 66%, 15% and 19%) | Private messaging collected before 2014, one dialect |
| Tobaili (2016) | 60,364 tweets from Lebanon, 249,149 from Egypt | Arabizi was 4.9% of Lebanese and 5.7% of Egyptian tweets | Public channel; the author hypothesizes Arabizi is preferred in private messaging |
| Al Ali & Aldarmaki (2024) | About 15 hours of Emirati podcast speech, 5,316 utterances | 1,947 utterances (36%) contain code-switching | The podcasts were chosen because the hosts code-switch |
The pattern holds even where the numbers differ: script choice depends on channel and audience. The only figure that should drive your data plan is the one you measure. Have native speakers label the script of a random sample from each channel (Arabic, Arabizi, Latin-script foreign, mixed); a few hundred messages will show whether Arabizi is a rounding error or a slice that needs its own training and test data.
Arabizi NLP step one: how do you detect Arabizi automatically?
Detection is word-level, in context. Darwish (2014) trained a sequence labeler on tweets labeled word by word as Arabizi, English or other, and reached 98.5% word-level accuracy on his test set. Tobaili (2016) classified whole tweets; most of the Arabizi tweets his classifier missed were Lebanese tweets mixing English and Arabizi, which the Langdetect library labeled mostly as English. Failure cases from both papers:
- Words shared with English. In Ana 3awez aroo7 men America leh Canada ("I want to go from America to Canada"), men is Arabic من "from".
- Digits that are English shorthand. In 4 those going 2 tahrir, 4 and 2 mean "for" and "to", not Arabic letters.
- Arabizi with no digits. Darwish lists ta7rir, t7rir, tahrir, ta7reer, tahreer as spellings of one word, تحرير "liberation". Digit filters miss the last three.
- Vowel-dropping. Tobaili saw Egyptian users shorten ana to na and hane3mal to hn3ml.
- Trilingual messages. bonsoir 7ewalit a3melik add 3ala fb bass i didnt find you, a Lebanese tweet in Tobaili's data, mixes French, Arabizi and English: "Good evening, I tried to add you on FB but I didn't find you".
A workable pipeline: profile each message's script, flag Latin tokens mixing letters with 2, 3, 5, 6, 7, 8 or 9 (a candidate, not a verdict), run a word-level classifier in context, and send uncertain messages to native reviewers, whose labels double as the detector's gold set.
Arabic–English and Arabic–French code-switching
Code-switching happens between sentences, within a sentence, or inside a word, the three levels the Mixat authors distinguish, and in Arabic it also crosses scripts. The COLING 2025 survey of code-switched Arabic NLP (Hamed et al.) finds research concentrated on dialect–foreign-language and MSA–dialect switching, with Egyptian–English and Algerian–French the most studied bilingual pairs. Patterns to expect:
- Gulf and Saudi Arabic with English. English product and service words appear in Latin script, as in ممكن تسوي لي refund؟ (mumkin tsawwi li refund?, "can you process a refund for me?"). They also appear in Arabic script with Arabic morphology, as in أبغى أكنسل الطلب (abgha akansil al-ṭalab, "I want to cancel the order"). Both examples are illustrative. For speech, Mixat covers Emirati–English; its name is itself a code-mixed word for "mixes".
- Egyptian Arabic with English. English words take Arabic determiners (el anniversary) or Egyptian pronunciation (lozar, "loser"), per Bies et al.
- Maghrebi Arabic with French. The Algerian sentence salem 3alikoum inchalah le pondium et les midailes d'or ("peace be upon you, God willing the podium and the gold medals"), from Seddah et al. (2020), mixes Arabizi with French spelled non-standardly: pondium, midailes.
- MSA with dialect. No script signal at all; shared tasks reviewed in the survey found it the hardest pair to tag word by word.
Arabizi annotation rules that keep labels consistent
Most disagreement on this data comes from undecided policy, not misreading. The LDC team's numbers show where the difficulty lies: annotators agreed over 98% of the time when flagging tokens as foreign, name, sound or punctuation, but only 86.4% on the full transliteration, and 60% of those disagreements came from CODA spelling decisions that did not follow the guidelines (Bies et al., 2014). Flagging is easy to make consistent; spelling is not. Decide these cases before the pilot:
| Case | Example | Rule |
|---|---|---|
| Foreign word in Latin script inside Arabic | ممكن تسوي لي refund؟ | Token language en, token script Latin; message script mixed |
| Foreign word written in Arabic script | الواتساب (al-wātsāb, "WhatsApp") | Apply the project borrowing list; script is Arabic either way |
| Arabic morphology on a foreign stem | أكنسل (akansil, "I cancel") | mixed; don't force a single language |
| Arabic article on a foreign noun | el anniversary, l projects | Split at whitespace as written; tag the article Arabic and the noun foreign |
| Digit: letter, number or English shorthand | 3shan vs 2 go | Decide from context; digits used as numbers or English words are not Arabizi |
| Names | Youmna 7atigi?? (Bies et al.) | Named-entity tag; span on the Latin string as written |
| Non-standard foreign spelling | midailes | Tag the source language regardless of spelling, as the Algerian treebank does |
| Laughter, elongation, emoji | hahaha, salaaaam | Keep; tag other; normalize only in model preprocessing |
Four more rules:
- Label the original text. Labels go on the message as typed. Nobody transliterates or corrects inside a labeling task.
- Keep dialect, language and script separate. An Arabizi message still has a dialect, and the same digit 9 can mean ص or ق depending on the writer (see Arabic dialect identification).
- Own the borrowing question. The survey notes many projects leave borrowing versus switching to annotator judgment; some add a label for borrowed words. Pick one and keep a shared borrowing list (fb, whatsapp, ok).
- Route by dialect and seed gold items. Egyptian, Gulf and Maghrebi Arabizi need different readers; put adjudicated Arabizi and hybrid-word items in the gold set. Our guidelines template has a script section to copy; the Arabic text annotation playbook covers token-level language tags.
Transliterate, normalize or keep Arabizi?
Choose by what the data is for. Converting everything loses the user's actual input; converting nothing breaks tools that expect Arabic script, the reason Bies et al. give for transliterating at all.
| Goal | Do this | Why |
|---|---|---|
| Intent, sentiment or moderation classifier | Keep as written; hold out Arabizi and mixed items as their own test slices | Production traffic arrives as written |
| Pipelines built for Arabic script (morphology, Arabic-script NER) | Transliterate to Arabic script as a separate reviewed task; keep foreign words unchanged | Per the survey, foreign words must stay unchanged, so systems tag language first, then convert |
| Speech transcription | Arabic speech in Arabic script, English speech in Latin script; don't transcribe Arabic in Arabizi | Mixat uses this convention because it makes switch points explicit (see our transcription guidelines) |
When you transliterate, machine-draft and have humans correct: Darwish reported 88.7% conversion accuracy on his test set, and the Atar model reported 79% accuracy on its own Jordanian dataset. Bies et al. estimated that pre-filling annotators' screens with automatic transliteration cut typing time by two-thirds. Standardize the output with a conventional orthography such as CODA, never the source.
Arabizi and Arabic code-switching datasets
Public resources are thin. The survey counts 22 corpora for word-level language identification and 7 for transliteration, with most other tasks poorly supported. Ones to know:
| Resource | Variety | What it contains |
|---|---|---|
| LDC BOLT Arabizi–Arabic SMS/chat | Egyptian | Arabizi conversations transliterated to CODA Arabic script, with foreign, name and sound flags, plus English translations |
| NArabizi treebank | Algerian | 1,500 sentences with Universal Dependencies syntax, word-level code-switching labels and translations, plus about 50k unlabeled sentences |
| Arabizi-Transliteration (Atar) | Jordanian | More than 25k Arabizi–Arabic pairs checked by native speakers |
| Mixat | Emirati | About 15 hours of Emirati–English speech, mixed-script transcripts |
| NileChat Arabizi-Egypt | Egyptian | 572K rows made by transliterating Egyptian Arabic text with an LLM, for pre-training; CC BY-NC 4.0 |
Two gaps stand out. None of the text resources above covers Gulf or Saudi Arabizi. And the largest recent set is machine-generated: per its dataset card, NileChat's Arabizi was transliterated by a model, so it carries the model's spelling habits, not users'. Fine for pre-training; don't evaluate on it. Our note on the limits of synthetic Arabic data explains why.
At Bayanat Labs, annotation work goes to vetted native speakers who pass dialect screening before touching client data, and it is calibrated against gold standards with adjudication and rework loops; for mixed-script projects, the rules above belong in the guideline and Arabizi items belong in the gold set. Our Arabic data annotation and dialect data services start with a fixed-scope pilot on your own messages, with gold-standard QA and a quality report, usually within two weeks. Be wary of automating the routing: in LabelBench, a local language model scored 22.4% exact-match accuracy on five dialect regions (chance 20%) on the fixed held-out manifest. LabelBench did not test Arabizi.
- Know the chart, then distrust it. 2, 8 and 9 shift by region, and many Arabizi words contain no digits.
- Prevalence is channel-specific. The research ranges from about 5% of public tweets to most private Egyptian chats. Measure your own traffic.
- Detect per word, in context. General language detectors tend to call mixed Arabizi–English text English.
- Label as written. Tag language and script separately, use a mixed tag for hybrid words, and keep a borrowing list.
- Transliterate as its own task. Machine-draft, human-correct, and leave foreign words unchanged.
Frequently asked questions
What do the numbers mean in Arabizi?
Each digit stands for an Arabic sound with no Latin letter, usually one it resembles. The core set is 2 for hamza (ء), 3 for ʿayn (ع), 5 for khāʾ (خ), 6 for ṭāʾ (ط), 7 for ḥāʾ (ح) and 9 for ṣād (ص). An apostrophe adds the dot: 3' is غ and 6' is ظ. Values shift by region, so 2, 8 and 9 can also stand for ق.
Is Arabizi the same as Franco-Arabic?
Yes. Arabizi, Arabish, Franco-Arab and just "Franco" name the same practice: writing MSA or dialect in Latin characters, with digits for missing sounds. Darwish (2014) lists several of these names. Spelling habits differ by region: where French is the main second language, writers tend to use ch for ش and dj for ج; elsewhere sh and j are more usual.
Why do Arabs use numbers when texting?
Because early phones and computers could not display Arabic, people wrote it in Latin letters and borrowed digits for sounds with no Latin equivalent, choosing digits that look like the letter. Darwish (2014) notes the habit outlived the technical limit: users stayed with it out of familiarity and because they were more proficient on an English keyboard than an Arabic one.
Is there a standard way to spell Arabizi?
No. The Algerian Arabizi treebank of Seddah et al. (2020) records wa3lach, w3alh, 3alach and 3lache for one word, "why". Don't normalize the source. When annotators must write Arabic script, for example in a transliteration task, give them a conventional orthography such as CODA and apply it only to what they write.
Can LLMs handle Arabizi and code-switched Arabic?
Test it rather than assume it. Much Arabic NLP tooling expects Arabic-script input, and speech models struggle on code-switched audio: the Mixat authors found no pre-trained system gave usable transcripts of their Emirati–English podcasts. Build evaluation slices per script (Arabic, Arabizi, mixed) from real user traffic and score each separately. Our guide to Arabic LLM evaluation covers how to build those slices.