Social media character counter: X, LinkedIn, Instagram, Threads and more

Check one text against the character limits of X, LinkedIn, Instagram, Threads, Bluesky, TikTok, YouTube and more, each counted the way that network counts it.

  • Threads0 / 500
    characters; emoji as their UTF-8 bytes · Source
  • Xpost (Premium: 25,000)0 / 280
    weighted: links 23, emoji 2, CJK 2 · Source
  • Bluesky0 / 300
    graphemes (what you see as one character) · 0 / 3,000 UTF-8 bytes · Source
  • Mastodondefault; each server sets its own0 / 500
    characters; links 23 · Source
  • LinkedInapproximate0 / 3,000
    characters (LinkedIn doesn't say how emoji count) · Source
  • Instagramcaption; at most 30 hashtagsapproximate0 / 2,200
    characters (Instagram doesn't say how emoji count) · Source
  • Facebookapproximate0 / 63,206
    characters; not stated by Meta
  • TikTokvideo caption0 / 2,200
    UTF-16 units (emoji count 2) · Source
  • YouTubevideo title0 / 100
    characters; no < or > · Source
  • YouTubevideo description0 / 5,000
    UTF-8 bytes (non-Latin letters and emoji take 2–4) · Source
  • Pinterestpin description (title: 100)approximate0 / 800
    characters · Source
  • Redditpost title (body: 40,000)approximate0 / 300
    characters; not stated by Reddit
  • Telegrammessage (media caption: 1,024)0 / 4,096
    characters after formatting is removed · Source
  • Discordmessage (Nitro: 4,000)approximate0 / 2,000
    characters · Source
  • WhatsAppmessageapproximate0 / 4,096
    characters; stated for the business API only · Source
  • Google Business Profileupdateapproximate0 / 1,500
    characters; not stated by Google

Why the same text has different lengths

Networks don't count characters the same way:

  • X counts every link as 23 characters, whatever its length, and counts emoji and Chinese, Japanese or Korean characters as 2 (X: counting characters).
  • Threads counts emoji as their UTF-8 bytes, so 🚀 is 4 and a family emoji 25 (Threads API: Posts). The Threads character counter also checks links and the topic tag.
  • Bluesky counts graphemes, what you see as one character, up to 300, and the post also has to stay under 3,000 bytes (Bluesky post record).
  • YouTube limits a video description to 5,000 bytes, not characters, so text in Cyrillic or with emoji fits less (YouTube Data API).
  • TikTok and Telegram count in UTF-16 units, in which most emoji count as 2.

So a 280-character post can be fine on Threads and too long on X, or the other way round.

The limits, with sources

Checked on 14 October 2026. "Approximate" means the network doesn't state the limit, or doesn't say how it counts, on its own pages.

NetworkLimitHow it countsSource
Threads500Emoji as UTF-8 bytesMeta
X280 (Premium 25,000)Links 23, emoji and CJK 2X
Bluesky300 graphemes and 3,000 bytesGraphemesBluesky
Mastodon500 by default, set by each serverLinks 23Mastodon
LinkedIn3,000Not stated (approximate)LinkedIn
Instagram caption2,200, at most 30 hashtagsNot stated (approximate)Meta
Facebook63,206Approximate, not stated by MetaThird-party sources only
TikTok video caption2,200UTF-16 unitsTikTok
YouTubeTitle 100, description 5,000 bytesDescription in UTF-8 bytesGoogle
PinterestTitle 100, description 800Not stated (approximate)Pinterest
RedditTitle 300, body 40,000Approximate, not stated by RedditThird-party sources only
TelegramMessage 4,096, caption 1,024After formatting is removedTelegram
Discord2,000 (Nitro 4,000)Not stated (approximate)Discord
WhatsApp4,096Stated for the business APIMeta
Google Business Profile1,500Approximate, not stated by GoogleThird-party sources only

Where a network doesn't say how it counts emoji or links, the counter counts each character as one, so treat the number as close, not exact.

Writing one text for several networks

Write for the strictest network first. If the text fits X's 280 weighted characters and Bluesky's 300 graphemes, it fits almost everywhere else. Put links near the end, keep emoji for meaning rather than decoration, and check hashtags: Instagram stops at 30, Threads takes one topic tag per post.

To schedule the same post to Threads, Govir publishes it at the time you pick and checks it against Threads' own rules before it goes out.

Questions

Is this count exact? For Threads, X, Bluesky, Mastodon, TikTok, YouTube and Telegram it follows each network's documented rules. For networks that don't document how they count, it's approximate.

Why does my X count differ from the number of letters? X counts every link as 23 characters and emoji as 2.

Is my text sent anywhere? No. Everything is counted in your browser; nothing is sent to Govir or stored.

Why no logos? Each network's name is written out instead: their brand rules don't allow their logos on tools like this one.

Last checked

More free tools

Ready to grow on Threads?

Govir is in private beta. Join the waitlist to hear when it opens.

Join the waitlist