Skip to content

Free Tool

SMS Segment Calculator

Paste or type any message to instantly see GSM-7 or UCS-2 encoding, segment count, and remaining character capacity. Extension characters cost 2 septets. Emoji are counted correctly.

No email required Live detection GSM-7 & UCS-2

Your message

Results update live on every keystroke. No data is sent to any server.

For a full explanation of encoding rules, segment limits, and carrier behavior, read SMS character limits, encoding, and segments: the complete guide.

GSM-7 Standard Latin encoding
Segments
0
0 of 160 septets used
0
septets used
160
remaining this segment
160
per-segment capacity
0
characters entered

FAQ

Common questions about SMS encoding

What is an SMS segment?

An SMS segment is the billing unit for text messages. A single SMS is 160 characters in GSM-7 encoding (the standard Latin character set used by most business messages). If a message exceeds 160 characters, it is split into multiple segments, each carrying a maximum of 153 characters — the remaining capacity after a 7-byte header that tells the receiving device how to reassemble the parts. Carriers bill per segment, so a 165-character message costs twice as much to send as a 158-character one.

What is GSM-7 encoding?

GSM-7 is the default encoding for SMS, defined in the 3GPP TS 23.038 standard. It encodes each character in 7 bits, allowing 160 characters per single-segment message. It covers the standard Latin alphabet, digits, common punctuation, and a small set of accented characters used in Western European languages. There is also an extension table of 10 special characters — {, }, [, ], \, |, ^, ~, €, and a form-feed character — each of which costs 2 septets (an escape code plus the character). If a message contains only GSM-7 basic and extension characters, it stays in GSM-7 encoding.

What triggers UCS-2 encoding?

Any character outside the GSM-7 basic or extension set forces the entire message into UCS-2 encoding — there is no mixed-encoding mode. Common triggers include: curly quotation marks (“ ” ‘ ’), em dashes (—), accented characters outside the GSM-7 set (ñ is in GSM-7; ü is in GSM-7; but ā, ō, and ū are not), Chinese, Japanese, Korean, Arabic, Hebrew, or any other non-Latin script, and most emoji. Once a single UCS-2 character appears, all characters in the message are encoded as UCS-2, which reduces the per-segment capacity from 160 to 70 characters (67 for concatenated segments).

How are emoji counted?

Emoji are UCS-2 characters. Most emoji are single UCS-2 code units (1 character = 1 unit toward the 70-unit limit). Some emoji, particularly those outside the Basic Multilingual Plane (code points above U+FFFF), require 2 UCS-2 code units — these are called surrogate pairs. This calculator correctly counts those emoji as 2 units. Using any emoji triggers UCS-2 encoding for the entire message, reducing capacity from 160 to 70 per segment.

Do extension characters change my segment count?

Yes. Extension table characters (the 10 special characters: {, }, [, ], \, |, ^, ~, €, and form feed) each cost 2 septets instead of 1. A message with 8 extension characters uses 8 extra septets, which can push it from 1 segment to 2. This calculator tracks extension character count and adds the extra septet cost automatically. The message stays in GSM-7 encoding (green badge) as long as no non-GSM-7 characters are present.

Why does my platform show a different segment count?

Segment counts can differ based on platform-specific handling of: (1) whitespace — trailing spaces, newlines, or carriage returns may be stripped before encoding; (2) Unicode normalization — some platforms normalize composed characters (ñ as a single code point vs. n + combining tilde); (3) smart quote conversion — some platforms auto-convert curly quotes to straight quotes before encoding, keeping the message in GSM-7; (4) National Language Shift Tables — some platforms apply GSM-7 language-specific extensions for languages like Turkish or Arabic that extend the basic character set. This calculator applies the standard GSM-7 basic + extension table without smart-quote conversion or NLST support.

More Free Tools

Other EaseDial calculators

Free tool

AHT Calculator

Calculate average handle time from total talk time, hold time, after-call work, and interactions handled.

Open calculator →
Free tool

Call Abandonment Rate Calculator

Calculate abandonment rate from offered and abandoned calls with optional short-abandon exclusion.

Open calculator →
Free tool

On-Hold Cost Calculator

Quantify the true cost of hold time — agent wages, abandoned calls, and lost revenue.

Open calculator →
Get Started

Business SMS with live segment feedback

EaseDial's messaging platform shows segment count before you send — so you control costs and stay within carrier limits.