Free · No sign-up

Character counter for social media

Write or paste a post and every platform's limit fills in at once.
Each row counts the way that platform counts, which is not always the way you would.

It runs in your browser.
Nothing you type or pick is sent anywhere.

Characters
0
Words
0
Lines
0

Where it fits

  • YouTube title0 / 100100 left
  • X (Twitter)0 / 280280 left
  • Bluesky0 / 300300 left
  • Threads0 / 500500 left
  • Mastodon0 / 500500 left
  • Discord0 / 20002000 left
  • Instagram0 / 22002200 left
  • LinkedIn0 / 30003000 left
  • Telegram0 / 40964096 left
  • YouTube description0 / 50005000 left

X counts an emoji, or a Chinese, Japanese or Korean character, as two - and any web address as 23.
Mastodon counts a web address as 23 too.
Everywhere else an emoji counts as two here, to be safe: if the bar says it fits, it fits.

"Characters" is not one number

Three platforms publish their own counting rules, and the same post comes out a different length on each.

  • X gives you 280, but weighs them. Latin, Hebrew, Arabic and Cyrillic letters cost 1, Chinese, Japanese and Korean cost 2, every emoji costs 2, and every web address costs 23, however long it is.
  • Bluesky counts what you see as one character, up to 300 - and separately refuses a post past 3,000 bytes, which a post full of emoji can reach first.
  • Mastodon also counts what you see, up to 500, with every web address at 23 and a mention of someone on another server counted without their server's name.

Everyone else publishes a number and no method, so the counter counts those the strict way, where an emoji is two.
If a row says it fits, it fits.

An example

Take 200 characters of text and a 100-character link to your new video.
X counts that as 223, because the link costs 23 however long it is.
The same post is 300 on Threads and Instagram, which count the address in full.

The limits, at a glance

  • YouTube title: 100. X: 280. Bluesky: 300.
  • Threads and Mastodon: 500. Discord: 2,000.
  • Instagram caption: 2,200. LinkedIn: 3,000.
  • Telegram message: 4,096. YouTube description: 5,000.

How we build and check this tool

X's weights come from its own counting library (twitter-text, version 3) and its developer documentation on counting characters.
Bluesky's limits come from the post record in its open protocol, and Mastodon's rules from its own code; the other limits are each platform's published caps.
These are the same numbers Tublish's own post screen uses.

Last checked October 4, 2026.

These tools come with every Tublish account

Inside Tublish they sit beside your own website, a post that goes to every platform at once, and a mailing list that's yours.
Free, no card needed.

Create your free account