How to use the character counter
- Type or paste your text into the box. Every count updates as you type.
- Read the three headline numbers: characters with spaces, characters without spaces, and words.
- Find the place you are writing for in the limits table. A negative number under Left tells you how many characters to cut.
- For a text message, check SMS encoding and SMS parts: they show when a single emoji or curly apostrophe is about to turn one message into two or three.
What counts as one character
The counter counts characters the way you see them — what the Unicode standard calls grapheme clusters. An accented letter is one character, and so is an emoji, even one built from several pieces, such as a thumbs-up with a skin tone or a family joined by invisible zero-width joiners. Spaces, line breaks and punctuation count too. Software also measures text in other units, which is why two counters can disagree:
| You see | What it is | Characters | UTF-16 units | UTF-8 bytes | On X |
|---|---|---|---|---|---|
| A | Latin letter | 1 | 1 | 1 | 1 |
| é | accented letter | 1 | 1 | 2 | 1 |
| é | e followed by a combining accent | 1 | 2 | 3 | 1 |
| ж | Cyrillic letter | 1 | 1 | 2 | 1 |
| 中 | Chinese character | 1 | 1 | 3 | 2 |
| 👍 | emoji | 1 | 2 | 4 | 2 |
| 👍🏽 | emoji with a skin tone | 1 | 4 | 8 | 2 |
| 👨👩👧 | family emoji (three people joined) | 1 | 8 | 18 | 2 |
| 🇯🇵 | flag | 1 | 4 | 8 | 2 |
- UTF-16 code units are what JavaScript’s
length, Java and many databases and web forms count. Emoji take two or more, so a field that “allows 100 characters” can run out sooner when your text has emoji. - UTF-8 bytes are what a file or a database column stores: 1 byte for English letters and digits, 2 for most accented Latin, Greek, Cyrillic, Hebrew and Arabic letters, 3 for Chinese, Japanese and Korean characters, and 4 for most emoji.
Letters (from any alphabet), digits, and punctuation, symbols and emoji add up to the count without spaces. Words are counted as in the word counter, which also estimates reading time.
Character limits on popular platforms
| Where | Limit | Source (checked October 2026) |
|---|---|---|
| X (Twitter) post | 280, weighted: most Latin letters, digits and punctuation count 1; emoji and Chinese, Japanese and Korean characters count 2; every link counts 23 | X Developer Platform, “Counting characters” |
| Instagram caption | 2,200 characters, at most 30 hashtags and 20 @ tags | Meta’s Instagram Platform API reference (IG User Media) |
| Instagram bio | 150 characters | Instagram Help Center, “Add a bio to your Instagram profile” |
| YouTube video title | 100 characters | YouTube Help, “Edit video settings” |
| YouTube description | 5,000 characters | YouTube Help, “Edit video settings” |
| Google search result title and description | No fixed limit; Google shortens them to fit the screen width | Google Search Central, title link and snippet documentation |
| Text message (SMS) | 160 characters, or 70 with any non-GSM character | 3GPP TS 23.038; Twilio SMS documentation |
Platforms change their limits from time to time, and Instagram and YouTube don’t publish how they count emoji, so leave a little room. For X, the counter applies the published weighting, counting each link that starts with http://, https:// or www. as 23. X also links bare domain names such as example.com, which this counter counts letter by letter.
SMS: why one emoji can double the cost of a text
A single text message carries 140 bytes. With the standard GSM 7-bit alphabet that is 160 characters. If even one character is outside that alphabet, the whole message is sent as Unicode (UCS-2) at 2 bytes per character, and only 70 fit. Longer texts are split into parts, and each part gives up a few characters to a header that tells the phone how to join them back together:
| Encoding | One message | Each part of a longer text | 2 parts | 3 parts |
|---|---|---|---|---|
| GSM-7 | 160 | 153 | 306 | 459 |
| Unicode (UCS-2) | 70 | 67 | 134 | 201 |
The GSM alphabet holds the English letters, digits and common punctuation, a handful of accented letters (à è é ì ò ù ä ö ü ñ å æ ø ß Ç É Ä Ö Ü Ñ) and some Greek capitals. Ten more characters — € [ ] { } \ ^ ~ | and the form feed — come from an extension table and take two places each. Characters that silently switch a message to Unicode include emoji, curly quotes (’ “ ”), the en and em dashes (– —), the ellipsis character (…), á í ó ú ç ã õ and every non-Latin script. The Not in the GSM alphabet line lists the ones in your text, showing invisible ones such as a non-breaking space as a U+ code.
Example: a 161-character message in plain English needs 2 parts (153 + 8). Add one emoji and it becomes Unicode: 163 UTF-16 units, so 3 parts of up to 67. Swapping curly apostrophes for straight ones (') is often enough to get back to 160-character messages.
Some networks and phones use national alphabets (the standard has extra tables for Spanish, Portuguese, Turkish, Urdu and several Indian languages) or replace accented letters before sending, so your carrier’s count can differ slightly.
Your text stays on your device
All counting happens in your browser. Nothing you type is uploaded or logged. It is not saved either: reloading the page clears it.
Frequently asked questions
Do spaces count as characters?
Yes. Character limits on X, Instagram, YouTube and in text messages include spaces and line breaks. The counter shows both numbers, with and without spaces, because some school and publishing guidelines ask for the count without spaces.
How many characters is an emoji?
One as you see it, but it weighs more elsewhere: most emoji are 2 UTF-16 units and 4 UTF-8 bytes, an emoji with a skin tone or a family emoji takes several of each, X counts every emoji as 2, and a single emoji switches a text message to Unicode, which cuts it from 160 to 70 characters.
Why does my text message count as two or three messages?
Either it is longer than 160 GSM characters (then it is billed in parts of 153), or it contains a character outside the GSM alphabet — an emoji, a curly quote, an em dash or a letter such as á — which makes the whole message Unicode, with 70 characters for one message and 67 per part.
Why does X say my post is too long when I count fewer than 280 characters?
X weights characters: emoji and Chinese, Japanese and Korean characters count as 2, and every link counts as 23 whatever its length. Use the X (Twitter) weighted length line, which applies these rules.
What is the difference between characters and bytes?
Characters are what you see; bytes are how much storage the text takes. In UTF-8, the encoding used by almost every web page and file, an English letter is 1 byte, an accented or Cyrillic letter 2, a Chinese character 3 and most emoji 4. Database and file size limits are usually in bytes.
Last updated: October 15, 2026