Paste your message. This tool counts the characters, detects whether it will be sent as GSM-7 or Unicode, works out how many segments you will be billed for, and shows the cost in Malaysian Ringgit. It also points out the exact character that pushed your message into Unicode — that is usually where the surprise bill comes from.
An SMS is not billed per message. It is billed per segment, and the number of characters that fit in one segment depends entirely on the encoding.
| Encoding | Single segment | Each segment when split | Triggered by |
|---|---|---|---|
| GSM-7 | 160 characters | 153 characters | Plain English letters, digits, and basic punctuation |
| Unicode (UCS-2) | 70 characters | 67 characters | Any single Chinese, Tamil, Jawi, accented or emoji character |
Two things surprise people, and both are visible in the calculator above:
One character can double your bill. Encoding is decided for the whole message, not per character. A 150-character English message costs one segment. Add one emoji and the entire message becomes Unicode — 151 characters in Unicode (plus the 4-character prefix), which is 3 segments. Your cost went up 3× because of one smiley.
Long messages lose capacity. Once a message needs more than one segment, each part carries a concatenation header so the recipient's phone can reassemble them in order. That header eats into the payload, so capacity drops from 160 to 153 (or 70 to 67). A 320-character English message is therefore 3 segments, not 2.
Our upstream route adds RM0 to every message before it
reaches the telco — four characters, including the trailing space. We did not add it and
we cannot remove it, but it consumes your character budget, so it has to count toward
segments. After the prefix, one segment holds 156 plain-English characters, or 66 if the message
uses Unicode (e.g. Chinese). The calculator above already includes it, which is why a
157-character English message shows as 2 segments rather than 1.
We mention this because most calculators do not, and the difference shows up on your invoice rather than on the screen. If you compare our numbers against a generic international SMS calculator, this is where the gap comes from.
' to ' and -- to —. Both are outside
GSM-7 and will flip your whole message to Unicode. Type directly into the box above
to see it happen.To opt out, WhatsApp 012-3456789 is enough.On our route, 156 if the message uses only GSM-7 characters (160 minus the 4-character prefix our upstream route adds). If even one character falls outside GSM-7, the whole message switches to Unicode and one segment holds only 66.
Either a non-GSM character forced Unicode encoding (check the warning above the
counter), or the 4-character RM0 prefix our upstream route adds pushed you past the
boundary — one plain-English segment holds 156 characters, not 160. The calculator shows both.
It counts as one character, but it forces the whole message into Unicode, so one segment holds 66 characters instead of 156. A single emoji can turn a one-segment English message into three.
The 160/70 and 153/67 rules are the GSM standard and apply everywhere. The
RM0 prefix is specific to our upstream route. If you are comparing
providers, ask them whether they prepend anything to your message — it is a fair
question and the answer changes your cost.
No monthly fee, no contract, prepaid credit that never expires. Sign up, then message us on WhatsApp to claim RM1 of trial credit — enough for about 5 single-segment English messages — and send a real SMS to your own phone before paying anything.