A single SMS message technically supports up to 160 characters, or up to 70 if the message contains one or more Unicode characters (such as emoji or Chinese characters).
However, modern phones and mobile networks support message concatenation, which enables longer messages to be sent. Messages longer than 160 characters are automatically split into parts (called "segments") and then re-assembled when they are received. Message concatenation allows you to send long SMS messages, but this increases your per-message cost, because SMS are billed per segment.
The 160-character limit is for messages encoded using the GSM-7 character set. Messages not encoded with GSM-7 are limited to 70 characters. For detail on how these character limits change on concatenated (multi-segment) messages, see below.
Signalmash's platform supports long messages up to 1600 characters across all Programmable Messaging channels, including SMS. However, for SMS messaging, Signalmash recommends sending messages that are no more than 320 characters to ensure the best deliverability and user experience. See this article for details.
Signalmash bills SMS for every message segment sent. So, for example, if you need to send a message that is 140 characters long and contains only one non-GSM character, you (or Signalmash Smart Encoding) can avoid the cost of a second message segment by removing that UCS-2 character.
Info
Toll-Free multi-segment SMS messages sent to the US or Canada have a total of 152 characters available per segment for GSM-encoded messages and 66 for UCS-2 messages.
The Short Messaging Service (SMS) is a standardized communication protocol that enables devices to send and receive brief text messages. It was designed to "fit in between" other signalling protocols, which is why SMS message length is limited to 160 7-bit characters, i.e., 1120 bits, or 140 bytes. SMS was first standardized as part of the 1985 GSM protocol codified into the SMPP signalling protocol that transmits SMS.
But things get tricky because GSM-7, the original character set designed for SMS, can only encompass 128 different characters, thanks to that 7-bit limit. So if you want to include characters from extended Latin or non-Latin scripts, you'll need to use UCS-2.
A common mistake is to inadvertently use a UCS-2 character. GSM-7 isn't a supported character set in many text editors, which may replace GSM-7 compatible characters with characters outside of GSM-7. For example, if your text editor changes " to “ — a 'curly' or 'smart' quote mark — you will have a UCS-2 character in your message and that will reduce the character limit from 160 to 70.
We recommend that you check any messages that you plan to send frequently using our Message Segment calculator before you send them. This tool can flag any characters that would force the message to be sent using UCS-2 encoding, so you can decide whether to remove those characters and reduce the cost per message.
You can see whether any Signalmash SMS message sent from your account was encoded as UCS-2 or GSM-7 by viewing the message in your Console logs.
RCS differs from SMS in that it uses UTF-8 character encoding. UTF-8 natively supports Unicode characters like emojis and non-English characters that would ordinarily result in higher segment counts when sent over SMS using UCS-2 encoding. RCS messages up to 1600 characters in length are delivered to the handset as one message.
The RCS ecosystem as defined by carriers, supports two region-specific billing models. Text-only RCS messages, delivered to US recipients, are billed per 160 UTF-8 chatacter segment similar to SMS. Text-only RCS messages, delivered to international recipients, are not billed per segment. They are billed a per message fee.
A single SMS holds 160 characters if every character is in the GSM-7 alphabet, or 70 characters if the message contains even one character outside it (an emoji, a curly quote, an em dash, most accented letters). Longer messages are still delivered: the network splits them into segments of 153 GSM-7 or 67 UCS-2 characters and the handset stitches them back together, but every segment is billed as a separate message. MMS carries about 1,600 characters plus media, and RCS text messages allow up to 3,072 characters. The number that matters for your bill is segments, not characters.
GSM-7 is a 7-bit alphabet of 128 basic characters plus a small extension table. Anything not in it forces the whole message into 16-bit UCS-2 encoding, which more than halves the room in every segment. The usual culprits are not exotic: they are the characters word processors and phones insert automatically.
A 145-character appointment reminder written in plain GSM-7 characters with straight quotes. Cost at Signalmash's Launch rate: $0.0039.
The same 145-character reminder with one emoji at the end. The emoji switches the message to UCS-2 (67 per segment), so 145 characters become three segments: $0.0117, three times the price for one smiley.
What that emoji costs a programme sending 50,000 reminders a month: 100,000 extra segments at $0.0039. Paste any draft into the SMS character counter and it names the exact character that tipped the encoding.
160 characters for a message that uses only GSM-7 characters, 70 characters if it contains any Unicode character such as an emoji. Longer messages are split into segments of 153 or 67 characters, delivered in pieces and reassembled on the phone, with each segment billed separately.
Nothing is cut off. The sending network adds a small header to each part so the receiving handset can put the segments back in order, and modern phones display the result as one message. You pay for every segment, and a handful of very old feature phones still show the parts separately, which is why concise messages remain best practice.
Yes, twice over. One emoji forces the entire message into UCS-2 encoding, cutting the per-segment limit from 160 to 70 (153 to 67 when split), and most emoji are two UTF-16 code units, so each one also uses 2 of those 70. A 100-character message with a single emoji is two segments; without it, one.
MMS is not segmented like SMS. Most US carriers and APIs accept around 1,600 characters of text alongside images, GIFs, audio or short video, with total message size capped somewhere between 1 MB and 5 MB depending on the carrier. MMS is billed per message, which at high character counts can be cheaper than a five-segment SMS.
The phone does not impose the limit; the channel does. iMessage (blue bubbles) and RCS chats (Android and iOS 18 onwards) allow thousands of characters and count emoji as single characters. When the message falls back to SMS, the 160 / 70 rules apply and the phone silently splits it. Some Android keyboards show a counter such as 140/1 to indicate characters remaining and segment number.
Every character in the body counts, including URLs and the compliance footer. A full-length tracking link can be 60 to 90 characters and mandatory opt-out language such as "Reply STOP to opt out" is 21, so a 100-character offer easily becomes two segments. Use a short branded link (20 to 25 characters), keep the opt-out phrase to the required minimum, and check the segment count before sending.
Our free SMS character counter shows the character count, whether the message is GSM-7 or Unicode, and how many segments you will actually be billed for — and names the exact character that pushed it over. Nothing leaves your browser.
Building this into an application instead? The Signalmash SMS API sends a message in one authenticated POST, and sending in bulk covers throughput and segment cost at volume.