X post character limit and how X counts emoji and links
By TechCompare · Updated · How we check
X posts can contain up to 280 characters, according to X's own counting documentation. The Character Counter doesn't apply X's weights, so a draft that looks fine here can still run over on X.
Calculator
Character Counter
Example text
We shipped the new draft today. Thanks to everyone who sent notes on the first version 🙌 Next up is the final review.
- Characters
- 117
- Words
- 22
- Sentences
- 2
- Paragraphs
- 1
- Lines
- 1
- No whitespace
- 95
Limit: 280 characters
163 characters remaining
117 / 280 characters
If you're writing for X, formerly Twitter, the short answer is one number. The harder part is knowing how the counter's total compares with X's count of the same text. This page walks through the rules X documents, shows the example where the two totals split, and gives steps to adjust a draft before you publish it.
How this is calculated
X's counting page sets the limit at 280 characters. Most characters count as 1, but some count as 2. That group includes all emoji, which count as 2 regardless of how complex they are, along with Chinese, Japanese and Korean characters. The same page lists other Unicode characters as 2 by default.
A link has its own rule. The page says, "All URLs are wrapped with t.co shortener and count as 23 characters, regardless of the original length." A link takes 23 characters on X, whether it's a short address or a long one. Media attached through official clients counts as 0 characters.
By default, the counter counts visible characters. An emoji counts as one, even a complex one like a person with a skin tone, and a link counts at its real length. The example post shows the first gap: its emoji is one character in the counter and 2 on X.
To bring the counter's total closer to X's, make these changes: - Keep the counter in its default visible character mode. - Add 1 for each emoji, including complex ones. - For each link, subtract its real length and add 23. - Add 1 for each Chinese, Japanese or Korean character.
Here's one worked case. Take a post with 270 ordinary characters (letters, spaces, and punctuation) and 6 emoji. The counter would show 276, which looks like room to spare. X counts the 6 emoji as 12, so the post comes to 282 and is over the limit by 2.
Code point mode works against the emoji step. In that mode, a complex emoji can count as several parts, so its total already includes extra counts, and adding 1 on top overshoots. A post in Chinese, Japanese or Korean can also reach 280 on X long before the counter's total gets close. The counter can't tell which characters X weights, so the steps above only cover the weights you can spot in your own text.
Verdict
Treat the counter's total as an estimate for any post with emoji, links, or Chinese, Japanese or Korean text, even after the adjustments above. Leave some room under 280 for weights the counter can't see, and paste the final text into X before you publish. If X changes its counting rules, its documentation is the final word, not this page.
More Counting scenarios
Related guides
Frequently asked questions
How many characters can an X post have?
Does an emoji count as one character on X?
Does a long link use more of the 280 characters on X?
Do photos or videos use up characters?
Can I trust the counter's total for a post in Chinese, Japanese or Korean?
Related tools
LLM Token Counter
Count tokens in any prompt for GPT, Claude, Gemini, and Llama with exact OpenAI tokenization.
Use toolText Diff Checker
Compare two texts or files line by line and word by word, ignore case or whitespace, and copy the changes as a unified diff.
Use toolText Encoding Converter
Convert text to Base64, binary, hex, URL encoding and HTML entities, and back again.
Use toolJSON Formatter
Validate, format, and minify JSON. Browse it as a tree, run JSONPath queries, compare two documents, or validate against a JSON Schema.
Use tool