A Sinhala or Tamil SMS holds 70 characters, not 160, because any Sinhala, Tamil or emoji character switches the message to Unicode (UCS-2) encoding. Longer messages are split into parts of 67 characters, and each part is billed as one SMS. The same order update that fits in one English SMS takes two in Sinhala or Tamil, which doubles the cost.
Updated 6 November 2026
- English and Singlish use GSM-7: 160 characters in one SMS, 153 per part when longer.
- Sinhala, Tamil and emoji use Unicode: 70 characters in one SMS, 67 per part.
- A single emoji or Sinhala letter switches the entire message to Unicode.
- Our sample order update was 1 SMS in English and Singlish, but 2 SMS in Sinhala and Tamil.
- Write shorter Sinhala and Tamil messages on purpose, and count before you send.
The two limits: 160 and 70
Every SMS is 140 bytes. How many characters fit depends on the encoding the phone network uses.
| Encoding | Used for | One SMS | Each part of a long SMS |
|---|---|---|---|
| GSM-7 | English letters, numbers, basic punctuation, Singlish | 160 characters | 153 characters |
| Unicode (UCS-2) | Sinhala, Tamil, emoji and most other symbols | 70 characters | 67 characters |
The rule that catches most people: if even one character is outside GSM-7, the whole message becomes Unicode. A single 🚚 emoji at the end of an English message turns 106 characters and 1 SMS into 109 characters and 2 SMS. Curly quotes and long dashes pasted from Word or Google Docs do the same.
Some GSM-7 characters count as two: ^ { } \ [ ~ ] | and €. For example, "Use code {SAVE20} for 20% off." is 30 characters on screen but 32 in an SMS.

One message in four languages
We wrote the same order update in English, Sinhala, Tamil and Singlish and counted each one with the same rules our gateway uses. These are examples, not real customer messages.
The pattern holds for one-time passcodes too. "Your Bloomwire code is 482913. It expires in 5 minutes. Do not share this code with anyone." is 91 characters and 1 SMS in English. The Sinhala version is 97 characters and the Tamil version is 110, and both need 2 SMS.
| Message | Encoding | Characters | SMS parts |
|---|---|---|---|
| Order update, English | GSM-7 | 106 | 1 |
| Order update, English with 🚚 | Unicode | 109 | 2 |
| Order update, Sinhala | Unicode | 102 | 2 |
| Order update, Tamil | Unicode | 110 | 2 |
| Order update, Singlish | GSM-7 | 91 | 1 |
| OTP, English | GSM-7 | 91 | 1 |
| OTP, Sinhala | Unicode | 97 | 2 |
| OTP, Tamil | Unicode | 110 | 2 |
| Avurudu promotion, English | GSM-7 | 125 | 1 |
| Avurudu promotion, Sinhala | Unicode | 152 | 3 |
| Avurudu promotion, Singlish | GSM-7 | 144 | 1 |
Why Sinhala counts more characters than you can see
A Sinhala letter that looks like one shape on screen is often several Unicode characters. Vowel signs (pili) and the virama (hal kirīma) are separate characters, and so is an invisible one called the zero-width joiner (ZWJ, U+200D).
Take ශ්රී, as in ශ්රී ලංකා. It looks like one cluster, but it is five characters: ශ, the virama ්, the zero-width joiner, ර and the vowel sign ී. The joiner tells the phone to draw the rakāransaya form. Written with the joiner, "ශ්රී ලංකා" is 10 characters. Without it, it is 9 and may display differently on some phones.
Copying text from Word, a website or a design tool can add joiners and other invisible characters you did not type. Our character counter lists the characters that force Unicode, including the joiner, so you can see exactly what is being counted.
Tamil works the same way. Vowel signs and the pulli (்) are separate characters, so "வணக்கம்" (vanakkam) is seven characters, not four.
What it costs to send to 10,000 customers
Here is what each example costs to send to 10,000 recipients at Bloomwire's published rates of LKR 0.50 per transactional SMS and LKR 0.70 per promotional SMS, taxes included. Each SMS part is billed as one SMS.
| Message | Parts | At LKR 0.50 (transactional) | At LKR 0.70 (promotional) |
|---|---|---|---|
| Order update, English or Singlish | 1 | LKR 5,000 | LKR 7,000 |
| Order update, Sinhala or Tamil | 2 | LKR 10,000 | LKR 14,000 |
| Order update, English with one emoji | 2 | LKR 10,000 | LKR 14,000 |
| Avurudu promotion, English or Singlish | 1 | LKR 5,000 | LKR 7,000 |
| Avurudu promotion, Sinhala | 3 | LKR 15,000 | LKR 21,000 |
On a weekly promotion, the gap between a 3-part Sinhala message and a 1-part Singlish one is LKR 14,000 a week, or more than LKR 700,000 a year. For more on prices, see our bulk SMS cost guide and our 2026 SMS gateway price comparison.
How to write shorter Sinhala and Tamil SMS
- Set a target before you writeAim for 70 characters for one SMS or 134 for two. Write to the limit rather than trimming afterwards.
- Cut greetings and sign-offsYour sender ID already shows your brand name. Drop "ආයුබෝවන්" and "ස්තූතියි" in transactional messages; customers will not miss them.
- Use digits and short dates"14/4" is shorter than "අප්රේල් 14". Numbers and basic punctuation cost the same in any language.
- Keep brand and product names in EnglishWords such as SMS, OTP, order and Bloomwire are short in Latin letters and widely recognised.
- Remove emojiIn an English message, one emoji switches everything to Unicode. In a Sinhala message, each emoji uses two characters.
- Avoid two-unit symbols in EnglishReplace { } [ ] ~ and € with plain text, so "Rs" instead of a currency symbol where you can.
- Consider SinglishFor informal, younger audiences, Singlish keeps you in GSM-7 with 160 characters per SMS.
- Count before you sendPaste the final text, including any personalised fields at their longest, into the counter.
Personalisation changes the count. If you insert customer names, test with your longest name, not "Nimal".

When Sinhala or Tamil is worth the extra cost
- Your customers are older or prefer their first language
- The message is about money, health, safety or legal matters
- You serve the North and East, where Tamil is the main language
- Clarity matters more than cost, such as payment reminders and bank alerts
- Your brand speaks Sinhala or Tamil everywhere else
- The message is a short OTP that is mostly a number
- Your audience is young and urban and already texts in Singlish
- You send high-volume promotions where cost per message matters
- Your customers already read your app or website in English
Many businesses send both. Let customers choose a language when they sign up, and store it in your CRM so each person gets one message in the language they read. If you also use WhatsApp, a template message there is billed per message, not per 70 characters, which suits longer Sinhala and Tamil content. Our promotional campaigns platform sends SMS and WhatsApp from one place.
Frequently asked questions
How many characters can a Sinhala SMS hold?
One Sinhala SMS holds up to 70 characters. A longer message is split into parts of 67 characters each, so 71 to 134 characters is 2 SMS and 135 to 201 characters is 3 SMS. Vowel signs, the virama and the zero-width joiner each count as a character.
Is a Tamil SMS the same length as a Sinhala SMS?
Yes. Both use Unicode (UCS-2) encoding, so both hold 70 characters in one SMS and 67 per part when longer. Tamil words often use more characters than the English equivalent, so Tamil messages tend to need more parts.
Why does my English SMS suddenly count as 70 characters?
One character outside the GSM-7 set, such as an emoji, a curly quote pasted from Word, or a single Sinhala letter, switches the whole message to Unicode. Paste your text into a character counter to find the character that caused it.
Do I pay more for a Sinhala SMS?
The rate per SMS part is usually the same, but a Sinhala or Tamil message uses more parts. A message that fits in one English SMS often needs two or three parts in Sinhala or Tamil, so it costs two or three times as much.
Is Singlish a good way to save money?
Singlish (Sinhala written in English letters) stays in GSM-7, so it holds 160 characters in one SMS. It works well for younger and informal audiences. For older customers, government-style notices or anything legal, Sinhala script is clearer and worth the extra cost.
Does the zero-width joiner really count?
Yes. The joiner (U+200D) used in conjuncts such as ශ්රී is an invisible character, but it is still one UTF-16 unit and counts toward the 70 or 67 character limit.
Sources
- Twilio: What is the SMS character limit?
- Unicode Consortium: Sinhala code chart
- fitsms.lk pricing: English 160, Sinhala and Tamil 70 characters per SMS
- Bloomwire SMS gateway: published rates
- Character counts calculated by Bloomwire on 6 November 2026 with the logic used in our SMS character counter.


