X character counter
Count a post the way X does: weighted, so a link is 23 and emoji and CJK characters are 2. Switch on Premium to count against 25,000.
Runs in your browser. Your text and images never leave it.
Updated
Count against 25,000 instead of 280.
0 / 280
280 leftweightedX: Weighted: most letters count 1, CJK characters and emoji 2, and every link 23.
Type or paste a post to count it.
- Characters as typed
- 0
- Emoji
- 0
How X counts a post
Not character by character. Every character has a weight, and the weights add up to 280, or 25,000 with Premium.
X calls its limit 280 characters, but what it counts is weight. Characters in a few ranges of Unicode weigh 1: that's most of the world's alphabets and the everyday punctuation. Everything else weighs 2, which takes in Chinese, Japanese and Korean and most symbols. Every emoji weighs 2, and every link 23.
| Code points | What's in them | Weight |
|---|---|---|
| U+0000 to U+10FF | Latin, Greek, Cyrillic, Hebrew, Arabic, Devanagari and the other Indic scripts, Thai, Georgian | 1 |
| U+2000 to U+200D | Typographic spaces and the zero-width joiner | 1 |
| U+2010 to U+201F | Hyphens, dashes and curly quotes | 1 |
| U+2032 to U+2037 | Prime marks | 1 |
| Everything else | CJK, Hangul, emoji, most symbols | 2 |
Before counting, X normalises your text (NFC). That matters when an accented letter arrives as two code points, a plain e followed by a combining accent, which some keyboards and pasted text produce. After normalising it's one é, so it counts 1, not 2.
Every link costs 23
However long or short it is.
X wraps every link in its own shortener, t.co, so a link counts 23 whether it's a short domain or a 69-character address with tracking tags on the end. Long links cost you nothing extra on X; short ones save you nothing.
That includes bare domains. Type example.com without https:// and X turns it into a link, so it costs 23 even though it's 11 characters.
A few newer domain endings, like .zip, brand endings and ones in other scripts, aren't on the list of endings we recognise, so we count them as plain text. X may treat them as links.
Emoji and CJK characters weigh 2
However many code points they're built from.
An emoji counts 2. So does an emoji built from several code points: a flag, a thumbs up with a skin tone, or a family made of 7 code points joined together. X counts each sequence once.
Each Chinese, Japanese or Korean character weighs 2, so a post written in Japanese fits about 140 characters, not 280.
New autumn menu at the café ☕ https://www.example.com/blog/2026/10/autumn-menu-is-here?utm_source=x
| Piece | What it is | Counts |
|---|---|---|
| New autumn menu at the café | Letters, spaces and é | 28 |
| ☕ | An emoji, then a space | 3 |
| https://www.example.com/blog/2026/10/autumn-menu-is-here?utm_source=x | A link of 69 characters | 23 |
| X counts | 54 of 280 | |
The link is 69 characters long and costs 23, so you get 46 characters back.
今日は新しいメニューを公開しました。
| Piece | What it is | Counts |
|---|---|---|
| 今日は新しいメニューを公開しました。 | 18 characters, all CJK | 36 |
| X counts | 36 of 280 | |
Every character weighs 2, the full stop (。) included.
👨👩👧👦 🇯🇵 👍🏽
| Piece | What it is | Counts |
|---|---|---|
| 👨👩👧👦 | A family: 7 code points | 3 |
| 🇯🇵 | A flag: two letters joined | 3 |
| 👍🏽 | A thumbs up with a skin tone | 2 |
| X counts | 8 of 280 | |
Each emoji counts 2, however it's built; the spaces count 1.
When a post is over
Cut to fit keeps the longest part that fits, ending at the last full sentence, the last whole word, or exactly at the limit. It never splits an emoji or a link: a link that won't fit is dropped whole. What it cut is shown underneath, so you can rework it or post it as a reply.
Does Shaflex keep an X post under the limit for me?
Yes. Shaflex sizes the X copy of your draft to X's 280 as you write and turns a longer one into a thread. To shorten it instead, select the text and pick Fit to platform limit. The same draft goes to your other networks too, each copy fitted to its own limit, and they're scheduled together.
See how Shaflex schedules for X, how one draft goes to every network, and what the free plan includes.
Where these rules come from
Each one is from the network's own documentation, help pages or source code. We last checked them on .
More free tools
Each one runs in your browser too.
- X
X image sizes
What X takes for each placement, how the feed crops it and the file caps, with a resizer set for X.
Open it - Text tool
Character counter
Count one draft for Threads, X, Bluesky, Mastodon and LinkedIn at once, and cut it to fit.
Open it - Text tool
Thread maker
Turn long text into a thread for X, Threads, Bluesky or Mastodon, split where paragraphs and sentences end, with links kept whole.
Open it
X character limit questions
What's the character limit on X?
280 for a standard account and 25,000 with X Premium. X counts weight rather than characters: most letters weigh 1, CJK characters and emoji 2, and every link 23.
Do links count toward the X character limit?
Yes, but every link counts 23, however long it is. Bare domains like example.com count 23 too, because X turns them into links.
Why does X count an emoji as two characters?
X weighs characters, and emoji sit outside the ranges that weigh 1. Every emoji counts 2, even one built from several pieces, like a family or a flag.
How many characters can I write in Japanese, Chinese or Korean on X?
About 140, since each of those characters weighs 2 and the limit is 280. With Premium it's about 12,500.
Is Twitter's character limit the same as X's?
Yes. Twitter became X, and posts are still counted with the twitter-text rules: the same weights, the same 23 per link and the same normalising.
One draft, a copy for every network.
Write the post once in Shaflex, adjust the copy each network gets, and schedule them all together.
Free plan, no card needed.



