# X character counter

Most counters count your keystrokes. X doesn't. It counts a weighted length where every link is exactly 23 characters and CJK characters count double - so this one counts it X's way, and shows you where the post would break into a thread.

The tool runs entirely in your browser. Nothing you type is sent anywhere.

## how X really counts characters

The limit is 280 on a free account and 25,000 on X Premium, but the number being measured is not your string length. X computes a **weighted length** from the public twitter-text rules:

- **Links always count as 23.** Every URL gets wrapped in t.co, so a 9-character link and a 300-character link both cost 23. Shortening a URL before posting saves you nothing.
- **CJK and full-width characters count as 2.** Chinese, Japanese, Korean and full-width punctuation are weighted double, so a 280-character Japanese post hits the cap at 140.
- **Everything else counts as 1.** Latin letters, digits, spaces, line breaks, and most punctuation are single-weight.
- **Handles and hashtags count in full.** Only links get the flat rate - @mentions and #hashtags cost every character.

The formula, plainly: `weighted = sum(char weights) - (chars in each URL) + (23 per URL)`.

## the 280 that matters even on Premium

Premium lets you write 25,000 characters, but the timeline still truncates at the fold with a "show more" link. A reader decides whether to expand based on what fits before it. So the practical limit for anything meant to travel is still the first couple of hundred characters - which is why the counter defaults to 280 and shows what falls after the break.

If your text is genuinely longer than one post, don't cram it. Split it deliberately with the thread splitter (/tools/thread-splitter), and make sure the opening line earns the second one - score it with the hook analyzer (/tools/hook-analyzer).

## why length is not the real problem

Trimming to 280 is table stakes. Whether the post travels is decided by reach and saves, not character count. That's what Argus reads: your own X analytics, which posts actually converted reach into follows, and which live posts are worth replying to right now. You still press send - it drafts, never posts.
