Every platform publishes a character limit, and almost every creator has still had a post rejected or cut off at the worst possible word. The number on the help page is only half the story. The other half is how the platform counts, and where it hides your text behind a "more" link long before the limit.
This guide covers both for the eight platforms most creators post to. If you just want to check a draft, paste it into the free post length checker, which applies every rule below at once.
The limits at a glance
| Platform | Post limit | Shown before "more" | Counting rule | |---|---|---|---| | X (Twitter) | 280 | whole post | Weighted (links 23, emoji and CJK 2) | | Bluesky | 300 | whole post | Graphemes | | Threads | 500 | whole post | Characters | | LinkedIn | 3,000 | about 210 | Characters | | Instagram | 2,200 (caption) | about 125 | Characters | | TikTok | 2,200 (video caption) | a line or two | Characters | | Facebook | 63,206 | a few lines | Characters | | Discord | 2,000 per message | whole message | Characters |
A few of these come with caveats. X Premium subscribers can post far longer than 280. TikTok photo posts allow longer descriptions than video captions. Facebook's limit is so large that it never matters in practice; the feed truncation is what you write for.
Three ways of counting
Plain characters
Threads, LinkedIn, Instagram, TikTok, Facebook, and Discord essentially count characters. Spaces, line breaks, punctuation, and hashtags all count. That is the behaviour most people expect, and the one most character counters show.
Graphemes (Bluesky)
Bluesky counts graphemes: the units a reader perceives as a single character. The difference shows up with emoji. A family emoji, a flag, or a skin-toned hand is assembled from several Unicode code points stitched together. A naive counter might report 7 or 11 characters for one family emoji; Bluesky counts it as 1.
In practice this works in your favour. If a generic counter says your Bluesky post is 310 characters but it contains several compound emoji, it may well fit.
Weighted characters (X)
X is the odd one out, and the platform where posts most often fail at the last moment. Its counter assigns weights:
- Every link counts as 23 characters, whatever its real length. X wraps links in its own short links, so a 90-character URL and a 15-character URL cost the same. A long link is effectively a discount; a very short one costs extra.
- Emoji count as 2. Each emoji grapheme is weighted double.
- Chinese, Japanese, and Korean characters count as 2, as do characters from many other non-Latin scripts. A post in Japanese effectively has 140 characters to work with.
- Most Latin letters, digits, and common punctuation count as 1.
So a post with two links and three emoji has already spent 52 of its 280 before you write a word. If you write for X in a generic text editor, leave yourself a margin or use a counter that applies the weighting.
The limit that matters more: the feed cut-off
On LinkedIn and Instagram, the hard limit is rarely the constraint. The cut-off is.
LinkedIn shows roughly the first 210 characters of a post (often only two or three lines on mobile) before "…see more". Everything after that is only read by people who chose to expand it. Your first line has one job: earn the click.
Instagram shows only about 125 characters of a caption under the image before "more". Captions can run to 2,200 characters, and long, useful captions do well, but the opening has to work on its own.
Facebook and TikTok behave similarly: a line or two is visible, and the rest is behind a tap.
Practical consequences:
- Put the hook, the news, or the question first. Never open with "Excited to announce that…" when the announcement itself fits in the space.
- Keep links and hashtags out of the visible opening. They take room and add nothing to the hook.
- Line breaks count toward the cut-off differently on mobile and desktop. Check how the post looks on a phone, where most people will see it.
Hashtags count, too
Hashtags are characters like any other, and on X they are a significant cost in a 280-character budget. Platform norms differ a lot:
- X and Bluesky: one or two relevant hashtags at most. More reads as spam and eats your limit.
- LinkedIn: a small number (three to five) at the end of the post is common practice.
- Instagram: hashtags still help discovery, but Instagram has been tightening how many it rewards; a handful of specific tags beats a wall of thirty.
- TikTok: a few hashtags in the caption help categorise the video.
- Discord: hashtags do nothing; leave them out.
Writing to fit without writing badly
Trimming a post to fit is mostly editing, and the same edits make posts better:
- Cut the warm-up. "I wanted to share that", "Just a quick reminder that", "So, I've been thinking about" — delete them and start at the point.
- Replace phrases with words. "In order to" → "to". "At this point in time" → "now". "A large number of" → "many".
- Use numerals. "3" instead of "three" is shorter and easier to scan.
- Move detail to a link or a reply. On X and Bluesky, a short post with a link or a follow-up reply often outperforms a crammed one.
- Write the long version first for long platforms. It is much easier to cut a LinkedIn post down to an X post than to inflate an X post into something worth reading on LinkedIn.
That last point is the core of posting to several networks well. We cover it in depth in One idea, eight platforms.
Keeping up with changes
Platforms change limits without much notice. X has raised limits for paying subscribers several times; Threads added longer text attachments; TikTok has changed caption limits more than once. We review this guide and the checker when a platform changes its rules, and the date at the top of this page shows the last review.
If you post to several platforms regularly, this is exactly the busywork CreatorFlow exists to remove: you write an idea once, and RizBop adapts it to each platform's limits, counting rules, and norms before you publish.
