SMS Length - Message Parts

SMS Length - Message Parts

Quick Trick: A single SMS contains up to 160 standard characters, or 70 characters if any are non-standard.  Once you go over then each part of a multi-part message can contain up to 153 (GSM-7) or 67 (USC-2).

When you send an SMS the network splits this into parts.  With modern handsets these parts are stitched together creating the impression of one continuous message.  Technically however these are multiple individual SMS that are sent through the network.

Why does this matter?


In a simple word, cost.  You will be charged per SMS you send.  If one of your messages actually contains lots of characters, you could multiply your cost by 2, 3 or more.

What fits into an SMS?


SMS length is determined by the amount of bytes contained within your message.  A single SMS contains a maximum of 140 bytes.  Webio charges per SMS, so that's 140 bytes, which works out to be either 160 characters from the standard GSM 7 table below, or 70 characters if you use a non-GSM-7 character within your message.  If you use more than 140 bytes the SMS will be charged per message part.

Learning your ABCs


For those that are interested, the GSM 7 alphabet is below.  These are the characters that will allow you to send up to 160 characters in your first SMS, if you go over 160, it will switch to 153 per SMS.

GSM 7 bit default alphabet and extension table

3GPP TS 23.038 / GSM 03.38

 
x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
xA
xB
xC
xD
xE
xF
0x
@
£
$
¥
è
é
ù
ì
ò
Ç
LF
Ø
ø
CR
Å
å
1x
Δ
_
Φ
Γ
Λ
Ω
Π
Ψ
Σ
Θ
Ξ
ESC
Æ
æ
ß
É
2x
SP
!

#
¤
%
&

(
)
*
+
,

.
/
3x
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
4x
¡
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
5x
P
Q
R
S
T
U
V
W
X
Y
Z
Ä
Ö
Ñ
Ü
§
6x
¿
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
7x
p
q
r
s
t
u
v
w
x
y
z
ä
ö
ñ
ü
à
1B 0x
 
 
 
 
 
 
 
 
 
 
FF
 
 
 
 
 
1B 1x
 
 
 
 
^
 
 
 
 
 
 
 
 
 
 
 
1B 2x
 
 
 
 
 
 
 
 
{
}
 
 
 
 
 
\
1B 3x
 
 
 
 
 
 
 
 
 
 
 
 
[
~
]
 
1B 4x
|
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1B 5x
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1B 6x
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
1B 7x
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GSM Encoding

Historically, SMS API claimed support for 160 ASCII Characters. This turned out to be oversimplified in two ways: the size limitation is actually more complicated, and ASCII is not the encoding of interest. What can actually fit into a single SMS (at least for GSM networks) is limited to 140 bytes.

The 160 maximum actually comes from the fact that you can encode 160 7-bit characters into 140 bytes. But even if all your characters are in ASCII, you're not guaranteed to fit in 160 characters. This is because the character encoding used in SMS is not ASCII, but GSM 03.38. Consequently, certain characters in GSM 03.38 require an escape character. This means they take 2 characters (14 bits) to encode. These characters include: |, ^, {, }, €, [, ~, ] and \.

UCS-2 Encoding

If you send your SMS message using UCS-2 encoding, the number of characters per message is reduced to 70 characters. Some characters and symbols are not supported using the standard GSM character set, which causes your SMS message to automatically convert to UCS-2. The most common causes are curly “ and ” style apostrophes and accented é letters that are included when copying text from a Microsoft Word document into a SMS message, or use of foreign language characters and Emojis. (😃, 😎, J).

Tip: To prevent MS Word from giving you non GSM characters, make sure your Replace as You Type settings have the replace straight quotation marks un-ticked.

Multipart SMS Messages

When the message length exceeds 160 characters in case of 7bit encoding (or 70 characters for UCS-2 encoding), the message is split up to multiple separate SMS and sent to the handset separately as well.

To be able to concatenate the messages on the phone, special header (UDH) is set for each message, which states the order and message each part belongs to. Due to this special UDH, the length of each combined 7-bit message is shortened to 153 characters (67 characters for UCS-2).

Length Calculator – Choose auto to detect which type of characters are included - http://chadselph.github.io/smssplit/ *

Further information on encoding - https://en.wikipedia.org/wiki/GSM_03.38


* Webio is not responsible for the content of external sites.

    • Related Articles

    • Sending a message

      Quick Tip: Click into the conversation you want to reply to, type your message and click Send or hit enter. You are able to reply to a conversation by clicking into the conversation screen.  You can scroll through the queues you have access to and ...
    • Message User Stamp

      Quick Trick: Within conversation screen view the username against each outbound message sent. Managing customers conversations just became a lot easier. Within the conversation history you can now see which user sent each message and who is currently ...
    • Voice Messages - WhatsApp

      Webio now supports inbound Voice Messages within your WhatsApp conversations.  Customers can now send you voice messages, these will be displayed in your conversation screen and can be played directly from within the conversation or downloaded. 1) ...
    • Webio Reporting

      Webio provides you with a selection of exports and MI reports to allow you to audit and understand your conversations.   Quick Trick - To access Reports, log in, click reports and then select the report you wish to run. Below you can see details of ...
    • Setting up your channel ids

      Before creating a bot you need to set up the channelid that the bot will be sent from.   This will be dictated by the channel you want to create your bot for.   For messenger this will be your page name, for SMS you can choose either a longcode ...