Skip to main content

Free Tool: SMS Segment & Cost Calculator

The SMS segment & cost calculator is a free, browser-side utility on the developer tools hub. Paste a message, pick a destination country, set a recipient count, and the panel shows how many billable segments the body consumes and what it costs at the published per-segment rate — no account required. Everything runs in your browser; the text you paste is never sent anywhere.

What the tool returns

For whatever message you paste, the calculator reports:
  • Characters — the total character count of the body.
  • Encoding — GSM-7 when every character fits the GSM alphabet, or Unicode (UCS-2) when any character falls outside it.
  • Segments — the number of billable SMS segments the body splits into.
  • Chars left in segment — how many more characters fit before another segment is added.
Below the analysis, pick a destination country and a recipient count to see a per-segment rate and a total estimate. The rate comes from the same published table the pricing page renders, and the segment count comes from the same counter the send path bills against, so the figure the tool quotes is the figure a real send would produce. Where a destination has no published SMS rate, the tool shows “Contact sales” instead of a number.

Why segment math matters

Carriers bill per segment, not per message, so the number of segments decides the cost of every send:
  • A GSM-7 message fits 160 characters in one segment; longer bodies split into 153-character segments (the shortfall is the concatenation header carriers use to reassemble multi-part messages).
  • A UCS-2 message fits 70 characters in one segment and 67 per segment once it splits.
One stray character flips the entire message. An emoji, a curly quote pasted from a word processor, or many accented letters pushes the body out of the GSM alphabet, and every segment limit drops from 160/153 to 70/67 — so a message that looked like one segment becomes two, and the cost roughly doubles. A few characters enter through places you did not expect:
  • Smart quotes and em/en dashes — editors autocorrect straight quotes to curly ones (” ”, ’ ’, —), and each of those is outside GSM-7.
  • Emoji — any emoji forces UCS-2.
  • Headers and signatures — a sender name, opt-out footer, or legal suffix appended automatically at send time counts toward the segment once rendered. Check the shape before launch, not after.

Pre-flight a template before launch

Paste your template — including the variable placeholders — before the campaign goes live. Substituting a rendered sample value ({{name}} weighed against “Alexandra”) is more honest than counting the placeholder, and it catches the long-{{name}}-value-tips-you-into-two-segments case while you can still trim. Safe defaults per destination live in the best practices guide; run the calculator as the cost half of that checklist before every send.

How this differs from the in-dashboard preview

The compose window in the dashboard shows the same live encoding and segment count while you type, against the rendered template. It does not do the per-country cost lookup — the free tool is the place to compare destinations and recipient counts at published rates before you sign in.

Worked example

Paste this 130-character body:
The calculator reports 130 characters, GSM-7, 1 segment. Now paste an emoji into the body (or paste the message from an editor that swapped in smart quotes). The encoding flips to UCS-2, and since UCS-2 fits 70 characters per segment the same body now costs 2 segments — the per-message cost doubles. Add a signature of similar size and watch the segment count move again; that is the shape to pre-flight.

Tools and pricing

Note: the estimate uses public starter rates for the selected country. Rates can vary by destination and carrier — signed-in accounts see their live per-tenant rates in the dashboard billing section.