Character sets for sending bulk SMS text messages

When sending SMS text messages there four relevant character sets/encoding to consider when using our APIs or web service: ASCII, GSM 03.38, Unicode, and HTTP Encoding.

ASCII
This is the American Standard Code for Information Interchange.
GSM 03.38
The GSM character set extends the ASCII character set to include characters from many European languages, for example, characters such as Σ, Ç and Æ. Connection Software fully supports sending SMS text messages using the GSM character set. When using the GSM character set messages are limited to 160 characters per SMS. All our APIs support the sending of longer messages, which we send to the phone as multiple concatenated SMS messages.
Unicode
The Unicode standard enables you to send SMS text messages using an characters from any written language. Connection Software fully supports sending SMS text messages using the Unicode character set, however messages are limited to 70 characters per SMS. All our APIs support the sending of longer messages, which we send to the phone as multiple concatenated SMS messages.
HTTP Encoding
Characters such as [Space] and [Carriage Return] must be HTTP encoded when you pass them to our servers using our HTTP to SMS API.

It's easy to send messages from your own application

Create an account to test your code

ASCII Character Set

ASCII is the American Standard Code for Information Interchange.

Decimal Hex Char
3220[Space]
3321!
3422"
3523#
3624$
3725%
3826&
3927'
4028(
4129)
422A*
432B+
442C,
452D-
462E.
472F/
Decimal Hex Char
48300
49311
50322
51333
52344
53355
54366
55377
56388
57399
583A:
593B;
603C<
613D=
623E>
633F?
Decimal Hex Char
6440@
6541A
6642B
6743C
6844D
6945E
7046F
7147G
7248H
7349I
744AJ
754BK
764CL
774DM
784EN
794FO
Decimal Hex Char
8050P
8151Q
8252R
8353S
8454T
8555U
8656V
8757W
8858X
8959Y
905AZ
915B[
925C\
935D]
945E^
955F_
Decimal Hex Char
9660`
9761a
9862b
9963c
10064d
10165e
10266f
10367g
10468h
10569i
1066Aj
1076Bk
1086Cl
1096Dm
1106En
1116Fo
Decimal Hex Char
11270p
11371q
11472r
11573s
11674t
11775u
11876v
11977w
12078x
12179y
1227Az
1237B{
1247C|
1257D}
1267E~
1277F[Del]

GSM 03.38 Character Set

The GSM character set extends the ASCII character set to include characters from many European languages.

Decimal Hex Char
000@
101£
202$
303¥
404è
505é
606ù
707ì
808ò
909Ç
100A[Line feed]
110BØ
120Cø
130D[Carriage return]
140EÅ
150Få
Decimal Hex Char
1610Δ
1711_
1812Φ
1913Γ
2014Λ
2115Ω
2216Π
2317Ψ
2418Σ
2519Θ
261AΞ
271B[Escape]
281CÆ
291Dæ
301Eß
311FÉ
Decimal Hex Char
3220[Space]
3321!
3422"
3523#
3624¤
3725%
3826&
3927'
4028(
4129)
422A*
432B+
442C,
452D-
462E.
472F/
Decimal Hex Char
48300
49311
50322
51333
52344
53355
54366
55377
56388
57399
583A:
593B;
603C<
613D=
623E>
633F?
Decimal Hex Char
6440¡
6541A
6642B
6743C
6844D
6945E
7046F
7147G
7248H
7349I
744AJ
754BK
764CL
774DM
784EN
794FO
Decimal Hex Char
8050P
8151Q
8252R
8353S
8454T
8555U
8656V
8757W
8858X
8959Y
905AZ
915BÄ
925CÖ
935DÑ
945EÜ
955F§
Decimal Hex Char
9660¿
9761a
9862b
9963c
10064d
10165e
10266f
10367g
10468h
10569i
1066Aj
1076Bk
1086Cl
1096Dm
1106En
1116Fo
Decimal Hex Char
11270p
11371q
11472r
11573s
11674t
11775u
11876v
11977w
12078x
12179y
1227Az
1237Bä
1247Cö
1257Dñ
1267Eü
1277Fà

Some additional characters can be sent using the [Escape] code in the above table plus an additional character

You want to send ASCII Send the following
Decimal Hex Char Decimal Hex Char
27 1011B 65[Escape] e
100C[Form feed] 27 101B 0A[Escape] [Line feed]
915B[ 27 601B 3C[Escape] <
925C\ 27 471B 2F[Escape] /
935D] 27 621B 3E[Escape] >
945E^ 27 201B 14[Escape] ^
1237B{ 27 401B 28[Escape] (
1247C| 27 641B 40[Escape] @
1257D} 27 411B 29[Escape] )
1267E~ 27 611B 3D[Escape] =

Unicode Standard

Connection Software fully supports sending SMS text messages using the Unicode character set (limited to 70 characters per SMS). All our APIs support the sending of longer messages, which we send to the phone as multiple concatenated SMS messages. Please refer to documentation from The Unicode Consortium and the Unicode FAQ for more details about Unicode. All our APIs support the UTF-8 encoding for Unicode messages, except SMPP which supports UCS-2 encoding.

Why are Unicode messages limited to 70 characters?

A GSM SMS can contain a message payload of up to 140 octets (8-bit bytes). The GSM Default Alphabet is a 7-bit alphabet, so it’s possible to pack up to (140*8)/7 = 160 characters in a single SMS. Unicode messages are encoded using UCS-2 which requires 2 octets per character, so it is only possible to pack up to 140/2 = 70 characters into a single SMS.

HTTP Encoding

When you submit messages to our servers though our HTTP to SMS API you must use HTTP encoding for the characters shown in the table below.

CharacterDescriptionEncode as
[Carriage Return]carriage return%0D
[Line feed]line feed%0A
[Space]space%20
"quotation mark%22
#hash%23
%percent%25
&ampersand%26
,comma%2C
.period%2E
/forward slash%2F
;colon%3A
:semi-colon%3B
<less than%3C
=equal%3D
CharacterDescriptionEncode as
>greater than%3E
?question mark%3F
¡inverted exclamation mark%A1
£pound%A3
¤currency sign%A4
¥yen%A5
§paragraph sign%A7
Äcapital A with diaeresis%C4
Åcapital A with ring%C5
àsmall a grave%E0
äsmall a with diaeresis%E4
åsmall a with ring%E5
Æcapital diphthong AE%C6
Çcapital C cedilla%C7
CharacterDescriptionEncode as
Écapital E acute%C9
èsmall e grave%E8
ésmall e acute%E9
ìsmall i grave%EC
Ñcapital N with tilde%D1
ñsmall n with tilde%F1
òsmall o grave%F2
ösmall o with diaeresis%F6
Øcapital O with storke%D8
Öcapital O with diaeresis%D6
Ücapital U with diaeresis%DC
ùsmall u grave%F9
üsmall u with diaeresis%FC
ßsmall s sharp%DF

It's easy to send messages from your own application

Create an account to test your code