Twitter (X) character counter

Count a post the way X counts it. Links are always 23 characters, and Hindi, Arabic and emoji weigh double.

Free. No sign-up. Runs in your browser. Checked 2026-09-10.

Counted the way X counts

0 / 280

280 left on a free account. X Premium allows up to 25,000, but the timeline still collapses anything past 280.

0 characters typed
How this works, what it excludes, and the FAQsShow

X does not count characters the way you do

Most counters tell you how many characters you typed. X enforces something different: a weighted budget of 280 units, where three rules change what a character costs.

  • Every link costs 23. X wraps URLs in t.co before counting, so a long tracking URL and a short one cost exactly the same.
  • Non-Latin script costs 2 per character. Hindi, Arabic, Chinese, Japanese and Korean all weigh double, which halves your real budget to about 140 characters.
  • Emoji cost 2, not 4 or 8. A flag or skin-tone emoji is several codepoints but one grapheme, and X charges it as one at weight 2.

What this means if you post in Hindi

It is the rule that catches Indian accounts out most often. A 140-character Hindi post uses the entire 280 budget, so a thought that fits comfortably in English will not fit in Devanagari. Transliterated Hinglish written in Latin script weighs 1 per character and gets the full 280.

The counter flags this as soon as it sees a double-weight character, so you can see the gap between what you typed and what X charges you.

Put this calculator on your own site

Free to embed on any site, including commercial ones. Paste the snippet into a blog post, a resources page or a client-facing guide and the calculator runs inside your page.

The only thing we ask is the credit line underneath, which links back here. That link is how people find the tool and how we justify keeping it free and ungated, so please leave it in.

Leave this on automatic and each reader sees their own currency, detected from their browser and changeable by them. Pin one if your audience is in a single market.

Copy this into your page
Optional: remove the inner scrollbar

The embed works without this. Add it once anywhere on the page and the iframe resizes itself to fit its content instead of scrolling internally. It listens only for a height number from poststack.ai and does nothing else.

Default height
780px, adjustable in the snippet
Tracking
None. No cookies, no analytics, nothing posted back to us
Your readers’ data
Stays in their browser. We never receive what they type

Frequently asked questions

What is the Twitter (X) character limit?
280 characters on a free account. X Premium raises the cap to 25,000, but the timeline still collapses anything past 280 behind a "show more", so 280 remains the number worth writing to.
How many characters does a link use on X?
Exactly 23, however long the URL actually is. X wraps every link in its t.co shortener before counting, so a 200-character tracking URL costs the same 23 as a short one. This is the rule people most often get wrong, usually by assuming links cost more than they do.
Why does my Hindi post hit the limit sooner?
X weights characters rather than counting them. Latin script weighs 1 per character, but Devanagari, Arabic, Chinese, Japanese and Korean all weigh 2. A post in Hindi therefore has roughly half the room of the same post in English: 140 characters, not 280.
How much does an emoji count for?
Two, and only two, even for a flag or a skin-tone emoji that a naive counter reports as four or eight. X counts the whole emoji as one grapheme at weight 2.
Does this count the same way as X itself?
It applies the three rules X publishes in its developer documentation: t.co link weighting at 23, the weighted character ranges, and grapheme-level emoji counting. It is not connected to X and cannot see your account, so treat it as an accurate model rather than a guarantee.