Free tweet character counter: count a post the way X does, with links as 23, emoji and CJK as 2, a live 280 meter, a preview of the post, and a thread splitter for anything too long.
Write your post
0 / 280
How X counts it links underlined, anything over the limit in red
How it looks on X
Counts follow X's open-source twitter-text rules: 280 weighted characters, links as 23, emoji as 2, CJK and other wide scripts as 2.
How to use this tweet character counter
01
Paste your post
Type or paste it. The ring and the count update with every keystroke, using X's own weighting.
02
See what costs extra
Links count as 23, emoji and CJK as 2. Anything past the limit turns red, exactly where X would stop you.
03
Trim or thread it
Cut it down, or let the splitter break it into a numbered thread where every post fits, then copy each part.
Why your character count and X's disagree
A normal character counter counts what you see. X does not. It wraps every link in a 23-character t.co link, counts each emoji as 2 no matter how many hidden parts it has, and gives Chinese, Japanese and Korean characters double weight. So a post a word processor calls 250 characters can be over the limit on X, and one it calls 320 can fit.
This counter applies the rules from X's open-source twitter-text library, so the number matches the one in X's composer. Sharing a link? Check the card it will show with the Twitter card validator, and if the post goes to LinkedIn as well, find its fold with the LinkedIn post preview.
Everything runs in your browser and never connects to X.
Common questions
A post on X can be 280 characters long for most accounts. Subscribers to X Premium can write long posts of up to 25,000 characters, which show the first part in the timeline followed by Show more. Switch Premium on above to count against the longer limit.
Every link counts as 23 characters, however long or short it really is, because X wraps it in a t.co short link. A 90-character link saves you space; a short domain like example.com still costs 23. This counter finds links the same way and shows how much each one costs or saves.
Two. X counts every emoji as 2 characters, including emoji built from several parts, such as a skin tone or a family joined with invisible joiners. That is why a post can look short but hit the limit early.
X gives characters outside a set of common ranges, including CJK scripts, a weight of 2 so that a full post carries a similar amount of meaning in every language. An all-CJK post fits 140 characters instead of 280. Latin, Cyrillic, Greek, Arabic and most other scripts count as 1.
It follows X's published counting rules from its open-source twitter-text library: the 280 weighted limit, the character weight ranges, 2 per emoji and 23 per link. Link detection uses web addresses with http or https, plus bare domains on common endings like .com and .io, so an unusual domain ending might be counted as plain text.
When a post runs over 280, the splitter breaks it into a thread at sentence boundaries, falling back to word boundaries for long sentences, and numbers each post (1/3, 2/3, 3/3). Every part is counted with X's rules, the numbering included, so each one fits.
No. Counting runs entirely in your browser and never connects to X. Nothing you type is sent or stored.