An ordinary X post has a 280 weighted-character limit. “Weighted” matters: a visible symbol and a JavaScript string position are not the same thing. X’s composer is the final check before publication.

The main limits and where to verify them

FieldGuidance checked October 16, 2026
Ordinary post280 weighted characters
Longer postsX documents up to 25,000 characters for eligible paid subscribers; check your plan and composer
Bio160 characters
HandleUp to 15 allowed letters, digits or underscores

Do not use the post limit as a limit for every profile field, poll or message. Feature availability can vary by plan and client. A paid plan does not make every editor behave identically.

Use weighted length rather than raw string length

X’s developer documentation assigns a weight of one to common Latin text and a weight of two to emoji and CJK characters. Recognized complex emoji sequences, including joined families and skin-tone variants, count as two, not the number of code points used to encode them. Unicode normalization also matters.

Examples of weighted length: Hello is 5; 你好 is 4; a recognized family emoji is 2. A basic counter based on bytes, JavaScript .length or visible glyphs can disagree with X.

URLs, media and mentions

A detected URL counts as 23 weighted characters after X’s link handling. For example, Read plus a valid URL uses 5 + 23 = 28. Manually typed mentions and hashtags use space; attached media in official clients does not consume the text allowance. Automatically included reply recipients are treated differently from names you type yourself.

Check a draft accurately

  1. Draft the complete text, including links and tags.
  2. Use the official twitter-text library for software counting, with its Unicode and URL rules.
  3. Paste into the actual composer and resolve any remaining limit warning.
  4. Shorten repetition before removing context or the source of a claim.

Example edit: “Due to the fact that the train is delayed, our workshop will begin later” becomes “The train is delayed. Our workshop will start later.” Keep the new start time when you know it.

When the answer needs more space

Twitter’s original short-post limit changed over time; an old screenshot is not a current specification. If a complete explanation does not fit, use an eligible longer post, a short connected thread, or a link to a full explanation. Do not split a safety caveat away from the claim it qualifies. See the thread drafting guide for a worked example.

Sources and checks

Reviewed on October 16, 2026. Counting Characters; About X Premium; How to customize your profile; Help with username registration.