Twitter Character Counter

Twitter/X counter

X (the platform formerly known as Twitter) counts characters in a specific way: every URL, no matter how long or short, is weighted as 23 characters because the platform shortens it internally. This counter mirrors that rule. Paste your draft, and the running total shows weighted characters used, characters remaining, and how many URLs were detected and replaced with the 23-character equivalent.

How the weighting works

  1. 1

    Paste your post

    Everything you write is counted; URLs are detected by a regex matching `http://` and `https://`.

  2. 2

    URLs are replaced with 23 characters

    Each URL — whether it is `x.com` or a 200-character tracking link — weighs the same 23 characters X would apply.

  3. 3

    See the weighted total

    Displayed as `weighted / 280` so you can see how much room remains.

  4. 4

    Trim until it fits

    Anything under 280 fits. Anything over is rejected by the platform.

What each X feature costs

Element Counts as
Regular Latin letter 1 character
Most accented characters 1 character
CJK character (Chinese, Japanese, Korean) 2 characters
Emoji 2 characters
Any URL (short or long) 23 characters
Mention (@name) As-written length
Hashtag (#tag) As-written length
Image, GIF, video attached 0 characters (does not count toward the 280 limit)

Premium / long-form posts

This counter targets the 280 free-tier limit because that is the one that bites. If you are on Premium and writing long-form, count separately.

Tips

Frequently Asked Questions

X automatically wraps every URL in its t.co shortener when the post goes out, so it measures every URL as 23 characters regardless of the original length.

Two. X uses a Unicode code-point count that treats most emojis as 2. Complex emojis (flags, skin-tone modifiers) can count as more.

It targets the 280-character limit. For long-form posts just ignore the remaining count — you have plenty of room.

Probably an extra newline or trailing space in the compose box that you did not paste here. Copy-paste both ways to diff.

No. Counting runs locally; your draft never leaves the browser.