GlobalKit

Character Counter

Count characters with and without spaces, see the length in UTF-16 units and UTF-8 bytes, and check how many SMS parts your text needs.

Up to 500,000 characters. Your text never leaves your device: everything is counted in your browser.

Enter the limit of the field you are writing for to see how many characters are left.

Characters
0
Characters (no spaces)0
UTF-16 code units0
UTF-8 bytes0
SMS length
Estimated from the GSM 03.38 default alphabet. Operators and gateways can count differently.
EncodingGSM-7
Units used0
Messages (parts)0
Capacity per message160
Left in the last message160
Characters that force UCS-2None

How it works

The counter measures the same text four ways, because "how long is this text" has more than one answer.

Characters. Counted as what a reader sees as one character (a grapheme cluster, Unicode UAX #29), not as bytes or code units. A letter with an accent, an emoji with a skin tone and a flag are each one character. The first figure includes spaces and line breaks; characters (no spaces) leaves them out.

UTF-16 code units. This is the length JavaScript reports for a string. Most letters are one unit, characters outside the Basic Multilingual Plane (most emoji) are two, and joined sequences are more.

UTF-8 bytes. The size when the text is stored or sent as UTF-8, the encoding of most web pages and files. ASCII is one byte per character, letters such as ş, ğ and ü are two, many symbols are three and emoji are four.

Character limit. Enter the limit of the field you are writing for and the counter shows how many characters are left, or how many are over. The comparison uses the character count (with spaces).

SMS length. The text is checked against the GSM 03.38 default alphabet (3GPP TS 23.038). If every character is in it, the message is GSM-7: 160 characters in one message, 153 per part when it is split. Characters from the extension table (^ { } \ [ ] ~ | € and the form feed) take two of those places. If a single character is outside the alphabet, the whole message is UCS-2: 70 characters in one message, 67 per part, counted in UTF-16 units.

Examples

One text, four measurements

TextCharactersNo spacesUTF-16 unitsUTF-8 bytes
Hello 😀76810
Ağaçtan düşen şeftali, çiğ öğüt.32283242
🇹🇷1148

The Turkish sentence has ten letters that take two bytes in UTF-8, so its byte length is 10 higher than its character count. The flag is one character on screen and four UTF-16 units, because it is two regional-indicator symbols.

SMS parts

TextEncodingUnitsMessages
160 letters "a"GSM-71601
161 letters "a"GSM-71612 (153 + 8)
Price: 5€ [new]GSM-718 (€, [ and ] take 2 each)1
Siparişiniz yola çıktı.UCS-2231
71 letters "ş"UCS-2712 (67 + 4)

One character changes the limit. A text of 100 letters "a" fits in one message. Add a single "ş" and the same text is 101 UCS-2 units: it no longer fits in the 70 of a single UCS-2 message and is sent as two messages.

Euro signs add up. 80 euro signs are 160 GSM-7 places (two each) and fit in one message. 81 need two.

Things to watch for

Frequently asked questions

Last updated: 10/10/2026

Related tools