> Source: https://www.trackmedia.app/blog/twitter-character-limit · Last updated: 2026-10-06

# Twitter character limit: 280, and what counts

The twitter character limit is 280 per post on X, or 25,000 with Premium. See how links, emoji, mentions and media count, and how to fit other networks.

*Guides · Published 2026-10-06*

The twitter character limit is **280 characters per post** on X. Premium subscribers can write longer posts of up to 25,000 characters, while everyone else stays at 280.

X now calls tweets "posts," so the tweet character limit and the limit of twitter characters you may have searched for are the same number. The catch is that X does not count every character as 1. Links, emoji and Chinese, Japanese and Korean text are counted differently, and this page shows exactly how.

## Twitter character limit at a glance

As of October 2026, these are the figures in X's own help center and developer documentation.

| What | Limit | Notes |
| --- | --- | --- |
| Standard post | 280 | Counted with weights, so the real number of characters you can type varies |
| Longer post | 25,000 | Needs X Premium to write; everyone can read it |
| A link | 23 | Always 23, however long the URL is |
| An emoji | 2 | Any emoji, including skin tones and combined emoji |
| A Chinese, Japanese or Korean character | 2 | So 140 of them fill a post |
| Attached media | 0 | Photos, GIFs and video do not use up characters |
| Bio | 160 | Profile description |
| Display name | 50 | Your username (the part after the @) is capped at 15 |

Sources: X's guide to [counting characters](https://docs.x.com/fundamentals/counting-characters), the help pages on [X Premium](https://help.x.com/en/using-x/x-premium), [your profile](https://help.x.com/en/managing-your-account/how-to-customize-your-profile) and [usernames](https://help.x.com/en/managing-your-account/x-username-rules).

## What counts toward the 280 characters?

X uses a weighted count. Most characters cost 1, a few cost 2, and a few things cost nothing. The rules below come from X's developer documentation.

- **Letters, numbers, spaces and punctuation:** 1 each.
- **Links:** every link is wrapped in a t.co short link and counts as 23, whether the original is 20 characters or 200.
- **Emoji:** 2 each, regardless of complexity. A family emoji built from four people joined together still counts 2.
- **Hashtags:** the # and the tag text count normally.
- **Mentions you type:** they count normally. The @mentions X fills in automatically at the start of a reply do not count.
- **Media:** attached media counts 0 when you post from an official X app.

## How is a post with a link and an emoji counted?

Take a short announcement: "Our new guide is live!" followed by an emoji, a space and a link that is 65 characters long. The text is 22 characters, the emoji adds 2, the space adds 1 and the link adds 23.

![A breakdown of one post: 22 characters of text, a 2-character emoji, a 1-character space and a link that counts as 23, for a total of 48 of 280 characters](https://www.trackmedia.app/assets/img/blog/twitter-character-limit-fig1.svg)

*The post uses 48 of its 280 characters. The 65-character link counts as 23.*

That is 48 in total, leaving 232. X's open-source [twitter-text](https://github.com/twitter/twitter-text) library, which X's documentation points developers to for counting, returns the same 48 for this text.

## How does non-Latin text count?

It depends on the script. X's documentation says Latin text, punctuation and common symbols count 1, while Chinese, Japanese and Korean count 2 each and every other Unicode character defaults to 2.

The [twitter-text configuration file](https://github.com/twitter/twitter-text/blob/master/config/v3.json) is more precise. It gives weight 1 to code points up to U+10FF, plus a few general punctuation ranges, and weight 2 to everything else. That range covers Greek, Cyrillic, Hebrew, Arabic, Thai and Devanagari, so text in those scripts counts 1 per character. Running a 10-character Cyrillic phrase through the library returns 10.

If you write in Chinese, Japanese or Korean, plan on 140 characters, not 280.

## What is the limit for longer posts on X Premium?

A longer post can hold up to 25,000 characters and can include text, photos, a GIF or video. X lists longer posts as a feature of every Premium tier, and you can also write one as a quote or a reply.

Everyone can read a longer post, but only a Premium subscriber can create one. If you do not subscribe, your limit stays at 280.

One detail from X's [post types](https://help.x.com/en/using-x/types-of-posts) page matters if you tag people. An account you mention in the first 280 characters of a longer post is notified. An account mentioned after the first 280 characters currently is not.

## What are the limits for replies, bios and names?

A reply has the same 280-character limit as any other post, but the @mentions X adds at the start of a reply do not count against it. Replies written by a Premium subscriber can run longer, up to 25,000 characters.

Your bio can be up to 160 characters. Your display name can be up to 50 characters, and your username can be at most 15. Direct messages are not covered here.

## Cross-posting to other networks without hitting limits

If you publish the same text on several networks, the shortest limit decides how long the shared text can be. X is among the tightest, and other networks use different units, so a post that fits on one can be rejected on another.

These are the limits for five networks, taken from each network's own documentation:

| Network | Limit | Notes |
| --- | --- | --- |
| [Bluesky](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/feed/post.json) | 300 | Counted in graphemes (what a reader sees as one character), with a separate cap of 3,000 bytes |
| [Threads](https://developers.facebook.com/docs/threads/posts) | 500 | Emoji are counted as the number of UTF-8 bytes |
| [Mastodon](https://docs.joinmastodon.org/user/posting/) | 500 | The default; each server can set its own. Links count 23, as on X |
| [LinkedIn](https://www.linkedin.com/help/linkedin/answer/a528176) | 3,000 | Longer text goes in an article instead |
| [Instagram](https://developers.facebook.com/documentation/instagram-platform/instagram-graph-api/reference/ig-user/media) | 2,200 | Caption limit in Instagram's publishing API, which also lists 30 hashtags and 20 @ tags |

A 400-character post, for example, fits on Threads, Mastodon, LinkedIn and Instagram, but not on X or Bluesky. Networks change these numbers, so check the linked page if a post is close to the line.

TrackMedia's [preflight check](https://www.trackmedia.app/#publish) is built for this. When you pick the networks for a post, the composer shows a character counter for each one under your draft, tightest limit first, and the check compares the post with each network's limits while you write. You can then edit only the version for the network that is too short, instead of cutting the text for every network.

For more on running several channels at once, see [how to manage multiple social media accounts](https://www.trackmedia.app/blog/how-to-manage-multiple-social-media-accounts). If you are sending people from Instagram to a link, read [how to add a link to an Instagram story](https://www.trackmedia.app/blog/how-to-add-link-to-instagram-story).

## How do you stay within the limit?

- **Leave room for the link.** It uses 23 characters, so you have 257 left for words if you add one.
- **Count emoji as 2.** Five emoji cost 10 characters, not 5.
- **Lead with the point.** If the post has to be cut, the end is the part you can lose.
- **Use a thread for longer ideas.** Split the text across connected posts of 280 characters each, unless you have Premium and want one longer post.
- **Check each network before you publish,** not after. A shared draft that is fine on LinkedIn may be too long for X.

More questions about publishing to several networks? Check the [TrackMedia FAQ](https://www.trackmedia.app/#faq).

## Write once, check every network

[Start for free with TrackMedia](https://go.trackmedia.app/signup) and see each network's limit while you write.
