BlogSMS Character Limit: Encoding, Segments and Costs

You write a short customer update, paste it into your texting tool and see that it will use two SMS segments. The message looks shorter than a colleague’s single-segment text. The difference may be one punctuation mark, an emoji or a character outside the GSM alphabet.

The SMS character limit depends on encoding and multipart overhead, not just the number of letters on screen. This guide explains the usual limits, calculates practical examples and provides an estimator for checking a draft before you send it. Actual billing and route-specific limits still need confirmation with your messaging provider.

What Is the SMS Character Limit?

The practical limit is the amount of encoded text that fits in one SMS payload. Common single-segment limits are 160 units for GSM-7 and 70 units for a 16-bit Unicode representation. Those units do not always match visible characters.

Common encoding modelOne segmentEach segment in a longer messageImportant caveat
GSM-7160 septetsUsually 153 septetsExtension-table characters use two septets
16-bit Unicode70 unitsUsually 67 unitsSome visible characters need multiple units

These are common limits, not a promise for every sender and destination. Different headers and provider routes can reduce the available space. A platform can also impose an overall maximum message size that is separate from a single-segment limit.

he underlying message structure is described in ETSI’s SMS technical specification. For ordinary business writing, the useful habit is to check encoding and segment count rather than assuming every text below 160 visible characters will fit.

GSM-7 and Unicode: Why the Same Length Can Cost More

Encoding determines how the text is represented for transmission. A message that uses only supported GSM-7 characters can fit more text in a segment than a message sent using the common 16-bit Unicode model.

GSM-7 is an alphabet, not “English only”: It includes ordinary Latin letters, digits, many punctuation marks and some other characters, including several accented letters. A character such as é does not automatically mean Unicode. Check the actual character set rather than assuming every accent has the same effect.

Some GSM symbols use extra space: Characters such as the euro sign and square brackets are in the extension table and commonly need two septets. A message can remain GSM-7 while using more units than its visible length suggests.

Unsupported characters can change the whole message: A curly apostrophe or an emoji can move a message outside GSM-7. It is not just the unusual character that uses another encoding; the remaining text is represented in that encoding too. This is why a small edit can change the segment count sharply.

Visible characters are not encoding units: An emoji can involve a surrogate pair, and a visible symbol can contain several code points. Counting what looks like one character on screen may therefore understate the space used. The exact handling should be confirmed in the provider’s encoding or segment tool.

The alphabet and its extension tables are defined in ETSI’s alphabet specification. National language tables and particular implementations add further cases, so the standard estimate below deliberately uses the common default-alphabet model.

Why Longer Messages Use 153 or 67 Units Per Segment

Multipart messages need information that lets the receiving system join their parts. This uses some of the available payload, leaving less room for text in each segment.

The reduction applies once the message becomes multipart. A 161-unit GSM-7 message does not use one full 160-unit part plus a one-unit part. Under the common model, the parts have a capacity of 153 units each.

For ordinary characters that each use one unit, 306 GSM-7 units fit in two 153-unit parts, while 307 need three. In the common Unicode model, 134 units fit in two 67-unit parts and 135 need three.

Symbols that use more than one unit can complicate boundaries because an encoded character must remain intact. Treat simple division as a planning estimate, and compare it with the provider’s actual count before a large send.

SMS Segment Estimator

Paste the final draft below to estimate encoding units and segments using the common GSM-7 160/153 and Unicode 70/67 model. This local tool does not send your message or query a billing system.

Enter a message to estimate its segments.

Estimate only. Unicode is counted as UTF-16 units; route overhead, national language tables, provider transformations and actual billing can differ. No text is sent to a server by this estimator.

Worked SMS Character-Limit Examples

These examples use the common segment sizes and simple repeated characters so the calculations are reproducible. They are demonstrations, not provider-specific billing quotes.

Message compositionEstimated encoding unitsSegmentsWhy
160 ordinary GSM-7 letters160 GSM-71Fits the single-segment capacity
161 ordinary GSM-7 letters161 GSM-72Multipart capacity is 153 per part
306 ordinary GSM-7 letters306 GSM-72Two parts of 153
307 ordinary GSM-7 letters307 GSM-73Exceeds two multipart segments
159 ordinary letters plus one euro sign161 GSM-72The euro sign uses two units
70 basic non-GSM Chinese characters70 Unicode units1Fits the common 16-bit single segment
71 basic non-GSM Chinese characters71 Unicode units2Multipart capacity becomes 67 per part
100 ordinary letters plus one curly apostrophe101 Unicode units2The punctuation changes the encoding

Try the examples in the estimator, then change one character. In particular, compare a straight apostrophe with a curly apostrophe. The visible length is almost unchanged, but the encoding classification can differ.

How SMS Segments Affect Business Messaging Costs

Many business SMS services charge by segment rather than by the single conversation bubble the customer sees. Check the provider’s pricing, included-allowance rules and any applicable network fees separately.

A simple planning formula is: estimated SMS usage charge = segments sent × applicable per-segment rate. This does not include every possible subscription, number, registration, tax or network charge. Failed-message charging can also vary.

For an invented rate of 0.01 currency units per segment, 500 single-segment messages cost 5 currency units in base usage. If all 500 become two-segment messages, that base usage becomes 10. The example illustrates multiplication; it is not Calilio’s pricing or a typical market rate.

Personalization can change individual counts. A short name may fit inside one segment while a longer name pushes another recipient’s message into two. Estimate the finished text with realistic long values, including dates, references and links.

Registration and usage are separate budget items. A 10DLC pricing breakdown concerns the registration and messaging fee categories for US local-number business texting; it does not replace checking the exact encoded message.

Check These Characters Before a Large Send

Copying text from a document or marketing tool can introduce characters that are easy to overlook. Inspect the final content after all formatting and personalization have been applied.

Curly quotation marks and apostrophes: Word processors may replace straight punctuation with typographic versions. If the change is unnecessary, ordinary punctuation may preserve GSM-7. Test the final result rather than assuming the tool makes that replacement automatically.

Emoji and decorative symbols: These can change the encoding and use multiple units. Keep them when they serve the message, but understand the effect on length. A decorative icon is not free simply because it occupies little space on screen.

Brackets, braces and the euro sign: These can remain in GSM-7 while using extension-table space. Do not remove useful currency or reference information just to achieve a lower visible count. Estimate the encoded text.

Multilingual text: Write in the language the customer can understand. Some scripts need a Unicode representation, and removing necessary characters can make the message inaccurate. Budget for the correct message instead of forcing every language into a Latin-only form.

Links and appended wording: A full URL, tracking parameters, a business name or required opt-out instruction all occupy space. Check what the sending platform actually adds or changes. A saved draft may differ from the submitted message.

Reduce Segment Count Without Making the Text Worse

Start by removing repetition and unnecessary decoration. Keep the business identity, essential details and instructions the recipient needs to act.

For an appointment message, a concise date, time, location and reply instruction may be enough. For a detailed explanation, provide a short summary and an appropriate trusted route to the full information. Do not use unexplained abbreviations that make the customer guess.

Keep required consent or opt-out information. CTIA’s messaging guidance emphasizes permission and consumer choice; saving a segment is not a reason to remove the program information your message requires.

A link can save text, but avoid unfamiliar shortening domains used only to squeeze in more copy. Use an appropriate business-controlled destination and verify it. A message that is cheaper but looks deceptive can create a larger communication problem.

Where supported, MMS or another channel may suit a particular communication better. Compare recipient access, media support and pricing rather than assuming MMS is always cheaper or exempt from all length constraints. Do not substitute an app-based channel for SMS without considering the customer’s expectations.

Confirm the Actual Segment Count Before Launch

Use the estimator for drafting, then verify the result through the actual platform where the message will be sent. Record the final content and the system’s reported count if available.

Compare the saved template with the message actually submitted. A platform may append a signature, expand a placeholder or transform a link. An optional encoding feature may also replace some punctuation, but you should not assume that setting exists or is enabled. Check the final message record rather than attributing every difference to the recipient’s phone.

For a multilingual campaign, test each language version independently. A translation can change both the alphabet and the length, so the English version is not a reliable segment estimate for the whole campaign. Keep a few realistic long-value examples with the template so another team member can repeat the check after future edits.

  1. Replace placeholders with realistic recipient values.
  2. Include any automatic signature, link or opt-out text.
  3. Check the encoding and estimated segment count.
  4. Confirm sender type and destination-specific behavior.
  5. Send a permission-based test and review the message record.
  6. Compare the usage record with the applicable billing rules.

If your platform does not show encoding or segments, ask support what determines its calculation. Do not assume the maximum length in a text field is a single-segment allowance. A field can accept a long text and still send it as several SMS parts.

Keep a tested version of frequently used messages. Changes to names, language or links can invalidate an earlier estimate, so repeat the check when the template changes. That small review is more useful than relying on a universal “under 160 characters” rule.

Next step

Ready to Get Started?

Count encoded units, test the final personalized text and verify the platform’s reported usage. Preserve clarity and required messaging information even when a shorter version would use fewer segments.

Calilio combines business SMS, scheduled messages and shared conversation history in one cloud phone workspace.

Frequently Asked Questions

These answers clarify the main practical questions about SMS character limit.

Is the SMS character limit always 160?

No. A single segment commonly holds 160 GSM-7 units, while a common Unicode model holds 70 units. Multipart headers and some sender or destination routes reduce the capacity further.

Why does my short text use two segments?

It may contain a character that changes the encoding, or extension characters that use extra space. Inspect the exact final text, including appended wording and personalized values.

Do all accented letters require Unicode?

No. Some accented letters are included in GSM-7. Check the actual alphabet or use an encoding-aware estimator rather than treating every non-ASCII letter the same way.

Does one emoji count as one SMS character?

Not necessarily. A visible emoji can use multiple encoding units or several code points. Its presence can also change the encoding used for the rest of the message.

Does a long text always arrive as separate messages?

Multipart SMS is commonly reassembled into one visible message, but behavior can vary by route, network and device. The visible result does not establish the number of billed segments.

Is this estimator a Calilio billing calculator?

No. It estimates common GSM-7 and Unicode segment sizes locally. Confirm the actual encoded count, route behavior and billing rules with the platform used to send the message.


Summarize this blog with:

Stay in the loop

Get the latest call insights, trends, and updates delivered straight to your inbox.

By subscribing, you agree to receive updates from Calilio.
You can unsubscribe anytime.

Enter the World of AI Business Phone System with Calilio

Improve your business operation with Calilio's advanced virtual phone system. Join today for a better way to connect.

4.6 rating from 125+ reviews, 16+ badges