How to use the character counter
- 1Type or paste your text into Your text.
- 2Read Characters and Without spaces under the box, along with words, lines and byte size.
- 3Check Platform limits: each bar shows how much room is left for X, SMS, Instagram, LinkedIn, titles and meta descriptions.
- 4Set Your own limit (characters) for any other form or field.
Example
Big news! Our café opens on Monday at 9:00 👋🏽 First coffee is free. Details: https://example.com/opening-week
Characters: 108 Without spaces: 93 X (Twitter): 100 of 280 SMS: 2 messages (UCS-2, 67 per message) UTF-8 bytes: 116
The waving hand with a skin tone is one character on screen but two emoji code points. X counts the link as 23 and the emoji as 2. The emoji also forces the SMS into UCS-2 encoding, so it needs two messages.
Characters with and without spaces
Characters counts what you see on screen: every letter, digit, space, punctuation mark and line break, with an emoji or an accented letter counted once even when it is stored as several code points. Without spaces leaves out spaces, tabs and line breaks, which is the figure some forms and translation quotes ask for.
The tiles also show UTF-16 units (the length JavaScript reports, used by many web forms' maxlength), Code points and UTF-8 bytes. For plain English text all of these are equal; they differ once you use emoji, accents or other scripts.
Checking text against platform limits
| Platform | Limit | Counted as |
|---|---|---|
| X (Twitter) post | 280 | Weighted: links 23, emoji and CJK 2 |
| SMS | 160 per message (70 with Unicode) | GSM-7 or UCS-2 units |
| Instagram caption | 2,200 | UTF-16 units |
| LinkedIn post | 3,000 | UTF-16 units |
| Title tag | about 60 (guide) | Characters |
| Meta description | about 155 (guide) | Characters |
Google has no character limit for titles or meta descriptions: it truncates them to fit the device width, roughly 600 pixels for a desktop title. The 60 and 155 figures are working guides; preview the real cut-off with the search snippet preview or draft one with the meta description generator. We couldn't find an official Instagram page stating the 2,200-character caption limit, so it is listed as observed in the app.
Why some emoji count as two
Text is stored as Unicode code points, and JavaScript, Java and many databases store each code point as one or two 16-bit units. Most emoji sit outside the first 65,536 code points, so they take two units, and a web form that counts units counts them as 2. Emoji with skin tones, flags and family emoji are built from several code points (👋🏽 is two, 👨👩👧 is five) but display as one.
X goes further and weights characters: most Latin, Greek and Cyrillic characters count 1, while Chinese, Japanese and Korean characters and every emoji count 2, so a post in Japanese holds about 140 characters.
SMS segments: 160 vs 70 characters
An SMS uses the GSM 7-bit alphabet when every character is in it: Latin letters, digits, common punctuation and a few accented letters such as é, ü and ñ. One message then holds 160 characters. The characters ^ { } [ ] ~ \ | and € are in an extension table and count as two.
A single character outside that alphabet, such as an emoji, a curly quote or “ç”, switches the whole message to UCS-2, which holds only 70 characters. Longer texts are split into segments of 153 (GSM-7) or 67 (UCS-2) characters, because each part carries a small header, and each part is billed as one SMS.
Characters vs bytes
Databases, APIs and file formats often limit bytes, not characters. In UTF-8, plain ASCII letters take 1 byte, accented Latin letters 2, most other scripts 3, and emoji 4. “café” is 4 characters but 5 bytes; the example above is 108 characters but 116 bytes. UTF-8 bytes shows the exact size, which matters for things like push-notification payloads and older database columns sized in bytes.
Is my text private?
This tool runs entirely in your browser. Your text is not uploaded to our servers.
