Why a link doesn't cost what it looks like it costs#
X automatically wraps every link in a post through its t.co shortener, and — this is the part that actually matters for counting — every wrapped link counts as exactly 23 characters against the limit, regardless of whether the original URL was 20 characters or 200. A post with one long URL and a post with the shortest possible URL cost the identical 23 characters once posted, which means pasting a long link does not eat more of your 280 than a short one would.
Why CJK characters count as two, not one#
X's own counting algorithm (twitter-text, the same library that powers the composer) assigns most characters a weight of 1, but characters from CJK scripts — Chinese, Japanese, Korean — a weight of 2. The reasoning is that a single CJK character typically conveys more information than a single Latin letter, so the platform charges accordingly. A post that reads short in Japanese can already be near the limit in X's accounting, even though it looks nowhere close to 280 characters on screen.
Why this differs from every other platform shown here#
Instagram, LinkedIn, Facebook, Threads and TikTok all enforce a plain character count — no link-shortening credit, no script-based weighting. X is the outlier specifically because of the t.co wrapping and the twitter-text weighting scheme, which is why a generic word-counter's character count and X's actual enforced count can genuinely disagree on the same piece of text.