← All free tools

X (Twitter) character counter

X does not count characters. It counts weight — and the difference decides whether your post sends.

/ 280 weighted

Runs in your browser. Nothing you type leaves this page.

The three rules .length gets wrong

Every URL costs 23, however long it is

X wraps every link in t.co, so a nine-character link and a nine-hundred-character link both cost the same 23. A post that looks 90 characters over can be comfortably inside the limit — and a counter that measures the raw string will refuse it.

Emoji and CJK cost 2 each

Latin letters, Greek, Cyrillic, Hebrew, Arabic and Thai all cost 1. Chinese, Japanese and Korean characters cost 2, as do emoji. So 150 Japanese characters is 300 to X — over the limit — while your notes app, your CMS field and almost every character counter you might have drafted it in say 150 and report room to spare. The disagreement is not discovered while writing. It is discovered at the end.

One emoji is one unit, however many pieces it has

A four-person family emoji is four people joined by three invisible characters. A flag is two letters in disguise. X charges 2 for the whole thing; count the pieces separately and you get 11 for the family and 4 for the flag. This is the rule almost every counter gets wrong, including ours until we tested it against X's own configuration.

The weights, from X's documentation

WhatCostExample
Latin, punctuation, common symbols1abc → 3
Greek, Cyrillic, Hebrew, Arabic, Thai1Ж → 1
CJK — Chinese, Japanese, Korean2日本語 → 6
Any emoji, however complex2👨‍👩‍👧‍👦 → 2
Any URL, however long23https://a.co → 23

Counting happens after Unicode NFC normalisation, so a composed é and a decomposed e + accent give the same answer.

This counter, inside the composer

The tool above is the same code that runs in PostSiete Lens, a free Chrome extension that puts the real count inside X, LinkedIn, Instagram, Threads and Facebook while you type. No account, no trial. It reads — it never posts for you.

Add to Chrome — free →

Questions

Do links count toward the 280?

Yes, at a flat 23 each, regardless of the link's real length. Shortening a URL before posting saves you nothing on X.

Does a longer post exist?

X has offered longer posts to paying subscribers. The 280 figure here is the standard limit that applies without a subscription, which is what this counter measures against.

Why does my Japanese post get rejected at 150 characters?

Because it is 300 to X. CJK characters cost 2 each, so the practical limit for Japanese, Chinese or Korean text is about 140 visible characters.

Is anything I type sent to a server?

No. The counting runs in your browser; the page makes no network request with your text.

Sources