> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 10, 2026

# Smart character encoding

SMS messages typically support up to 160 characters. But some characters change the encoding scheme, and would otherwise drop your message to 70 characters. To prevent this sort of issue, we automatically replace certain characters with their GSM 7-bit unicode equivalents to maximize the number of characters in your message.

## How it works

By default, SMS messages use the [GSM 7-bit character set](https://en.wikipedia.org/wiki/GSM_03.38), which supports up to 160 characters. Going over the character limit will cause your message to split into multiple messages—which may not be a great experience for your customers and each message (called a *segment* or a *credit* depending on your plan) is counted towards your bill!

While the default character set covers roughly 128 common symbols, it doesn’t cover all languages or symbols you might use in text messages. When you use a character outside the GSM 7-bit set, text messages switch to 16-bit UCS-2 encoding. The increased bit depth means that you can only send 70 characters in your message.

To prevent this problem, we automatically replace certain characters with their GSM 7-bit equivalents to maximize the number of characters in your messages—so you don’t have to worry about complicated encoding schemes and message length limits.

This is all a fancy way of saying that **we encode messages to support 160 characters whenever possible**.

## Some symbols still consume more than one character

You’ll notice that, while we replace many characters with their GSM 7-bit equivalents, some symbols still consume more than 1 character after we replace them.

For example, we replace the trademark symbol `™` with `(TM)`, which takes up 4 characters in your message. This just happens to be the most efficient way to represent the symbol in a 160 character message.

## Emojis limit messages to 70 characters

Emojis are a special case. They’re not part of the GSM 7-bit character set, and we can’t replace them with their GSM 7-bit equivalents—like we do with other unicode characters.

So, when you use emojis, you’re limited to 70 characters in your message. Each emoji is counted as 2 of the 70 available characters.

## Smart encoding character replacements

By default, we replace the following characters with their GSM 7-bit equivalents:

UNICODE

ORIGINAL

REPLACEMENT

‘\`’

\`

'

‘\\u00a2’

¢

cents

‘\\u00a8’

¨

"

‘\\u00a9’

©

(C)

‘\\u00aa’

ª

a

‘\\u00ab’

«

«

‘\\u00ac’

¬

NOT

‘\\u00ad’

\-

‘\\u00ae’

®

(R)

‘\\u00af’

¯

\-

‘\\u00b0’

°

deg

‘\\u00b1’

±

+/-

‘\\u00b2’

²

^2

‘\\u00b3’

³

^3

‘\\u00b4’

´

'

‘\\u00b5’

µ

u

‘\\u00b6’

¶

P

‘\\u00b7’

·

.

‘\\u00b8’

¸

,

‘\\u00ba’

º

o

‘\\u00bb’

»

»

‘\\u00bc’

¼

1/4

‘\\u00bd’

½

1/2

‘\\u00be’

¾

3/4

‘\\u00c0’

À

A

‘\\u00c1’

Á

A

‘\\u00c2’

Â

A

‘\\u00c3’

Ã

A

‘\\u00c8’

È

E

‘\\u00ca’

Ê

E

‘\\u00cb’

Ë

E

‘\\u00cc’

Ì

I

‘\\u00cd’

Í

I

‘\\u00ce’

Î

I

‘\\u00cf’

Ï

I

‘\\u00d0’

Ð

D

‘\\u00d2’

Ò

O

‘\\u00d3’

Ó

O

‘\\u00d4’

Ô

O

‘\\u00d5’

Õ

O

‘\\u00d7’

×

x

‘\\u00d9’

Ù

U

‘\\u00da’

Ú

U

‘\\u00db’

Û

U

‘\\u00dd’

Ý

Y

‘\\u00de’

Þ

TH

‘\\u00e1’

á

a

‘\\u00e2’

â

a

‘\\u00e3’

ã

a

‘\\u00e7’

ç

c

‘\\u00ea’

ê

e

‘\\u00eb’

ë

e

‘\\u00ed’

í

i

‘\\u00ee’

î

i

‘\\u00ef’

ï

i

‘\\u00f0’

ð

d

‘\\u00f3’

ó

o

‘\\u00f4’

ô

o

‘\\u00f5’

õ

o

‘\\u00f7’

÷

/

‘\\u00fa’

ú

u

‘\\u00fb’

û

u

‘\\u00fd’

ý

y

‘\\u00fe’

þ

th

‘\\u00ff’

ÿ

y

‘\\u01c3’

ǃ

!

‘\\u0262’

ɢ

G

‘\\u026a’

ɪ

I

‘\\u0274’

ɴ

N

‘\\u0280’

ʀ

R

‘\\u028f’

ʏ

Y

‘\\u0299’

ʙ

B

‘\\u029c’

ʜ

H

‘\\u029f’

ʟ

L

‘\\u02b9’

ʹ

'

‘\\u02ba’

ʺ

"

‘\\u02bb’

ʻ

'

‘\\u02bc’

ʼ

'

‘\\u02bd’

ʽ

'

‘\\u02c6’

ˆ

^

‘\\u02c8’

ˈ

'

‘\\u02ca’

ˊ

'

‘\\u02cb’

ˋ

'

‘\\u02dc’

˜

~

‘\\u02ee’

ˮ

"

‘\\u02f7’

˷

~

‘\\u0302’

̂

^

‘\\u0303’

̃

~

‘\\u0313’

̓

'

‘\\u0314’

̔

'

‘\\u0330’

̰

~

‘\\u0332’

̲

\_

‘\\u0334’

̴

~

‘\\u0337’

̷

/

‘\\u0338’

̸

/

‘\\u0347’

͇

\=

‘\\u1d00’

ᴀ

A

‘\\u1d04’

ᴄ

C

‘\\u1d05’

ᴅ

D

‘\\u1d07’

ᴇ

E

‘\\u1d0a’

ᴊ

J

‘\\u1d0b’

ᴋ

K

‘\\u1d0d’

ᴍ

M

‘\\u1d0f’

ᴏ

O

‘\\u1d18’

ᴘ

P

‘\\u1d1b’

ᴛ

T

‘\\u1d1c’

ᴜ

U

‘\\u1d20’

ᴠ

V

‘\\u1d21’

ᴡ

W

‘\\u1d22’

ᴢ

Z

‘\\u1dcd’

᷍

^

‘\\u2010’

‐

\-

‘\\u2011’

‑

\-

‘\\u2012’

‒

\-

‘\\u2013’

–

\-

‘\\u2014’

—

\-

‘\\u2015’

―

\-

‘\\u2017’

‗

\_\_

‘\\u2018’

'

'

‘\\u2019’

'

'

‘\\u201a’

‚

,

‘\\u201b’

‛

'

‘\\u201c’

"

"

‘\\u201d’

"

"

‘\\u201e’

„

,,

‘\\u201f’

‟

"

‘\\u2020’

†

+

‘\\u2021’

‡

++

‘\\u2022’

•

\*

‘\\u2023’

‣

\>

‘\\u2024’

․

.

‘\\u2025’

‥

..

‘\\u2026’

…

…

‘\\u2027’

‧

\-

‘\\u2028’

‘\\u2029’

‘\\u2030’

‰

/1000

‘\\u2031’

‱

/10000

‘\\u2032’

′

'

‘\\u2033’

″

''

‘\\u2034’

‴

’''

‘\\u2035’

‵

'

‘\\u2036’

‶

''

‘\\u2037’

‷

’''

‘\\u2038’

‸

^

‘\\u2039’

‹

<

‘\\u203a’

›

\>

‘\\u203b’

※

\*

‘\\u203c’

‼

!!

‘\\u203d’

‽

?!

‘\\u203e’

‾

\-

‘\\u2043’

⁃

\-

‘\\u2044’

⁄

/

‘\\u2045’

⁅

\[

‘\\u2046’

⁆

\]

‘\\u2047’

⁇

??

‘\\u2048’

⁈

?!

‘\\u2049’

⁉

!?

‘\\u204a’

⁊

&

‘\\u204b’

⁋

P

‘\\u204c’

⁌

<

‘\\u204d’

⁍

\>

‘\\u204e’

⁎

\*

‘\\u204f’

⁏

;

‘\\u2051’

⁑

\*\*

‘\\u2052’

⁒

\-

‘\\u2053’

⁓

~

‘\\u2054’

⁔

~

‘\\u2055’

⁕

\*

‘\\u2056’

⁖

…

‘\\u2057’

⁗

’’''

‘\\u2058’

⁘

….

‘\\u2059’

⁙

…..

‘\\u205a’

⁚

..

‘\\u205b’

⁛

….

‘\\u205c’

⁜

+

‘\\u205d’

⁝

:

‘\\u205e’

⁞

:

‘\\u2070’

⁰

^0

‘\\u2071’

ⁱ

^i

‘\\u2072’

⁲

^n

‘\\u2073’

⁳

^m

‘\\u2074’

⁴

^4

‘\\u2075’

⁵

^5

‘\\u2076’

⁶

^6

‘\\u2077’

⁷

^7

‘\\u2078’

⁸

^8

‘\\u2079’

⁹

^9

‘\\u207a’

⁺

^+

‘\\u207b’

⁻

^-

‘\\u207c’

⁼

^=

‘\\u207d’

⁽

^(

‘\\u207e’

⁾

^)

‘\\u207f’

ⁿ

^n

‘\\u2080’

₀

\_0

‘\\u2081’

₁

\_1

‘\\u2082’

₂

\_2

‘\\u2083’

₃

\_3

‘\\u2084’

₄

\_4

‘\\u2085’

₅

\_5

‘\\u2086’

₆

\_6

‘\\u2087’

₇

\_7

‘\\u2088’

₈

\_8

‘\\u2089’

₉

\_9

‘\\u208a’

₊

\_+

‘\\u208b’

₋

\_-

‘\\u208c’

₌

\_=

‘\\u208d’

₍

\_(

‘\\u208e’

₎

\_)

‘\\u208f’

₏

\_y

‘\\u20a9’

₩

KRW

‘\\u20b9’

₹

INR

‘\\u20ba’

₺

TRY

‘\\u20bd’

₽

RUB

‘\\u20d2’

⃒

'

‘\\u20d3’

⃓

'

‘\\u20e5’

⃥

\\

‘\\u2122’

™

(TM)

‘\\u2150’

⅐

1/7

‘\\u2151’

⅑

1/9

‘\\u2152’

⅒

1/10

‘\\u2153’

⅓

1/3

‘\\u2154’

⅔

2/3

‘\\u2155’

⅕

1/5

‘\\u2156’

⅖

2/5

‘\\u2157’

⅗

3/5

‘\\u2158’

⅘

4/5

‘\\u2159’

⅙

1/6

‘\\u215a’

⅚

5/6

‘\\u215b’

⅛

1/8

‘\\u215c’

⅜

3/8

‘\\u215d’

⅝

5/8

‘\\u215e’

⅞

7/8

‘\\u2202’

∂

partial

‘\\u2207’

∇

nabla

‘\\u220f’

∏

prod

‘\\u2211’

∑

sum

‘\\u221a’

√

sqrt

‘\\u221d’

∝

prop

‘\\u221e’

∞

inf

‘\\u2220’

∠

angle

‘\\u2221’

∡

mangle

‘\\u2222’

∢

sangle

‘\\u2224’

∤

!

‘\\u2225’

∥

‘\\u2226’

∦

!

‘\\u2227’

∧

and

‘\\u2228’

∨

or

‘\\u2229’

∩

intersect

‘\\u222a’

∪

union

‘\\u222b’

∫

int

‘\\u2248’

≈

~=

‘\\u2260’

≠

!=

‘\\u2264’

≤

<=

‘\\u2265’

≥

\>=

‘\\u2282’

⊂

subset

‘\\u2283’

⊃

superset

‘\\u2284’

⊄

!subset

‘\\u2285’

⊅

!superset

‘\\u2286’

⊆

subseteq

‘\\u2287’

⊇

supseteq

‘\\u2288’

⊈

!subseteq

‘\\u2289’

⊉

!supseteq

‘\\u228a’

⊊

subsetneq

‘\\u228b’

⊋

supersetneq

‘\\ua730’

ꜰ

F

‘\\ua731’

ꜱ

S

‘\\ufe10’

︐

'

‘\\ufe11’

︑

'

‘\\ufe13’

︓

:

‘\\ufe14’

︔

;

‘\\ufe15’

︕

!

‘\\ufe16’

︖

?

‘\\ufe50’

﹐

,

‘\\ufe51’

﹑

,

‘\\ufe52’

﹒

.

‘\\ufe54’

﹔

;

‘\\ufe56’

﹖

?

‘\\ufe57’

﹗

!

‘\\ufe59’

﹙

(

‘\\ufe5a’

﹚

)

‘\\ufe5b’

﹛

{

‘\\ufe5c’

﹜

}

‘\\ufe5f’

﹟

#

‘\\ufe60’

﹠

&

‘\\ufe61’

﹡

\*

‘\\ufe62’

﹢

+

‘\\ufe63’

﹣

\-

‘\\ufe64’

﹤

<

‘\\ufe65’

﹥

\>

‘\\ufe66’

﹦

\=

‘\\ufe68’

﹨

\\

‘\\ufe69’

﹩

$

‘\\ufe6a’

﹪

%

‘\\ufe6b’

﹫

@

‘\\uff01’

！

!

‘\\uff02’

＂

"

‘\\uff03’

＃

#

‘\\uff04’

＄

$

‘\\uff05’

％

%

‘\\uff06’

＆

&

‘\\uff07’

＇

'

‘\\uff08’

（

(

‘\\uff09’

）

)

‘\\uff0a’

＊

\*

‘\\uff0b’

＋

+

‘\\uff0c’

，

,

‘\\uff0d’

－

\-

‘\\uff0e’

．

.

‘\\uff0f’

／

/

‘\\uff10’

０

0

‘\\uff11’

１

1

‘\\uff12’

２

2

‘\\uff13’

３

3

‘\\uff14’

４

4

‘\\uff15’

５

5

‘\\uff16’

６

6

‘\\uff17’

７

7

‘\\uff18’

８

8

‘\\uff19’

９

9

‘\\uff1a’

：

:

‘\\uff1b’

；

;

‘\\uff1c’

＜

<

‘\\uff1d’

＝

\=

‘\\uff1e’

＞

\>

‘\\uff1f’

？

?

‘\\uff20’

＠

@

‘\\uff21’

Ａ

A

‘\\uff22’

Ｂ

B

‘\\uff23’

Ｃ

C

‘\\uff24’

Ｄ

D

‘\\uff25’

Ｅ

E

‘\\uff26’

Ｆ

F

‘\\uff27’

Ｇ

G

‘\\uff28’

Ｈ

H

‘\\uff29’

Ｉ

I

‘\\uff2a’

Ｊ

J

‘\\uff2b’

Ｋ

K

‘\\uff2c’

Ｌ

L

‘\\uff2d’

Ｍ

M

‘\\uff2e’

Ｎ

N

‘\\uff2f’

Ｏ

O

‘\\uff30’

Ｐ

P

‘\\uff31’

Ｑ

Q

‘\\uff32’

Ｒ

R

‘\\uff33’

Ｓ

S

‘\\uff34’

Ｔ

T

‘\\uff35’

Ｕ

U

‘\\uff36’

Ｖ

V

‘\\uff37’

Ｗ

W

‘\\uff38’

Ｘ

X

‘\\uff39’

Ｙ

Y

‘\\uff3a’

Ｚ

Z

‘\\uff3b’

［

\[

‘\\uff3c’

＼

\\

‘\\uff3d’

］

\]

‘\\uff3e’

＾

^

‘\\uff3f’

＿

\_

‘\\uff5b’

｛

{

‘\\uff5c’

｜

‘\\uff5d’

｝

}

‘\\uff5e’

～

~

‘\\uff61’

｡

.

‘\\uff64’

､

,

*   *   [How it works](#how-it-works)
    *   [Some symbols still consume more than one character](#some-symbols-still-consume-more-than-one-character)
    *   [Emojis limit messages to 70 characters](#emojis-limit-messages-to-70-characters)
    *   [Smart encoding character replacements](#smart-encoding-character-replacements)

Copy page

Copy page [Download .md](/messaging/channels/sms/character-encoding.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
