DG EMOJIK / Australian English

Emoji in SMS: why do the character limit and number of message parts change?

An emoji can change the encoding of an SMS, so text that previously fit into one part may split into multiple parts. The frequently mentioned 160 and 70 character limits belong to different encodings. Furthermore, for complex emojis, a symbol that appears as one on the screen may occupy multiple counted units.

Full machine translation of the Hungarian original.

Two people are typing on the smartphone they are holding in their hands.
Illustration. · terimakasih0 / Pixabay

This is mainly important for time reminders, notifications, and mass messages. It is difficult to judge from the short sentence visible in the editor how many SMS parts will be sent. Check the final text with the sender service's own counter, including the substituted name, the date, and any unsubscribe text.

What do the numbers 160, 70, 153 and 67 mean?

The standard capacity of a single-part SMS sent with the GSM-7 character set is 160 units. With the Unicode encoding designated as UCS-2 by SMS providers, 70 is the usual limit. In the case of multiple concatenated parts, the data needed for assembly takes up space: therefore, one can generally calculate with 153 and 67 units per part. Twilio also documents exceptions for certain routes. Source: Twilio – How long can a message be?

Usual encoding case Capacity of one part Capacity of one part of a concatenated message
GSM-7 160 units 153 units
Unicode, often marked as UCS-2 by providers 70 units 67 units

The term "unit" here does not always mean one visible character. For example, in the GSM-7 extension set, the { and the ] brackets each occupy two units. The provider's counter is therefore a more accurate guide than manually counted letters. Source: Twilio – GSM-7 character encoding

Also check for Hungarian accents

Do not only watch the emoji. Certain accented letters, typographic quotation marks and other special characters can also cause encoding changes. Therefore, for Hungarian text, re-check the counter even after removing the emoji. The GSM-7 and the simple ASCII character sets are not identical. Source: Twilio – What is UCS-2 Character Encoding?

Try these three short samples one after another in your provider's preview:

  1. Let's meet tomorrow at 14:00.
  2. We will meet tomorrow at 14:00.
  3. We will meet tomorrow at 14:00. 🙂

First only the accent changes, then the emoji is inserted. Watch the encoding and the number of message parts separately: for such short text, the encoding change does not necessarily increase the number of parts yet. The provider's automatic character replacement can also influence the result.

During shortening, preserve the data necessary for the recipient. Omitting the time or the cancellation option can easily render the notification unusable. Rather remove a superfluous introduction or repetition, then read the message back as a standalone text.

A smile can be multiple technical units

On the provider interface, you often see the label "UCS-2". However, strictly speaking, UCS-2 cannot represent every modern emoji. UTF-16 handles characters outside the basic plane with two 16-bit code units; check the support of the specific sending system in its own documentation. Technical background: Twilio – UCS-2 and UTF-16

A simple, easily verifiable example: the 🙂 is one Unicode code point, two code units in UTF-16. The 👩‍💻 consists of three code points, five code units in UTF-16. Both can appear as a single image. These numbers follow from the structure of the sequences; therefore, counting visible images is insufficient for determining the sending size. The article on composite emojis elaborates on the difference in detail.

Check the actual sending method

In a phone conversation, SMS, RCS, and other messaging methods may operate with different rules. Use the table regarding SMS when you are actually sending an SMS. In a business system, check the potential fallback mode from the provider's documentation: what happens if the originally chosen channel is not available?

Check the pricing based on your own package. Multiple parts do not mean the same additional cost in every subscription. Before a live dispatch, a message of actual length sent to your own test recipient and the provider log together provide usable feedback.

Take the essence with you

Three-question knowledge quiz

Try how you would apply what you read. Mark one answer per question; every correct answer is worth one point. The evaluation provides feedback for these three situations; we do not store or send your answers.

1. From the text "See you tomorrow. 🙂", you remove the emoji. What else needs to be checked?
2. The 👩‍💻 appears as a single figure on the screen. What does this imply for the SMS length?
3. You are creating a business reminder with a variable customer name. Which check is useful?

Solutions and explanations
  1. The encoding belonging to the remaining characters and the number of message parts. Other characters may also necessitate different encoding.
  2. It cannot be decided from the visible shape: the encoding units must be measured. A single visible shape can consist of multiple code points and code units.
  3. You examine the complete, substituted text and the number of provider parts. The actual length of the sent version determines how the message fits.

Count your correct answers: each is worth one point. A skipped answer is worth zero points.

  • 3 points: In the three examples, you examined the text actually sent; also check a custom SMS template.
  • 2 points: See which character or substituted data was left out of the count.
  • 0–1 points: Try out the three short SMS samples, and watch the encoding and the number of parts separately.

We have another good read for you

All 20 articles · Looking for an emoji