"How many characters can I post?" has a different answer on every platform, and the bigger surprise is that platforms do not agree on what a character is. X counts some letters twice and every link as 23. Bluesky counts what you see. SMS counts bytes and switches encoding when you type one accented letter. This article lists the limits as of October 2026 and shows, with the same posts counted on each platform, where the differences come from. All counts were produced by the social media character counter.
The limits
| Platform | Limit | Unit |
|---|---|---|
| X | 280 | weighted units (Premium accounts can post longer) |
| Threads | 500 | characters |
| Bluesky | 300 | graphemes |
| Instagram caption | 2,200 | characters; 5 hashtags at most since December 2025 |
| LinkedIn post | 3,000 | characters |
| TikTok caption | 2,200 | characters (4,000 for photo posts) |
| YouTube title | 100 | characters |
| YouTube description | 5,000 | characters |
| Facebook post | 63,206 | characters |
| SMS | 160 or 70 per message | GSM-7 septets or UTF-16 units |
Two practical limits matter as much as the hard ones: Instagram shows about 125 characters before "more", and LinkedIn about 210 before "see more". Write the hook for those.
What is "a character"?
Text in a computer has several sizes at once. Take the family emoji 👨👩👧👦:
- 1 grapheme: what a reader sees, and what Bluesky counts.
- 7 code points: four people joined by three zero-width joiners.
- 11 UTF-16 units: what JavaScript's
lengthand many web forms count, and what SMS counts in UCS-2. - 25 UTF-8 bytes.
- 2 on X: every emoji weighs 2, whatever it is made of.
The Unicode and emoji lookup shows this breakdown for any text. Most platforms now count something close to graphemes, but SMS and older forms do not.
Why X counts differently
X uses the open-source twitter-text rules. Characters in the range U+0000 to U+10FF, which covers Latin, Greek, Cyrillic, Arabic, Hebrew and more, weigh 1. Everything else weighs 2. Links weigh 23 each, because X shortens them to t.co addresses, and emoji weigh 2. The limit is 280 units, which means 280 English letters but 140 Chinese or Japanese characters. Three posts counted three ways:
| Post | Characters | X | SMS |
|---|---|---|---|
| "New post: how we cut our build time in half." + a 50-character tracking link + 🚀 | 98 | 71 | UCS-2, 2 parts |
| "Cảm ơn mọi người đã ủng hộ! Ưu đãi cuối tuần: giảm 20% toàn bộ cà phê hạt." | 74 | 84 | UCS-2, 2 parts |
| "週末セール開催中!コーヒー豆が全品20%オフ。" | 23 | 43 | UCS-2, 1 part |
The English post is shorter on X than it looks, because the long link counts 23 no matter how long it is. The Vietnamese one is longer: letters such as "ả", "ọ", "ư" with a tone, "ố" and "ạ" are in the Latin Extended Additional block (U+1E00 and above) and weigh 2, while "à", "á", "ê" and "ô" are below U+10FF and weigh 1. That post has ten double-weight letters, so 74 characters count as 84. Japanese is counted almost entirely at 2: 20 characters at 2 plus "20%" at 1 each.
SMS: one accent doubles the cost
An SMS carries 140 bytes. In the GSM-7 alphabet that is 160 characters, but GSM-7 has only a few accented letters (é, è, à, ù, ì, ò, ä, ö, ü, ñ and a few more). One character outside it, such as "ả" or an emoji, switches the whole message to UCS-2 at 70 units. Long messages are sent in parts of 153 (GSM-7) or 67 (UCS-2) because each part needs a header.
A real order confirmation of 122 characters:
Cảm ơn quý khách đã đặt hàng tại Example Coffee. Đơn hàng #A1024 sẽ được giao trong 2-3 ngày. Tra cứu: example.vn/don-hang
is UCS-2, 2 SMS (12 units left in the second). Without diacritics, "Cam on quy khach da dat hang tai Example Coffee...", it is GSM-7, 1 SMS with 38 to spare. At campaign scale that halves the cost, which is why many Vietnamese senders strip accents from transactional SMS. Whether that is acceptable to your readers is a separate question.
Common mistakes
- Counting with a word processor. It counts graphemes; X and SMS do not. Check with the platform's own rules.
- Shortening links for X. It makes no difference to the count: every link is 23.
- Ignoring the "more" cut. On Instagram the first 125 characters do most of the work.
- One curly quote in an SMS. "’" is not in GSM-7 and silently turns a 1-part message into a 2-part one. Use a straight apostrophe.
- Old hashtag habits. Instagram now rejects comments and captions with more than 5 hashtags.
Try it
Paste a post into the social media character counter and pick a platform under "Where the cut falls" to see exactly what will be cut. The SMS line lists the characters that forced UCS-2, so you know which ones to change.