ReplyBossreplyboss
  • Pricing
  • Free Tools
  • FAQ
Sign InSign Up
ReplyBossreplyboss

AI-powered engagement that helps you grow your audience and promote your products naturally

© Copyright 2026 replyboss. All Rights Reserved.

Product
  • Connect to Claude
  • Pricing
  • Blog
Free Tools
  • X Character Counter
  • X Thread Splitter
  • Engagement Rate Calculator
  • Best Time to Post on X
  • All free tools
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
Aug 21, 2026

X Character Limit: How Many Characters Is a Tweet in 2026?

A post on X is 280 characters, except when it is 25,000, and except that X does not count characters the way you do. Here is how the limit actually works.

The short answer is 280 characters on a free account and 25,000 with X Premium. The useful answer is that X does not count characters the way you count characters, which is why a post that looks well within the limit sometimes will not send.

Three rules do most of the damage. Characters are weighted rather than counted, links cost a fixed amount regardless of length, and the Premium limit is not the constraint people think it is. Once you know all three, the composer stops surprising you.

Characters are weighted, not counted

X applies a weighting system to every character in a post. Common Latin characters, the ones used to write English and most Western European languages, cost one unit each. Almost everything else costs two.

"Everything else" is a large category. It includes every emoji, and it includes Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Devanagari and Cyrillic. A post written in Japanese hits the ceiling at around 140 visible characters, not 280. A post with fifteen emoji in it has spent thirty characters on the emoji alone.

This is deliberate rather than a bug. When X moved from 140 characters to 280 in 2017, the change was aimed at languages where a single character carries less meaning than a Japanese one does. The weighting is the mechanism that kept the effective limit roughly constant for languages that were never squeezed by 140 in the first place.

The practical consequence is that any counter which reports the length of your string is telling you something other than what X will tell you. Our X character counter applies the real weighting, so the number it gives you is the number the composer will give you.

Links always cost 23 characters

Every link you post gets rewritten to a t.co address. This has happened since 2011 and it is not optional, not even for links that are already short.

The counting consequence is that a link costs 23 characters no matter what. A forty-character link costs 23. A three-hundred-character link with a full tracking payload attached to it also costs 23. If you have ever carefully trimmed a URL to save room in a post, you were saving nothing.

That cuts in a useful direction. There is no reason to use a link shortener before posting to X, because X is already shortening it and a third-party shortener just adds a redirect hop that slows the page down and loses you a little trust. Post the real URL, tracking parameters and all, and let t.co do its work.

One thing to note: the 23 characters are charged whether or not the link is the last thing in the post. Putting the link at the end does not make it free, it just makes the preview card behave predictably.

The 25,000 limit is real, and mostly a trap

X Premium raises the per-post limit to 25,000 characters. Long posts genuinely work, and some accounts have replaced their blogs with them.

The catch is what happens in the timeline. Anything past roughly the first 280 characters is collapsed behind a "Show more" link. Someone scrolling sees your opening, a fade, and a link. They have to make an active decision to read the rest, and most of them do not.

So the practical limit has not moved. The first 280 characters still carry the entire weight of whether the post gets read, exactly as they did before. What Premium buys you is somewhere to put the rest once the opening has earned it, which is a genuine improvement over splitting an argument across a thread, but only if the opening does its job.

If you are writing long, write the first 280 characters as though they are the whole post, because for most of your audience they are. If the piece really is long-form, a thread still gives you more surface area, since every post in it is a separate chance to appear in someone's timeline.

Replies use the same budget

Replies are limited to 280 characters on a free account, the same as posts. This matters more than it sounds, because replies are where most accounts actually grow, and 280 characters is a tight space in which to add context, say something new, and stay readable.

The reliable way to find room is to delete the run-up. A reply that begins "This is a really good point, and I think what you're getting at is that" has spent seventy characters agreeing before it says anything. Starting at the actual claim usually recovers enough space to make it.

The same applies to hedging. "I might be wrong but it seems like maybe" costs about forty characters and weakens the sentence it is attached to. If you are wrong, someone will tell you.

Where the limit still catches people

A few specific cases account for most surprises:

Quote posts count only your commentary, not the post you are quoting. You get the full 280 for your own text.

Handles you mention count towards the limit in a normal post. In a reply, the handles that X adds automatically at the start do not.

Line breaks count as one character each. A post with generous spacing between short lines can lose fifteen or twenty characters to whitespace, which is often the difference on a post that is just barely over.

Trailing whitespace counts too, which is a genuinely annoying way to be three characters over.

The practical summary

The limit is 280 weighted characters, or 25,000 with Premium of which the first 280 are what anyone reads. Emoji and non-Latin scripts cost double. Links cost a flat 23.

If you want the number before you paste into the composer, the character counter applies all of these rules and runs entirely in your browser, so nothing you paste into it goes anywhere.