Paste a post once and see its length on nine platforms at the same time, each counted the way that platform counts: X with its weighted rules, Bluesky in graphemes, the others in characters as you see them. Each row shows how many are left or how far over you are, and a box shows exactly where the cut falls for the platform you choose, with the part that does not fit struck through. For long captions it also marks what shows before "more" on Instagram (about 125 characters) and LinkedIn (about 210). Below that: the SMS encoding and the exact number of message parts, the hashtags and @mentions in the text, and the counts of characters, code points, UTF-16 units, UTF-8 bytes, words, emoji and links.
Limits as of October 2026
| Platform | Limit | How it counts |
|---|
| X | 280 | weighted (see below); Premium accounts can post longer |
|---|
| Threads | 500 | characters |
|---|
| Bluesky | 300 | graphemes |
|---|
| Instagram caption | 2,200 | characters; at most 5 hashtags since December 2025 |
|---|
| LinkedIn post | 3,000 | characters |
|---|
| TikTok caption | 2,200 | characters (photo posts 4,000) |
|---|
| YouTube title / description | 100 / 5,000 | characters; no angle brackets |
|---|
| Facebook post | 63,206 | characters |
|---|
Platforms change these without notice, so the date is shown in the tool.
Why X counts differently
X uses the open-source twitter-text rules (configuration version 3). Each character has a weight: characters in the ranges U+0000 to U+10FF (Latin, Greek, Cyrillic, Hebrew, Arabic and more) and a few punctuation ranges weigh 1, everything else weighs 2, and the limit is 280 units. So 280 English letters fit, but only 140 Chinese, Japanese or Korean characters. Every emoji counts 2, however many code points it is made of, so a family emoji or a thumbs-up with a skin tone is 2, not 7 or 11. Every link counts 23, because X rewrites it to a t.co address, whether it is example.com or a 300-character tracking URL.
One surprise for Vietnamese: letters like "à" or "é" are in the light range and count 1, but letters from the Latin Extended Additional block, such as "ệ", "ố" or "ữ", are at U+1E00 and above and count 2. "Việt Nam" is 9, not 8. The tool normalises text first (NFC), as X does, so typing with a decomposing keyboard gives the same result.
SMS: 160, 153, 70 or 67
An SMS holds 140 bytes. In the GSM-7 alphabet that is 160 characters; characters from its extension table (€ [ ] { } ^ ~ | \\) take two. Use one character outside GSM-7 (most Vietnamese letters, any emoji, curly quotes) and the whole message switches to UCS-2: 70 UTF-16 units, with an emoji taking two. Longer messages are split into parts that each lose 6 bytes to a header: 153 characters in GSM-7, 67 in UCS-2. The tool counts exactly, never splitting a two-septet character or an emoji between parts, and lists the characters that forced UCS-2, so you can see that "Xin chào" fits GSM-7 but "cảm ơn" does not.
Character counts are the most common reason a post is rejected or a campaign SMS costs double. For the full comparison and examples, read social media character limits compared. To inspect a character's code point, use the Unicode and emoji lookup; for general text statistics, the text toolkit; and to tag the links in your posts, the UTM link builder.