SMS Character Counter
Count your message’s characters, check its encoding and estimate how many SMS segments it needs.
Your message
Your SMS length
Example inputs- 2
- 167
- 167
- GSM-7
- 153
Encoded length uses GSM-7 units. A multi-unit character stays together where it fits.
Unavailable. Check the message field and choose a supported limit profile.
Characters and SMS Segments
An SMS character counter estimates the number of Short Message Service (SMS) segments needed to send your text. The encoded length decides that count. A character you see can use more than one encoding unit.
The standard setting follows Twilio’s documented capacities. GSM-7, the Global System for Mobile Communications 7-bit alphabet, allows 160 units in one message. Longer messages use 153 units per segment because each part carries a reassembly header.
Most GSM-7 characters use one unit. A caret, braces, square brackets, backslash, tilde, vertical bar, euro sign or form feed uses two. For example, 80 carets use all 160 units of one segment. At 81 carets, the message needs two segments.
The character count groups combined characters as you see them, including joined emoji. It also counts spaces and line breaks. Encoded length counts transmission units, with line breaks entered here treated as a single line-feed character.
The optional toll-free setting changes the concatenated capacities to 152 GSM-7 units or 66 Unicode units. It applies to Twilio toll-free messages sent to the United States or Canada. A blank message has zero segments.
Emoji and Unicode Messages
One character outside GSM-7 changes the entire message to Unicode. Curly quotation marks and many emoji trigger that switch. Twilio calls this encoding UCS-2, or Universal Coded Character Set, two-byte encoding.
The counter measures Unicode text in 16-bit Unicode Transformation Format (UTF-16) units. Many common emoji use two units each. A joined emoji can look like one character while using several units.
The standard Unicode limits are 70 units for one message and 67 per concatenated segment. A message with 152 ordinary letters and one curly apostrophe uses 153 units and needs three segments. Replacing that apostrophe with a straight one restores GSM-7 and one segment.
The counter keeps combined characters together when they fit within a segment. Very long combining sequences can split between their component characters. These estimates apply to the literal text and selected limits, without smart-encoding substitutions.
A provider can rewrite punctuation or links before sending. Its maximum message length and billing rules also apply separately. The counter accepts up to 10,000 UTF-16 units for editing, which does not imply that your provider accepts a message that long.
Checking a Client Reminder
This fictional reminder has 167 characters and uses two GSM-7 segments under the standard setting.
Hi Alex, this is a reminder that we still need your two latest payslips before our appointment tomorrow at 10am. Please upload them to your secure portal. Thanks, Sam.
The shortened version keeps the requested documents, upload destination, appointment time and sender. Its 123 characters fit in one GSM-7 segment.
Hi Alex, please upload your two latest payslips to your secure portal before our appointment tomorrow at 10am. Thanks, Sam.
Paste the complete final reminder into the SMS length calculator. Count any wording or link your sending platform adds, including an opt-out line where required.
Links and Previews
A link’s text counts towards the message length. A phone-generated SMS link preview is separate from the text counted here. This tool does not open links or generate a preview.
Twilio’s link-shortening feature replaces the link in the sent message. Its shortened address uses your domain followed by ten alphanumeric characters. Count the final shortened address if that feature changes your message. Twilio distinguishes device-generated preview events from recipient clicks.