X character counter

X allows 280 characters in a standard post, but it weighs them: every link counts as 23, and emoji and Chinese, Japanese or Korean characters count as 2. This counter weighs your text exactly the way X does.

  • Runs in your browser
  • Nothing uploaded
  • No sign up
Examples
91left

189 / 280

X count
189
What X measures
You see
208
Visible characters
Links
1
23 counted
Emoji
1
2 counted
Heavy
0
0 counted
Light
164
164 counted
Live. Everything runs on your device.Nothing is uploaded

How to use the X character counter

  1. 1

    Paste your post

    Type or paste your draft into the editor, or start from one of the examples.

  2. 2

    Pick the limit

    Choose Standard 280, or Premium 25,000 if you write longer posts as a subscriber.

  3. 3

    Read the ring

    The ring shows how many characters are left, and turns red when you go over.

  4. 4

    Inspect any character

    Tap a character in the weight strip to see why it counts as 1, 2 or 23.

How X counts characters

X measures posts in weighted characters, using four rules in order. They are published in X's developer documentation.
  1. Rule 1

    Normalize

    Accents typed as two marks merge into one letter.

    e + ´ → é
  2. Rule 2

    Light ranges weigh 1

    Latin, Greek, Cyrillic, Arabic, Hebrew, Indian scripts, Thai.

    aЖعक
  3. Rule 3

    Everything else weighs 2

    Chinese, Japanese, Korean and symbols like … • €.

    字…•€
  4. Rule 4

    Emoji 2, links 23

    Whole emoji and whole links get a flat price.

    🇯🇵👨‍👩‍👧
Why some scripts weigh 2. One Chinese or Japanese character carries far more meaning than one Latin letter, so X evens it out.

Key takeaway

The heavy side is not only Asian scripts. The bullet, the ellipsis, arrows, the euro sign and Unicode bold letters all count as 2, and they are the usual reason an English post runs over.

Weight table by Unicode range

Tap any sample to inspect its code point.

  • U+0000 to U+10FF0 to 4351
    1

    Latin letters with and without accents, digits, basic punctuation, Greek, Cyrillic, Hebrew, Arabic, Devanagari, Thai, Georgian and more

  • U+2000 to U+200D8192 to 8205
    1

    Typographic spaces of different widths, the zero width space and the joiners that glue emoji together

  • U+2010 to U+201F8208 to 8223
    1

    Curly quotes, the typographic dash family and the double vertical line

  • U+2032 to U+20378242 to 8247
    1

    Prime marks, used for feet, inches, minutes and seconds

  • Everything elseoutside the four ranges
    2

    Chinese, Japanese and Korean, the ellipsis, bullets, the euro sign, arrows, trademark signs, styled letters and all emoji

Inspector

€2counted by X
Name
euro sign
Code point
U+20AC
Decimal
8364

Outside the light ranges, so X counts it twice.

X wraps every link in its own short t.co address, which has a fixed length. So every link costs the same 23, whatever you paste.

  • Tracking parameters are free. The link costs 23 either way.
  • Shortening a link yourself saves nothing.
  • Even a.io takes 23 of a short post's 280.
  • Email addresses are not links. They count letter by letter.

What you paste

https://relay.dev/blog/2026/09/how-we-cut-cold-starts-in-half?utm_source=x&utm_medium=social

92 characters on screen

What X counts

A t.co link of fixed length. Illustrative address.23

Characters that count more than they look

Each number is calculated live with the same code as the counter.
  • 👨‍👩‍👧‍👦

    A family emoji

    Seven code points, one emoji, so it costs 2.

    21 seen
  • 🇯🇵

    A flag

    Two regional letters shown as one flag: 2.

    21 seen
  • ありがとう

    Japanese

    Five characters, ten counted.

    105 seen
  • Wait…

    The ellipsis

    The single … character weighs 2. Three full stops weigh 3.

    65 seen
  • a.io

    A tiny link

    Four characters on screen, 23 counted.

    234 seen
  • 𝐁𝐨𝐥𝐝

    Styled letters

    Unicode bold letters count double.

    84 seen
  • café

    Accents typed two ways

    X normalizes first, so both forms count as 4.

    44 seen
  • 감사합니다

    Korean

    Every Hangul syllable weighs 2.

    105 seen
  • नमस्ते

    Hindi

    Light range: each of the six code points counts once.

    63 seen
  • Done. ↵ ↵ Next.

    A blank line

    Two line breaks, 1 each.

    1212 seen
  • • €5

    Bullets and the euro

    The bullet and the euro sign weigh 2 each.

    64 seen
  • https://example.com/blog/2026/09/how-we-cut-cold-starts-in-half?ref=newsletter

    A huge link

    Over seventy characters on screen, still 23.

    2378 seen

How to shorten a post that is over 280 characters

Two drafts that ran over, and what brought them back.

The launch post that ran over

Before314 / 280

🚀🚀 Big news!!! After 18 months of work, Relay 2.0 is finally here… Cold starts are 60% faster, deploys are 2× quicker, and the dashboard has been rebuilt from scratch → https://relay.dev/blog/relay-2-0-release-notes-and-migration-guide ✅ No code changes ✅ Works with every region ✅ Free for all plans Try it today and let us know what you think! 🙌

After160 / 280

Relay 2.0 is here. Cold starts are 60% faster and deploys take half the time. No code changes. Every region. Free on all plans. Notes: https://relay.dev/blog/relay-2-0-release-notes-and-migration-guide

Emoji, the ellipsis and the arrows cost 2 each. Cutting them saved more than shortening the link could.

A bilingual announcement

Before313 / 280

We're opening our Tokyo office next month! 東京オフィスを来月オープンします。エンジニア、デザイン、サポートの採用も始めました。詳しくはウェブサイトをご覧ください。ご応募をお待ちしています。 Hiring for engineering, design and support roles right now, with full details and the application form on our careers site.

After136 / 280

Our Tokyo office opens next month, and we're hiring for engineering, design and support. 東京オフィスを来月オープンします。採用中です。

Japanese fills the post twice as fast. Saying less in each language brought it back under 280.

X character limits at a glance

Each limit links to X's own documentation. For profiles, use the X bio checker.
  • 280

    Standard post

    Weighted count

    Source
  • 25,000

    Premium post

    Subscribers only

    Source
  • 160

    Bio

    Under your name

    Source
  • 50

    Display name

    Above your handle

    Source
  • 15

    Username

    Letters, numbers, _

    Source
  • 1,000

    Image description

    The ALT button

    Source

Counting built into the composer

Kairo Post weighs every draft the same way, live. A post over the limit is stopped before it publishes or spends a credit, and a long draft becomes a thread in one step. See the publishing feature.

Questions about the X character limit

More writing helpers are in the tools library.

What is the character limit on X?
A standard post can be up to 280 characters as X counts them. Premium subscribers can write posts of up to 25,000. Links always count as 23, and emoji and many scripts count as 2.
Why does X say my post is too long when my word processor says it fits?
Word processors count every character once. X counts emoji, Chinese, Japanese and Korean, bullets, the ellipsis and the euro sign as 2, and every link as 23. A few of those push a post past 280.
Do spaces and line breaks count on X?
Yes. Each space and each line break counts as 1. A blank line between paragraphs is two line breaks, so it costs 2.
How many characters does a link use in an X post?
Every link counts as 23, however short or long, because X replaces it with a t.co link. Shortening a link saves nothing.
Do emoji count as two characters on X?
Yes. Every emoji counts as 2, including emoji built from several code points such as families, skin tones, flags and keycaps.
Do @mentions and hashtags count toward the limit?
Hashtags and mentions you type count like any other text. The mentions X adds automatically at the start of a reply do not count, according to X's developer documentation.
Is this counter exactly the same as X's composer?
It follows the rules X publishes for developers. Link detection for addresses typed without https can differ in rare cases, so leave a few characters of room at the limit.
Is my text sent anywhere?
No. The counter runs entirely in your browser, with no sign up and no cost. Nothing you type is uploaded, stored or logged.

Post at the right moment.
Starting today.

Connect an account, describe your voice and let Kairo Post do the legwork.