Skip to content
LLDTEK
← All tools

SMS Character & Segment Counter

Paste a text message to see its characters, segments and encoding, find the exact characters that push it into Unicode, and fix them in one click before you send it to every client.

Last updated November 12, 2026 · Free · Nothing stored

Start from an example

Starting points to edit. Each one fits a single plain segment with long names filled in.

1Your text
Unicode (UCS-2)134 characters2 segments0 left in part 2

2 different characters switch this text to Unicode, so each segment holds 70 characters instead of 160.

  • Curly apostrophebecomes '
  • Em dashbecomes -

How it splits

Forces Unicode

1Hi {first_name}, it’s {business}! Your appointment is {date} at {ti2me} — reply C to confirm or R to reschedule. Reply STOP to opt out.

2Merge fields

Set the longest value you expect for each field. The count with these filled in is what your longest client receives.

chars
chars
chars
chars
3Monthly cost

Reminders, confirmations and replies together.

$

Placeholder rate. Enter what your texting provider charges per outbound segment.

Segments per text

2

Unicode (UCS-2)
134 of 2 × 67 UTF-16 units

Up to 3 segments once the merge fields are filled at the lengths you set.

Parts on the wire

  • Part 167 / 67
  • Part 267 / 67

Each part gives 6 bytes to a header that tells the phone how to rejoin them, so a part holds 67, not 70.

Characters
134
One unit each
Left in part 2
0
Before part 3 starts
One text holds
70
Unicode characters
Each part of a long text
67
Plain GSM-7 would be 153

Monthly cost

$15.00

500 texts × 3 segments (fields filled) × $0.01 = $15.00 a month, $180.00 a year

Plain characters would save $10.00 a month ($120.00 a year).

The $ rate is a placeholder until you enter your own. Some providers also add carrier fees per segment.

Cleaned text swaps curly quotes, dashes and odd spaces for plain ones. Emoji stay. What you type stays in your browser.

How many characters fit in one SMS?

One SMS holds 160 characters when every character is in the GSM-7 alphabet, or 70 when even one is not, such as a curly apostrophe or an emoji. Longer texts are split into parts of 153 or 67, because each part carries a header that rejoins them. A 200-character reminder is 2 segments in GSM-7, but 3 if one curly apostrophe turns it into Unicode.

The 160 and 70 character limits are set by 3GPP TS 23.038, the standard for SMS alphabets, which also defines the extension characters that count as two. The 153 and 67 per-part limits, and the rule that an escape sequence or UCS-2 character is never split between parts, are in 3GPP TS 23.040, section 9.2.3.24.1. Twilio's SMS character limit guide notes 152 and 66 per part for multi-part toll-free texts to the US and Canada.

How long can a text message be?

One SMS carries 140 bytes. If every character is in the GSM 7-bit alphabet, that is 160 characters; if even one is not, the whole text is sent as UCS-2 at 16 bits a character, and 140 bytes hold 70. Both limits are set in 3GPP TS 23.038, the standard for SMS alphabets.

A longer text is sent as several SMS, called segments or parts, and the phone joins them back together. To do that, each part starts with a 6-byte header saying which message it belongs to and where it goes. That header costs 7 GSM-7 characters or 3 UCS-2 characters, so each part of a long text holds 153 or 67. The rules for joining parts are in 3GPP TS 23.040 (section 9.2.3.24.1), which also says a character must never be split between two parts. Texting is often billed by the segment, so each part can cost the same as a whole text.

Some routes trim a little more. Twilio’s SMS character limit guide notes that multi-part texts from toll-free numbers to the US or Canada carry 152 GSM-7 or 66 UCS-2 characters per part. If you send from a toll-free number, leave yourself one character of room per part.

The limits

SMS character limits for GSM-7 and UCS-2
GSM-7Unicode (UCS-2)
One text16070
Each part of a long text15367
Bits per character716

Worked example

  1. A 200-character reminder in plain GSM-7 is 2 parts: 153 + 47.
  2. Add one curly apostrophe and the same text is Unicode: 3 parts of 67 + 67 + 66.
  3. One character took the bill from 2 segments to 3.

GSM-7 vs Unicode (UCS-2)

GSM-7 is the 128-character alphabet every phone supports: English letters, digits, common punctuation, and some accented letters such as é, è, à, ñ, ü and ö. It packs each character into 7 bits, which is how 160 fit into 140 bytes. Nine symbols, ^ { } \ [ ~ ] | and €, sit in an extension table and are sent as an escape code plus the character, so each counts as two.

UCS-2 covers almost every script and symbol, at 2 bytes a character. Most emoji sit outside the range UCS-2 was designed for, so phones send them as a pair of 2-byte units: one emoji costs two of the 70. The switch is all or nothing. One character outside GSM-7 sends the entire text as UCS-2, not just that character.

Characters that switch a text to Unicode

Most Unicode texts from small businesses are accidents: punctuation a keyboard or word processor changed, or a space copied from a web page. These are the usual culprits and what to use instead. The counter above marks each one in your text.

Characters that force an SMS into Unicode, and plain replacements
CharacterWhat it isWhere it comes fromUse instead
’ ‘Curly apostrophe and single quotesPhone keyboards, Word, Google Docs'
“ ”Curly double quotesPhone keyboards, Word, Google Docs"
– —En dash and em dashWord processors, two hyphens auto-joined-
…Ellipsis (one character)Three dots auto-joined by a keyboard...
nbspNon-breaking spaceText copied from a web page or emailspace
emojiAny emojiThe emoji keyboardNone: delete it
á í ó ú ç êAccented letters outside GSM-7Client names, Spanish and Portuguese wordsa i o u c e
`BacktickTyped by mistake for an apostrophe'

Plain characters that still count as two

These are in GSM-7, so they do not force Unicode, but each takes two of the 160. That matters for merge fields written in braces or brackets: {first_name} counts 14 as typed, even though the real name replaces it.

  • { }
  • [ ]
  • ~
  • ^
  • \
  • |
  • €

How to keep reminders to one segment

On per-segment pricing, a reminder that fits one segment costs half as much as one that spills into two. Three habits do most of the work.

  1. 01

    Straighten the punctuation

    One curly apostrophe turns 160 into 70. Type the text in the counter, or paste it and use the fix, before you save it as a template.

    BeforeUnicode · 121 units · 2 segments

    Hi Maria, it’s Bella Hair Studio — your color appointment is Thu Nov 19 at 2:30pm. Reply C to confirm or R to reschedule…

    AfterGSM-7 · 123 chars · 1 segment

    Hi Maria, it's Bella Hair Studio - your color appointment is Thu Nov 19 at 2:30pm. Reply C to confirm or R to reschedule...

  2. 02

    Leave the emoji out

    An emoji has no plain version, so it forces Unicode on its own and takes two units. A reminder does not need one.

    BeforeUnicode · 116 units · 2 segments

    See you tomorrow at 10am, Jordan! 😊 Reply C to confirm or R to reschedule. Reply STOP to opt out. Oak Street Dental

    AfterGSM-7 · 113 chars · 1 segment

    See you tomorrow at 10am, Jordan! Reply C to confirm or R to reschedule. Reply STOP to opt out. Oak Street Dental

  3. 03

    Cut the filler, keep the facts

    Who it is, when, and one reply. “Just a friendly reminder that you have an appointment scheduled with us” is 71 characters that say “Reminder”.

    BeforeGSM-7 · 238 chars · 2 segments

    Hello Maria! This is just a friendly reminder from Bella Hair Studio that you have an appointment scheduled with us on Thursday, November 19 at 2:30 PM. Please reply C to confirm your appointment or R if you need to reschedule. Thank you!

    AfterGSM-7 · 114 chars · 1 segment

    Hi Maria, Bella Hair Studio here. Your appointment is Thu Nov 19 at 2:30pm. Reply C to confirm or R to reschedule.

  • Count with real names. Set each merge field to your longest client, staff and business name. A short placeholder can hide a second segment.
  • Use one-letter replies. “Reply C to confirm or R to reschedule” is shorter than a sentence and easier to handle.
  • Shorten dates. “Thu Nov 19 at 2:30pm” says the same as “Thursday, November 19 at 2:30 PM” in fewer characters.
  • Use a short link. A full booking or review URL can take 60 characters or more. Use the shortest link your system gives you.

Texts worth getting down to one segment

Reminders and text-backs only help if the phone gets answered when the client calls back. An AI receptionist can pick up those calls and book them, including after hours.

The counter follows the default GSM-7 alphabet and UCS-2 as set out in 3GPP TS 23.038 and TS 23.040. Some providers swap look-alike characters for you before sending, and some languages can use national shift tables that change the count; if your provider reports a different number, its count is the one you are billed on.

How to count SMS characters and segments

  1. 01

    Paste or write the text

    Paste the text from your booking or texting tool, or start from an example. The counter shows characters, encoding, segments and how many characters are left in the current part as you type.

  2. 02

    Fix what forces Unicode

    Characters outside GSM-7, such as curly quotes, dashes, ellipses and emoji, are marked in the text. Replace them with plain characters in one click and see how many segments that saves.

  3. 03

    Check the worst case and the cost

    Set the longest real value for each merge field like {first_name}, then enter texts per month and your provider's price per segment to see the monthly cost. Copy the text or the cleaned text.

Common questions

How many characters are in one SMS segment?

160 characters if every character is in the GSM-7 alphabet, or 70 in Unicode (UCS-2). When a text is longer than that, it is sent in parts of 153 GSM-7 or 67 UCS-2 characters, because each part gives up room for a header that tells the phone how to join them. Both sets of limits come from the 3GPP SMS standards, TS 23.038 and TS 23.040.

Why is my text message counted as more segments than I expected?

Usually one character has switched it to Unicode. A curly apostrophe, an em dash, an ellipsis typed as one character, a non-breaking space or an emoji is not in GSM-7, and one of them sends the whole text as UCS-2. A 200-character text goes from 2 segments to 3. The counter marks the character so you can replace it.

Do emojis use more characters in a text?

Yes, twice over. An emoji is not in GSM-7, so it switches the whole text to Unicode, cutting the limit from 160 to 70. Most emoji then take two of those 70 units, so a single text holds only 35 emoji.

Which characters count as two in a text message?

The GSM-7 extension characters: ^ { } \ [ ~ ] | and the euro sign. They are sent as an escape code plus the character, so each uses two of the 160. They do not switch the text to Unicode. A merge field typed as {first_name} therefore counts 14 as typed, though the real name replaces it.

Are accented letters like é or ñ sent as Unicode?

Some are, some are not. GSM-7 includes é, è, É, à, ù, ì, ò, ñ, Ñ, ä, ö, ü, Ä, Ö, Ü, Ç, å, Å, ø, Ø and ß. Letters such as á, í, ó, ú, ç, ê and ã are not, so a client name like Sofía switches the text to Unicode. The fix button swaps them for the plain letter.

Do spaces and line breaks count toward the SMS limit?

Yes. Every space and every line break counts as one GSM-7 character. A blank line between sentences costs two. A non-breaking space, often copied in from a web page or email, is worse: it is not in GSM-7, so it switches the whole text to Unicode.

What is the longest text message you can send?

The standard allows a long text to be split into up to 255 parts, which is 39,015 GSM-7 characters. In practice, providers and phones set much lower limits, and every part is usually billed, so keep business texts to one segment where you can.

How much does each SMS segment cost?

It depends on your texting provider, and many charge per segment rather than per text. Enter your provider's rate in the counter. As arithmetic only: at a placeholder 1 cent a segment, 500 reminders a month cost $5.00 at one segment and $10.00 at two.

Related

See it against your book

Short texts get read. Answered calls get booked.

On a 30-minute demo we show the front-desk agent answering calls and booking against the calendar you already use, with the conversation moving to text when a caller would rather type, and tell you plainly if your volume is too low for it to be worth paying for.