X (Twitter) Character Limit Explained: How 280 Really Works
280 is not always 280. Links, emoji and CJK text are weighted, and that changes how much fits.
By the Universal Character Counter Team
The 280 limit
A standard post on X can contain up to 280 characters. The number is a hard limit in the composer: once you pass it, the post button is disabled until you cut the text. Some paid accounts can publish longer posts, but the 280-character rule is the one that applies to most users and to most of the posts you see. Some paid accounts can publish much longer posts: X Premium is reported to allow up to 25,000 characters per post, a figure taken from third-party sources, so check it in your own composer.
The limit sounds like a plain count of symbols, but X measures it with weights. Most letters, digits and punctuation marks have a weight of 1, which is why an ordinary English sentence behaves as you expect. Other kinds of text are weighted differently, and that is where surprises come from.
How links are counted
Any valid link in a post is shortened by X and counts as 23 characters, no matter how long the original address is. A short link and a very long one therefore use exactly the same space. The practical effect is that a link takes up almost a tenth of a post, so a text with a link and a few hashtags has less room than it seems.
A plain character counter does not know this rule. It counts the full address, so a post with a long link can look over the limit in a counter yet be accepted by X, while a post with a short link can show as under the limit and still be tight on the platform.
Emoji and weighted characters
X documents that every emoji has a weight of 2, whether it is a single emoji, one with a skin-tone modifier or a sequence for a family. A post made only of emoji can therefore hold at most 140 of them. Japanese, Chinese and Korean characters have a weight of 2 as well, so a post written in those scripts holds at most 140 characters.
This explains why the same idea can fit into one post in Japanese and take several in English. A Japanese character carries more meaning than a Latin letter, and the weighting means a post in Japanese is limited by the number of characters, not by an English-style word count. The weighting is a rule of the platform, not of Unicode.
Why your counter shows a different number
This counter reports the plain number of characters you can see: an emoji is one, a Japanese character is one and a link counts as its full length. X reports a weighted number. A post with three emoji and a link will show a lower total here than in the X composer, because X adds the extra weight for each emoji and replaces the link length with 23.
The two numbers match only for text made of ordinary letters, digits and punctuation, without links or emoji. For all other posts, treat a plain counter as a planning aid and the X composer as the final check.
Planning a post with a plain counter
A simple method keeps you safe. Count the plain text first, and then add the extras by hand: 23 for each link and 2 for each emoji instead of 1, which means one extra character per emoji. If the sum is under 280, the post fits.
For a post in Japanese, Chinese or Korean, multiply the plain count by 2 to estimate the weighted total, and expect to fit at most 140 characters of text. Choose the X limit in the counter to see a progress bar while you edit; the bar uses the plain count, so leave a margin for links and emoji.
A worked example
Suppose you want to post: “New guide is live 🎉 Read it here: https://example.com/guides/how-to-count-characters”. In a plain counter this text has 84 characters, because the full address is counted. On X the address counts as 23 and the emoji as 2.
To plan it, count the visible words and spaces, add 23 for the link and add 2 for the emoji. If the total is far below 280, the post fits easily. If you are close to 280, shorten the words before the link, because the link and the emoji cannot be reduced.
Tips for fitting a thought into 280
Put the main point first, because that is what readers see before they decide to read on. Cut words that repeat the sentence before them. Replace “in order to” with “to” and “due to the fact that” with “because”. Remove filler such as “really” and “very”.
If the text is still too long, split it into a short post and a reply instead of squeezing both ideas into one. A clear short post usually reads better than a dense one, and it leaves room for people to quote it with a comment.
Other limits that change
Platform rules are not fixed. X has changed the limit and the account types that can write longer posts before, and it may do so again. The figures in this article come from X’s own documentation on counting characters at the time of writing, and you should check the current help pages when a limit matters for a campaign or a contract.
For other networks, see the comparison of social media limits in the related guide. Each platform counts a little differently, so build a habit of checking the final text in the real composer before you publish.
Check your post length
→ universalcharactercounter.com