HomeFree toolsSMS Segment Calculator

SMS segment calculator

Paste any text message to see how many SMS segments it will bill as, which characters force expensive Unicode encoding, and what a bulk send will cost on your HighLevel phone number.

FreeNo signupRuns in your browser
1 Your message
Load an example
Merge fields found
None
2 How carriers split it GSM-7
Result
1
Segments billed
0
Characters counted
0
Left in this segment
160
Per-segment limit

Campaign cost estimate
$0.0079
Per message
$0
Whole campaign

Prices are examples. Use the per-segment rate shown in your HighLevel phone billing, plus any carrier pass-through fees.

Guide

What an SMS segment is, and why it decides your bill

Text messages travel through carrier networks in small fixed-size packets called segments. A message that fits in one packet is sent as one segment. Anything longer is cut into several segments, sent separately, and stitched back together on the recipient's phone so it still looks like a single text.

The part most people miss: you pay per segment, not per message. HighLevel's phone system and the carriers behind it count every segment as a billable unit. A message that looks like one text in your workflow can quietly cost two, three or four times as much once it is split.

For a single reminder that difference is a fraction of a cent. Across a 5,000-contact bulk send, or a workflow that fires hundreds of times a day, it becomes real money. That is why it is worth checking a template once before you put it into an automation that runs for months.

GSM-7 vs Unicode: why one emoji can double the cost

Every message is encoded one of two ways, and the encoding sets how many characters fit in a segment:

EncodingSingle messageEach part of a long message
GSM-7 (standard)160 characters153 characters
Unicode (UCS-2)70 characters67 characters

GSM-7 covers the English alphabet, numbers, common punctuation and a handful of accented letters. As long as every character in your message is in that set, you get the full 160 characters.

The moment a single character outside the set appears, the entire message switches to Unicode. It does not matter if it is one emoji at the end of a 150-character text: the limit drops from 160 to 70, and the message that was one segment becomes three.

Long messages also lose a little room in each part. When a text is split, each segment carries a small header that tells the phone how to reassemble the pieces. That header takes the space of 7 GSM characters (or 3 Unicode characters), which is why the per-part limits are 153 and 67 instead of 160 and 70.

Quick rule: under 160 plain characters is one segment. Add one emoji or curly quote and the same message may need three.

Characters that switch your message to Unicode without you noticing

Emojis are the obvious culprit, but most surprise Unicode messages come from characters that look identical to plain ones. They usually sneak in when copy is written in Google Docs, Word, Notion or on an iPhone, then pasted into HighLevel:

  • Curly quotes and apostrophes — ’ “ ” instead of ' and ". Word processors convert them automatically.
  • Long dashes — the en dash – and em dash —. Use a normal hyphen.
  • The ellipsis character …, which is one character but not a GSM one. Three full stops are fine.
  • Invisible spaces — non-breaking and zero-width spaces copied from web pages and emails. You cannot see them, but they force Unicode.
  • Bullets and symbols such as •, ✓, → and ™.
  • Some accented letters. Characters like é, ü and ñ are in GSM-7, but á, í, ó and ç are not.

The calculator above highlights every one of these in red and offers to replace the smart punctuation with plain equivalents in one click. Try the “Pasted from Google Docs” example to see how a message that looks normal turns out to be Unicode.

A few GSM-7 characters are also “extended” and count as two: { } [ ] ~ \ | ^ €. They keep you in GSM-7 but eat into the 160 faster.

How this affects your HighLevel phone bill

HighLevel bills outbound text messages by segment, using the rate set for your account's phone system (LC Phone or a connected Twilio account). Agencies that rebill messaging to sub-accounts pass the same segment count through to their clients, often with a markup, so segment count shows up on every invoice down the chain.

Here is how quickly it adds up. Say a home services company sends a seasonal promotion to 3,000 contacts:

  • A 150-character plain message: 3,000 segments.
  • The same message with a 🎉 emoji added: Unicode, 151 characters, 3 segments each = 9,000 segments.
  • The same message with a link and a merge field that pushes it to 170 plain characters: 2 segments each = 6,000 segments.

One emoji tripled the cost of the campaign. Enter your own rate in the cost estimator to see the numbers for your account.

Workflows multiply the effect

A one-off bulk send happens once. A workflow message, such as an appointment reminder, a missed-call text-back or a review request, is sent every time the trigger fires, for as long as the workflow is published. Shaving one segment off a reminder that fires 40 times a day saves around 14,000 segments a year. Check your always-on templates first.

Merge fields and links change the real count

The text you type into HighLevel is not the text that gets sent. Merge fields like {{contact.first_name}} are replaced with each contact's details before sending, so the final length depends on the person:

  • {{contact.first_name}} might be “Al” or “Christopher”.
  • {{contact.company_name}} can easily run to 30 or 40 characters.
  • {{appointment.start_time}} usually expands to a full date and time.

The calculator replaces each merge field with a placeholder of the length you choose, so you can test the worst case. If a message sits right at the edge of a segment, a longer-than-average name tips it over. Leave yourself 15–20 characters of headroom on any message that uses merge fields.

A contact's name can also contain non-GSM letters. A message to “José” stays in GSM-7, but a message to “Zoë” or “Ángel” switches to Unicode for that contact only.

Links count character by character too. A full booking URL can take 60 or more characters on its own. Use a short path on your own domain, such as yourbusiness.com/book, rather than a long funnel URL.

Seven ways to keep a text to one segment

  1. Write the text in HighLevel, not in a document. Typing straight into the message box avoids smart quotes and invisible spaces.
  2. Drop decorative emojis in bulk messages. Save them for one-to-one conversations where the cost is negligible.
  3. Lead with the point. “Your cleaning is Tue 10 AM” beats “We just wanted to send you a quick friendly reminder that…”.
  4. Shorten links with a clean path on your own domain. Avoid public shorteners like bit.ly, which carriers often filter as spam.
  5. Use the business name once, ideally at the start, where it identifies you and satisfies carrier rules.
  6. Keep the opt-out short. “Reply STOP to opt out” is 21 characters and widely accepted.
  7. Leave room for merge fields, as explained above.

Sometimes two segments is the right call. A clear reminder that prevents a no-show is worth more than a fraction of a cent. The point is to choose the length on purpose, not discover it on the invoice.

Frequently asked questions

How many characters are in one SMS segment?
160 characters if every character is in the GSM-7 set, or 70 if the message contains any Unicode character such as an emoji or curly quote. When a message is longer than that, each part holds 153 GSM-7 characters or 67 Unicode characters.
Do emojis really double the cost of a text?
Often more than double. One emoji switches the whole message to Unicode, which drops the limit from 160 to 70 characters. A 150-character text that was one segment becomes three segments, so it costs three times as much.
Why does a long message split at 153 characters instead of 160?
Each part of a multi-part message carries a small header that tells the phone how to put the pieces back together. That header uses the space of 7 GSM-7 characters, leaving 153 for your text in each part.
Does HighLevel charge per message or per segment?
Outbound SMS is billed per segment by HighLevel's phone system and by Twilio. Check the messaging rates shown in your account's billing or phone settings, and enter that per-segment rate in the calculator to estimate a campaign.
Do line breaks and spaces count as characters?
Yes. A space is one character and a line break is one character in GSM-7. They are free to use for readability, but they still count toward the 160.
Are picture messages (MMS) billed by segment?
No. MMS messages, the ones with an image or GIF attached, are billed per message at a separate, higher MMS rate. This calculator is for plain text SMS.
Is the message I type saved or sent anywhere?
No. The calculation runs entirely in your browser. Your last message and settings are remembered only in your own browser's local storage so they are still there when you come back.