eSMS Africa sends bulk SMS to four North African countries today: Egypt, Morocco, Algeria and Libya. The biggest practical difference from the rest of the continent is language: most messages here are in Arabic, which is always sent as Unicode and fits 70 characters per SMS (67 per part in a longer message), so planning your copy is planning your budget.
Last reviewed: 28 October 2026. Network rules change without notice; this is general guidance, not legal advice.
Tunisia, Sudan and Mauritania are coming soon. We do not accept live traffic for them yet; register interest and we will tell you when they open.
North Africa at a glance
| Country | Dial code | Main networks | Sender ID | Language note | From (basic tier) | Guides |
|---|---|---|---|---|---|---|
| Egypt | +20 | Vodafone, Orange, Etisalat, WE | Register through us before campaigns | Arabic (Unicode), English | EGP 0.8047 ($0.0143) | bulk SMS, sender ID |
| Morocco | +212 | Maroc Telecom, Orange, Inwi | Register through us before campaigns | Arabic (Unicode), French | MAD 0.5411 ($0.055) | bulk SMS, sender ID |
| Algeria | +213 | Mobilis, Djezzy, Ooredoo | Register through us before campaigns | Arabic (Unicode), French | DZD 3.5 ($0.026) | bulk SMS, sender ID |
| Libya | +218 | Libyana, Almadar | Register through us before campaigns | Arabic (Unicode) | LYD 2.4356 ($0.379) | bulk SMS, sender ID |
| Tunisia | +216 | Ooredoo, Tunisie Telecom, Orange | Coming soon | Arabic, French | Coming soon | register interest |
| Sudan | +249 | Zain, MTN, Sudani | Coming soon | Arabic | Coming soon | register interest |
| Mauritania | +222 | Mauritel, Mattel, Chinguitel | Coming soon | Arabic, French | Coming soon | register interest |
The price column shows the live basic-tier rate per SMS segment, in local currency and USD. Business and enterprise tiers lower the rate for larger volumes; the full list is on SMS pricing and plan details on pricing. The coverage page lists every live country.
Arabic SMS: why 70 and 67 characters
SMS was designed around a 140-byte payload. The default GSM-7 alphabet uses 7 bits per character, giving 160 characters. Arabic letters are not in GSM-7, so the message is encoded as UCS-2, which uses 16 bits per character: 140 bytes divided by 2 gives 70 characters. When a message is longer than one SMS, each part carries a 6-byte header that tells the phone how to join the parts, leaving 134 bytes, or 67 Arabic characters, per part.
| Message | Encoding | Single SMS | Per part when split |
|---|---|---|---|
| English, or French without ê, ô, î, û, lowercase ç | GSM-7 | 160 characters | 153 characters |
| Arabic, or any text with one non-GSM character | UCS-2 (Unicode) | 70 characters | 67 characters |
So a 140-character Arabic message is three parts (67 + 67 + 6), not two, and costs three SMS. A 134-character Arabic message is exactly two parts. Spaces, digits and punctuation count as characters too. Mixing scripts does not help: a single Arabic word inside an English message makes the whole message Unicode.
Writing Arabic SMS that fit
- Keep the brand name in the sender ID, not repeated in the text, to save characters.
- Pick one digit style, Western (0-9) or Arabic-Indic, and use it consistently; each digit counts as one character either way.
- Check the composer. The dashboard shows encoding and parts live as you type.
- Test on a real handset. Right-to-left text with embedded numbers and links can display in an unexpected order; send a test to yourself before a campaign.
A short Arabic delivery notice (Egypt), which fits one SMS:
تم شحن طلبك رقم 5521 ويصل غدا. للاستفسار: 19000
("Your order 5521 has shipped and arrives tomorrow. Enquiries: 19000.")
French in Morocco and Algeria
Morocco and Algeria use French widely in business, banking and retail, and for many senders French is the cheaper option because it can stay in GSM-7. The catch is accents: é, è, à and ù are in the GSM-7 alphabet, but ê, â, î, ô, û and lowercase ç are not, and any one of them switches the message to Unicode. Votre colis est livré demain à 10h. is one GSM-7 SMS; add "Merci d'être présent" and the ê pushes it into Unicode. If your audience reads both, one option is French for short transactional notices and Arabic where reach matters more than length. Darija written in Latin characters also stays in GSM-7.
Country notes
Egypt
Egypt has four networks: Vodafone, Orange, Etisalat (e&) and WE. Egypt's Personal Data Protection Law (Law No. 151 of 2020) requires prior consent for direct electronic marketing, and messages must identify the sender and give a way to decline. Law firm Al Tamimi reports that the law's executive regulations, issued in 2026, add a specific licence or permit for direct electronic marketing, so check current requirements with the Personal Data Protection Centre before a large marketing programme. See SMS in Egypt, bulk SMS in Egypt and the Egypt country guide.
Morocco
Maroc Telecom, Orange and Inwi cover the market. Morocco's data protection law, Law 09-08, prohibits direct marketing to individuals without their prior consent (article 10), and the data protection authority, the CNDP, publishes guidance on direct marketing and has reminded political parties of the rule when they sent campaign SMS. See SMS in Morocco and the Morocco compliance guide.
Algeria
Mobilis, Djezzy and Ooredoo are the three networks. Messages go out in Arabic or French. Register your sender ID before launch and check the regulator's current rules for marketing traffic. See SMS in Algeria and the Algeria country guide.
Libya
Libyana and Almadar are the two networks, so registering your sender ID with both covers the market. Arabic is the norm. See SMS in Libya.
Sending from the API
Use E.164 format: +20 for Egypt, +212 Morocco, +213 Algeria, +218 Libya, then the number without its leading zero. Our API detects Arabic and encodes it as Unicode automatically; you just send UTF-8 JSON.
curl -X POST https://sms.esmsafrica.io/api/messages/send \
-H "Authorization: Bearer esms_live_..." \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"to": "+201001234567", "text": "تم شحن طلبك رقم 5521 ويصل غدا. للاستفسار: 19000", "sender_id": "NILESHOP"}'
Test with an esms_test_... key first; it simulates sends and delivery reports at no cost. The response reports the number of parts, so you can confirm your Arabic copy fits before going live. See the HTTP API docs and our help article on Unicode and emoji. For login codes in Arabic, eSMS Verify generates, sends and checks the code for you.
Frequently asked questions
How many Arabic characters fit in one SMS?
70 characters in a single SMS. When a message is longer, each part holds 67 characters because part of the space is used by the header that joins the parts on the phone.
Is French cheaper than Arabic to send?
Often, yes. French without ê, â, î, ô, û or lowercase ç stays in GSM-7 at 160 characters per SMS, against 70 for Arabic. The per-part price is the same; you simply use fewer parts.
Can I send to Tunisia, Sudan or Mauritania?
Not yet. All three are on our coming-soon list and we do not accept live traffic for them today. Use the contact page to register interest.
Do I need consent to send marketing SMS in Egypt or Morocco?
Both countries' data protection laws require prior consent for direct marketing, and messages should identify you and offer a way to opt out. Check with the national data protection authority for your specific case.
Sources
- 3GPP TS 23.038 - Alphabets and language-specific information (GSM-7 and UCS-2)
- 3GPP TS 23.040 - Technical realisation of SMS (concatenation headers)
- Al Tamimi - Egypt issues executive regulations of the Personal Data Protection Law
- Mondaq - Translation of Egypt Law No. 151 of 2020
- CNDP Morocco - Fiche on direct marketing (prospection directe), PDF
- SNRT News - CNDP calls on political parties using SMS to comply with Law 09-08
Ready to message North Africa in Arabic or French? Check live rates on SMS pricing, see the Africa overview, and create a free account to send a test message today.


