Skip to content

Guide

X (Twitter) Character Limit: How the Count Actually Works

280 characters sounds like a simple rule. The counting method behind it treats scripts, emoji, and links completely differently.

By Published

“280 characters” sounds like it should be the simplest possible rule — count the letters, stop at 280. What X (formerly Twitter) actually does is closer to a weighted scoring system than a length check, and the gap between “characters as you’d count them” and “characters as the platform counts them” is where a lot of confused “why won’t this post” moments come from.

The baseline: 280 weighted units, not 280 letters

For most Latin-script text — English, Spanish, French, German — one visible character really does cost one unit against the 280 limit, so counting with a plain character counter gets you very close to accurate. The divergence shows up in three specific places: non-Latin scripts, links, and complex emoji. Get any of those wrong in your mental math and a post that looks well under the limit gets rejected, or one that looks over actually fits.

CJK text is weighted, not just measured

X weights most Chinese, Japanese, and Korean characters as roughly two unitseach rather than one. The platform’s own reasoning is that a single CJK character typically packs in as much information as a couple of Latin letters, so counting it as one unit would let CJK posts say disproportionately more in the same budget. The practical effect is the opposite of what people often assume: a CJK post doesn’t get more room, it effectively gets a smaller raw-character budget than an equivalent English post, because each visible character costs about double.

Links always cost the same, however long they are

What you pasteWhat counts toward 280
A 12-character short URLFixed t.co length
A 140-character tracking URL with query paramsSame fixed t.co length
Plain text, no linkActual character count

Any recognized URL is automatically rewritten behind the scenes into a fixed-length t.coshortened link, and it’s the shortened version that counts against your 280, not the original string length. This is why pasting a long, parameter-heavy link into a post costs exactly the same as pasting a short one — the platform doesn’t care how long the real URL is, only that it recognized it as a link at all.

Emoji: it depends on how many code points are stacked

A simple emoji like a single smiley is usually one or two underlying Unicode code points and counts as a correspondingly small number of units. Composite emoji — a family group, or a person emoji combined with a skin-tone modifier — are actually several code points joined with invisible connector characters (zero-width joiners) to render as one glyph on screen. X’s counter operates on the underlying code points, not the single glyph you see, so a five-person family emoji can quietly cost several units more than it looks like it should.

Practical takeaway

For plain Latin-script text with no links, an ordinary character count is accurate enough to draft against. The moment a post includes a URL, expect it to cost a fixed amount regardless of its real length. Writing primarily in Chinese, Japanese, or Korean, budget roughly half the usual character headroom. And if a post with heavy emoji use gets rejected as too long despite looking short, the composite emoji are very likely the reason — count them as multiple units, not one each.

Frequently asked questions

Is the X character limit 280 words or 280 characters?
Characters, not words — and a very specific weighted count of characters at that, not a simple string length. Most languages count one character as one unit; some scripts and any link count differently, covered below.
Why do some languages get fewer characters on X?
It's actually the reverse for the count itself: X weights most Chinese, Japanese, and Korean (CJK) characters as roughly two units each rather than one, on the reasoning that a single CJK character typically conveys as much meaning as two Latin letters. In practice this means CJK posts fit noticeably less raw text into the same 280-unit budget.
How many characters does a link use on X?
Every URL, regardless of its actual length, is automatically shortened to a t.co link and counted as a fixed number of characters (23 for http links, historically; X's documentation is the source of truth for the current figure). A 90-character URL and a 15-character one cost the same toward your limit.
Do emoji count as one character or more on X?
It depends on the emoji. A simple emoji is usually one or two Unicode code points and counts accordingly, but complex emoji built from multiple joined code points — a family emoji, or a person emoji with a skin-tone modifier — can count as several units each, because the platform counts underlying code points, not the single glyph you see rendered.

Sources & references

Authoritative references cited by this piece. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Related

More guides on this topic

Published September 25, 2026