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.
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
| GSM-7 | Unicode (UCS-2) | |
|---|---|---|
| One text | 160 | 70 |
| Each part of a long text | 153 | 67 |
| Bits per character | 7 | 16 |
Worked example
- A 200-character reminder in plain GSM-7 is 2 parts: 153 + 47.
- Add one curly apostrophe and the same text is Unicode: 3 parts of 67 + 67 + 66.
- 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.
| Character | What it is | Where it comes from | Use instead |
|---|---|---|---|
| ’ ‘ | Curly apostrophe and single quotes | Phone keyboards, Word, Google Docs | ' |
| “ ” | Curly double quotes | Phone keyboards, Word, Google Docs | " |
| – — | En dash and em dash | Word processors, two hyphens auto-joined | - |
| … | Ellipsis (one character) | Three dots auto-joined by a keyboard | ... |
| nbsp | Non-breaking space | Text copied from a web page or email | space |
| emoji | Any emoji | The emoji keyboard | None: delete it |
| á í ó ú ç ê | Accented letters outside GSM-7 | Client names, Spanish and Portuguese words | a i o u c e |
| ` | Backtick | Typed 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.
- 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 segmentsHi 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 segmentHi Maria, it's Bella Hair Studio - your color appointment is Thu Nov 19 at 2:30pm. Reply C to confirm or R to reschedule...
- 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 segmentsSee 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 segmentSee you tomorrow at 10am, Jordan! Reply C to confirm or R to reschedule. Reply STOP to opt out. Oak Street Dental
- 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 segmentsHello 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 segmentHi 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
Write the reminder texts
Reminder, confirmation and reschedule texts for your kind of business, already checked to fit one plain segment.
Appointment reminder text generator →Text back every missed call
How the text gets triggered, the consent rules before the first one goes out, and what to write in 160 characters.
Missed call text back guide →Send a short review link
A long Google review URL can fill half a segment. Get the short direct link to your review form instead.
Google review link generator →
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
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.
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.
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
Other tools
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.