Character counter for every social network
Paste a post and see whether it fits on X, Instagram, TikTok, Bluesky and the rest, counted the way each network counts: X weights links and emoji, Bluesky counts what you see, YouTube counts bytes. The numbers come from the same code PostDaily's composer uses, and nothing you type leaves your browser.
Count by network
- FacebookFits
0 / 63,206 characters · 63,206 left
- InstagramFits
0 / 2,200 characters · 2,200 left
0 / 5 hashtags
Instagram said in December 2025 that a post or Reel takes 5 hashtags; its API documentation still says 30, so treat more than 5 as a risk.
- TikTokFits
0 / 2,200 characters · 2,200 left
- YouTubeFits
0 / 5,000 bytes · 5,000 left
The description limit is in bytes, so accented and non-Latin letters use 2 to 4 each.
- XFits
0 / 280 weighted characters · 280 left
Links count 23 however long they are; emoji and most CJK characters count 2.
- PinterestFits
0 / 800 characters · 800 left
This is the description; a Pin's title has its own 100.
- ThreadsFits
0 / 500 characters · 500 left
- MastodonFits
0 / 500 characters, links as 23 · 500 left
Links count 23 and the server part of a mention is free. 500 is the default; your server may allow more.
- BlueskyFits
0 / 300 graphemes · 300 left
0 / 3,000 bytes
Counts what you see as one character, so a flag or a skin-toned emoji is 1. Also capped at 3,000 bytes.
Mastodon's 500 is only the default. Check your server's real limit, and see every network's other limits for video, images and titles.
Why the numbers differ by network
A plain character count treats every character as one, and no network quite does. X gives a link a flat 23 and an emoji 2. Mastodon also charges 23 for a link but counts an emoji once. Bluesky counts grapheme clusters, so a family emoji built from seven code points is still one. YouTube's description limit is in UTF-8 bytes, so a description in Arabic or Japanese fits far fewer letters than one in English. Paste the same text into each and you get four different answers, which is why a generic counter lets through posts the network then rejects.
Common questions
- What is the character limit on X (Twitter)?
- 280 for a standard account, but X does not count every character as one. Any link counts as 23 however long it is, and emoji and most Chinese, Japanese and Korean characters count as 2. That is why a post can look short and still be rejected; this counter applies X's own weighting.
- What is the Bluesky character limit?
- 300, counted as graphemes: what you see as one character is one, so a flag or a skin-toned emoji counts once even though it is several code points. Bluesky also caps a post at 3,000 bytes, which only matters for very emoji-heavy or non-Latin text.
- How long can an Instagram caption be?
- 2,200 characters. Instagram also announced in December 2025 that a post or Reel takes 5 hashtags, while its API documentation still says 30, so this counter warns you past 5 rather than blocking the draft.
- What are the Threads, TikTok and Facebook limits?
- Threads allows 500 characters per post, TikTok 2,200 for a caption, and Facebook 63,206 for a Page post. Each counts characters as written, with no special weighting for links.
- Is the Mastodon limit really 500?
- 500 is Mastodon's default, and many servers raise it. Mastodon counts every link as 23 and ignores the server part of a mention. Use the Mastodon limit checker to read your own server's real limit.
- Is what I type stored or sent anywhere?
- No. Everything is counted in your browser, and the text never leaves the page. The counts use the same code PostDaily's composer uses, so a draft that fits here will be accepted when you schedule it.
Write once, fit everywhere
PostDaily's composer shows this count for every channel you pick as you type, and can write a shorter version for the networks where the draft does not fit. Free plan, no card.