About the Character Counter
Count the characters in a post, caption, bio, form answer or text message as you type, with and without spaces. The counter also shows words, lines and bytes, how many SMS messages the text will take, and how close you are to the limits of X, LinkedIn and Instagram.
Emoji and accented letters are counted the way you see them, so a thumbs-up with a skin tone counts as one character, not four.
How it works
Computers store some visible characters as several pieces. A flag is two 'regional indicator' symbols, a family emoji can be five symbols joined together, and an accented letter may be a plain letter plus a separate accent. The counter uses your browser's text segmentation, which follows the Unicode rules for user-perceived characters (UAX #29), to count what a reader would count.
Because many systems count differently, the page also gives code points, UTF-16 units (what JavaScript and some databases count) and UTF-8 bytes (what many file and form limits use).
For text messages, the standard GSM alphabet fits 160 characters in one message. A single character outside it, such as most emoji or letters like ą or ł, switches the whole message to Unicode, which fits only 70. Longer messages are split into parts of 153 or 67, because each part carries a small header that joins them back together.
Assumptions and limits
- Platform limits are read from each platform's documentation and dated; they can change without notice.
- X counts links as 23 characters and emoji or Chinese, Japanese and Korean characters as 2, so X's own counter can show a higher number than the plain count here.
- Phone networks and messaging apps may handle long SMS slightly differently; the segment count follows the GSM standards (3GPP TS 23.038 and 23.040).
Worked examples
A short post with an emoji
'Meet us at the café at 9:30 🙂 Tickets cost €12.' is 47 characters. The emoji is one character to a reader but two UTF-16 units, so a counter that uses JavaScript's plain length would say 48.
An SMS with a euro sign
The € sign is in the GSM alphabet's extension table, so it costs two of the 160 places in a message. Eighty euro signs fill a message exactly; the 81st starts a second part.
One emoji changes the whole SMS
A 100-character message in plain English is one SMS. Add a single emoji and the message switches to Unicode, which allows 70 per message: 102 units now need two parts.
How much fits in one SMS
Source: 3GPP TS 23.038 (alphabet) and TS 23.040 (concatenated messages).
| Message contains | One message | Each part of a longer message |
|---|---|---|
| Only GSM characters (A–Z, digits, common punctuation, some accents) | 160 | 153 |
| € [ ] { } ~ ^ | \ | count as 2 each | count as 2 each |
| Any other character (most emoji, ą, ł, Arabic, Chinese…) | 70 | 67 |
How to use the Character Counter
- Type or paste your text. The counts update as you type.
- Check the limit you care about. Each bar turns red when you go over.
- Trim and copy. Edit until it fits, then copy the text back.
Frequently asked questions
Do spaces count as characters?
Usually, yes: X and SMS both count spaces and line breaks, and most form limits do too. The page shows both totals, with and without spaces, because some school and job application forms count only the letters.
Why does an emoji sometimes count as two?
Many emoji are stored as two UTF-16 units, and some, like skin tones or family groups, are several symbols joined together. This counter shows one per visible emoji, but X counts each emoji as 2, and SMS counts the stored units.
What is the character limit on X (Twitter)?
280 for a standard post, according to X's developer documentation. Links always count as 23 characters whatever their length, and emoji and CJK characters count double, so very emoji-heavy or link-heavy posts reach the limit sooner.
Why did my text message split into several parts?
One SMS holds 160 standard characters, or only 70 if any character is outside the GSM alphabet. Beyond that, the phone sends parts of 153 or 67 that are joined on arrival, and many plans charge for each part.
Is my text sent anywhere?
No. Counting happens in your browser as you type, and nothing is uploaded or stored. You can switch off your connection after the page loads and it keeps working.
Sources
- Unicode Standard Annex #29: Text Segmentation (grapheme clusters)
- X developer docs: Counting characters
- LinkedIn Help: post character limit (3,000)
- 3GPP TS 23.038 (GSM alphabet) and TS 23.040 (SMS concatenation)
Data last checked: 2026-10-13.
This tool runs entirely in your browser. What you enter or upload stays on your device and is never sent to our servers.