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).
Please note that the maximum SMS units that can be joined as 1 outbound message will differ dependent on the channel provider. Messages will be rejected if they are too long
* Webio is not responsible for the content of external sites.