Skip to content
ToolsOrbit

Module 01 · SMS & 10DLC

SMS Segment Calculator

Paste a text message to see its encoding, segment count and the exact characters that force Unicode, then fix them with one click and estimate what the campaign costs.

Module 01 · SEGMENT CALC
Segment fuel gauge147 / 201 units · 54 left
Seg 01 / 03Seg 02 / 03Seg 03 / 03

1 character force Unicode (UCS-2), which cuts the single-message limit from 160 to 70. They are marked as hazards below.

  • ’ U+2019
Hi Sam, you’re booked at Bright Smile Dental for Tue 3 Nov at 2:30 PM. Reply C to confirm or R to reschedule. Reply STOP to opt out, HELP for help.

Swaps smart quotes, dashes, ellipsis and special spaces for GSM-7 equivalents.

How the carrier splits it

  1. Seg 01Hi Sam, you’re booked at Bright Smile Dental for Tue 3 Nov at 2:30
  2. Seg 02PM. Reply C to confirm or R to reschedule. Reply STOP to opt out, H
  3. Seg 03ELP for help.
Characters
147
67 per segment
Encoding
Unicode
UCS-2
70 single, 67 per part
Segments
Warning
3
Left in segment
54
Words
31
Lines
1

Cost estimator

Segments x price per segment x recipients x messages per month

$

Provider list price before carrier fees

Sends per recipient per month

Per recipient
$0.02
3 segments
Per send
$24.90
1,000 recipients
Per month
$99.60
$1,195.20 per year · 12,000 segments

Excludes carrier pass-through fees, number rental and 10DLC campaign fees. See the 10DLC cost calculator for the full picture.

Runs in your browser. Nothing you enter is uploaded.

Checklist

How to use the segment calculator

  1. 01

    Paste or type your message. The encoding badge, the segment gauge and every count update as you type.

  2. 02

    Look for coral hazard marks in the preview. Each marked character is outside the GSM-7 alphabet and switches the whole message to Unicode (UCS-2).

  3. 03

    Click Make GSM-safe to swap smart quotes, dashes, ellipsis and special spaces for plain equivalents. Emoji and accented letters outside GSM-7 have to be rewritten by hand.

  4. 04

    Check the split preview to see where each segment starts and ends, so a link or a word is not cut across two parts.

  5. 05

    Enter your price per segment, the number of recipients and messages per month to see the cost per send, per month and per year.

Telemetry

How it works

Carriers bill by segment, and the segment count depends on two things: which alphabet the message needs and how many encoding units it takes. The calculator checks every character against the GSM 03.38 alphabet, picks the encoding, measures the length in that encoding and applies the single-message and multipart limits.

Encoding = GSM-7 if every character is in the GSM alphabet, otherwise UCS-2

GSM-7: 1 segment if units <= 160, otherwise ceil(units / 153)

UCS-2: 1 segment if units <= 70, otherwise ceil(units / 67)

Extended GSM characters ^ { } \ [ ~ ] | € cost 2 units each

Emoji and other characters outside the Basic Multilingual Plane cost 2 UCS-2 units

Cost per send = segments x price per segment x recipients

Cost per month = cost per send x messages per month

Worked example

The default message is 152 characters long but contains one curly apostrophe in "you’re". That single character is not in GSM-7, so the message is sent as UCS-2, where the single-message limit is 70 and each part holds 67. The calculator reports 3 segments: ceil(152 / 67) = 3.

Click Make GSM-safe and the apostrophe becomes a straight quote. The same 152 characters now fit in one GSM-7 segment, because 152 is below the 160 limit.

At $0.0083 per segment to 1,000 recipients, four times a month, the Unicode version costs 3 x 0.0083 x 1,000 x 4 = $99.60 per month. The GSM-safe version costs $33.20. One character tripled the bill.

Why segments matter more than characters

An SMS carries 140 bytes of payload. With the 7-bit GSM alphabet that is 160 characters; with 16-bit Unicode it is 70. Anything longer is split into concatenated parts, and each part gives up 6 bytes to a header that tells the receiving phone how to reassemble them. That is why multipart segments hold 153 GSM-7 characters or 67 Unicode characters instead of 160 and 70.

Messaging platforms bill per segment, not per message. A campaign to 20,000 people that drifts from one segment to two does not cost a little more, it costs twice as much. The segment count is the number to watch while you write, which is why this calculator shows it as a fuel gauge that fills and changes colour as you type.

GSM-7 versus UCS-2, and the characters that flip the switch

GSM-7 covers the Latin alphabet, digits, common punctuation, a handful of accented letters (é, è, ü, ö, ä, ñ, à, ì, ò, ù, ø, å, æ) and a few Greek capitals. Nine characters sit in an extension table and cost two units: the caret, curly braces, backslash, square brackets, tilde, pipe and the euro sign.

The moment a message contains one character outside that set, the whole message is encoded as UCS-2. The usual offenders are invisible in a word processor: curly quotes and apostrophes, en and em dashes, the ellipsis character, non-breaking spaces and emoji. Lowercase accented letters such as á, í, ó, ú and ç are also outside GSM-7, even though é and ü are inside it. The calculator lists each offending character with its Unicode code point so you can find it in a template or a CRM field.

What "Make GSM-safe" changes and what it leaves alone

The button replaces characters that have an obvious plain equivalent: curly single and double quotes become straight quotes, en and em dashes become hyphens, the ellipsis becomes three dots, non-breaking and zero-width spaces become ordinary spaces or are removed, and symbols such as the bullet, multiplication sign and trademark sign become ASCII stand-ins. Nothing about the meaning of the message changes.

It does not touch emoji or letters that have no GSM-7 equivalent, because guessing a replacement could change a name or a word. If the badge still says UCS-2 after you click, the remaining hazard marks show exactly what needs a manual rewrite. Often the fix is to drop a single emoji from a signature.

Reading the split preview

When a message needs more than one segment, the preview shows the text of each part exactly as the carrier would cut it. Phones reassemble the parts in almost every case, but there are two reasons to look: a link that straddles a boundary can be broken if a part arrives late or out of order, and a part that ends mid-word reads badly on the handful of devices that show segments separately. Moving a sentence or shortening a link usually fixes both.

Writing campaign messages that stay in one segment

  • Lead with the action and the brand: "Acme Dental: Reply C to confirm your 2:30 PM appointment Tuesday." People read the first line.
  • Use a short link domain. A tracked link with UTM parameters can take 80 characters; a branded short link takes about 22.
  • Test personalisation with your longest real values. "Christopher-Alexander" is 21 characters where "Sam" is 3.
  • Keep opt-out text standard and short. "Reply STOP to opt out" is 21 characters and satisfies carrier guidance.
  • Leave 10 to 15 characters of headroom so a long name or date does not push the message into a second segment.
  • If you register the campaign for A2P 10DLC, the call-to-action generator produces sample messages that already include the brand name and STOP wording.

What the cost estimate includes

The estimate multiplies segments by your provider price per segment, the number of recipients and the number of sends per month. The default price is a typical US list price for application-to-person SMS; replace it with the rate on your own invoice. It does not include carrier pass-through fees (a fraction of a cent per segment on each major US carrier), monthly number rental or A2P 10DLC registration and campaign fees. The 10DLC cost calculator adds those in and shows the first-year total.

For a quick count without the campaign maths, the SMS character counter uses the same engine with a simpler layout focused on the 160 and 70 character limits.

Mission briefing

Frequently asked questions

Q01 How many characters are in one SMS segment?

160 characters when every character is in the GSM-7 alphabet, or 70 when the message uses Unicode. Once a message needs more than one segment, each part holds 153 GSM-7 characters or 67 Unicode characters because 6 bytes go to the concatenation header.

Q02 Why does one emoji turn a short message into three segments?

An emoji forces the whole message into UCS-2, which drops the limit from 160 to 70 characters, and most emoji count as two characters themselves. A 150-character message with one emoji is 152 UCS-2 units, which needs three parts of 67.

Q03 Which characters count double in GSM-7?

The nine characters in the GSM extension table: ^ { } \ [ ~ ] | and the euro sign. Each is sent as an escape code plus the character, so it costs two of your 160 units. The calculator counts them correctly and reports how many your message contains.

Q04 Is the segment count the same on every carrier and platform?

The calculation follows the GSM 03.38 standard and the concatenation header used worldwide, so it matches what major platforms such as Twilio, Telnyx, Bandwidth and Sinch bill. A few carriers show the parts as separate bubbles on the phone, but the billing count is the same.

Q05 Does the text message segment calculator work for MMS?

No. MMS is billed per message, not per segment, and allows up to about 1,600 characters plus media. If a long message is cheaper as a single MMS than as four SMS segments, some platforms let you choose. This calculator is for SMS only.

Q06 What does "Make GSM-safe" actually replace?

Smart quotes and apostrophes, en and em dashes, the ellipsis, non-breaking and zero-width spaces, and a few symbols such as the bullet and trademark sign. It never changes emoji or accented letters that have no GSM-7 equivalent, so those still need a manual edit.

Q07 Is my message uploaded anywhere?

No. Everything runs in your browser. The text is never sent to a server. If you use the Share button, the message is placed in the link itself and nowhere else.

SMS & A2P 10DLC cluster

Every SMS tool on ToolsOrbit is part of one kit for registering and running a compliant texting program. Here are the other 8 modules.

Runs in your browser. Nothing you enter is uploaded.

This tool runs entirely on your device. There is no server-side processing and no account. Last reviewed October 28, 2026. Read the disclaimer.