Social Media Character Limits: A Live Table
Character limits are not trivia, they are a design constraint you either plan around or get bitten by. This is the table I keep current, dated, and the operational rule that comes with it: draft for your tightest platform first, not your loosest.
The table, dated August 2026
| Platform | Post/caption limit | Visible before truncation | Bio/headline limit |
|---|---|---|---|
| X (standard) | 280 characters | Full display | 160 characters |
| X Premium | 25,000 characters | 280 characters, then “show more” | 160 characters |
| 2,200 characters | Around 125 characters before “more” | 150 characters | |
| Threads | 500 characters | Full display | 150 characters |
| 3,000 characters | Around 200 to 210 characters before “see more” | 220 characters (headline) | |
| 63,206 characters | Around 150 to 200 characters on mobile before “see more” | 101 characters | |
| TikTok | 4,000 characters | Around 55 to 60 characters before “more” | 80 to 160 characters |
| 500 characters (description) | Around 50 to 60 characters before truncation | 100 characters (title), 160 to 500 (about) | |
| Bluesky | 300 characters | Full display, grapheme-counted | Not separately limited [VERIFY] |
| Mastodon | 500 characters by default | Full display | Varies, instance-configurable [VERIFY: default varies by server, confirm the specific instance] |
| YouTube description | 5,000 characters | Around 100 to 157 characters in search results | 1,000 characters |
Sources: X, Instagram, LinkedIn, Facebook, TikTok, Pinterest and YouTube figures per Letter Counter’s character limits comparison, published January 29, 2026. Bluesky figure from platform documentation research current as of August 2026. [VERIFY: recheck every row against each platform’s own current help docs at publish time and on a quarterly refresh, third-party trackers drift]
Reading it operationally: draft for the tightest network first
The number that matters for how you write is not the hard limit, it is the visible-before-truncation column. Instagram allows 2,200 characters, but a reader only sees roughly the first 125 before they have to tap through, which means your actual headline is whatever fits in two short lines, not whatever fits in the full caption box.
That gap between “allowed” and “visible” is why writing loose and hoping it works everywhere fails quietly. A caption written to fill LinkedIn’s generous 3,000-character room reads fine there and gets cut off mid-sentence on Threads at 500, or worse, on Pinterest’s tighter description field. Write the tightest version first, the one that has to say everything that matters inside its platform’s real constraint, then let looser platforms carry the extended version if you want one.
Variant strategy per limit class
Group your target platforms into rough limit classes instead of treating each one as a special case. Tight class (roughly under 500 visible characters): X, Threads, Bluesky, Pinterest description. Mid class (a few hundred visible before truncation but real room behind it): Instagram, TikTok. Loose class (little practical limit that matters day to day): LinkedIn, Facebook, YouTube description.
Write your core message to fit the tight class first. That version becomes your baseline. For the mid and loose classes, you can extend it, add a sentence of context, a second point, a call to action with more room to breathe, without ever worrying that the extended version has to be trimmed back down for anywhere else.
Truncation behavior: what actually happens when you overflow
Every platform in the table handles an overflow differently, and the behavior matters for what you put in the first line. Instagram, LinkedIn, Facebook, TikTok and Pinterest all truncate with a “show more” or “see more” prompt, meaning the content still exists, it is just hidden behind a tap. X’s standard tier and Threads simply will not accept a post past their hard limit, so there is no silent truncation risk there, the platform stops you at write time instead of at read time.
The practical rule that follows: on any platform with a “show more” truncation, the visible portion has to work as a complete thought on its own, since a meaningful fraction of readers never tap through. Treat the truncation point as your real headline, not an inconvenience.
Limits as agent guardrails
If an AI agent is drafting captions for you, the character limit for each target platform should be a constraint the agent gets before it writes, not a check that runs after. PostSider’s per-platform variants and its check-post-for-missing-fields tool both exist for exactly this: catching an overlong caption or a missing platform-specific field before a draft ever reaches your review queue, rather than after a publish call fails.
An agent that knows Threads caps at 500 characters before it starts writing produces a usable draft on the first pass. An agent that finds out after generating 800 characters has to rewrite, which costs a turn and, more importantly, tends to produce a worse, more compressed rewrite than a version written to the limit from the start.
Keep this table honest
Limits change without a platform announcing it clearly, which is the whole reason this is a maintained table and not a one-time post. Recheck every row against the platform’s own current documentation before you build anything that assumes these numbers, and expect a quarterly refresh here as platforms adjust theirs.
For the pixel-dimension half of this same operational discipline, the image sizes cheat sheet covers the visual constraints the same way this post covers the text ones. And if an agent is the one writing to these limits, the 12 tools an AI agent needs walks through how a preflight check like this fits into a tool design, including why catching a limit violation before a write call beats catching it after.
Frequently asked questions
What is the character limit for a standard X post?
280 characters on a standard account. X Premium subscribers get up to 25,000 characters, but only the first 280 display before a reader has to expand the post, so writing to the free limit still produces the better default post.
What happens if a caption exceeds Instagram's character limit?
Instagram allows up to 2,200 characters, but only roughly the first 125 characters show before a reader has to tap 'more' to expand it. Writing past the limit does not fail, it just means almost everything past the first two lines is invisible unless someone taps through.
Does Threads have a shorter limit than X?
Yes. Threads caps a single post at 500 characters, well above X's standard 280 but far short of LinkedIn's 3,000 or Facebook's technical 63,206. Threads and Bluesky both count using grapheme clusters, so what you see on screen is what counts against the limit, unlike platforms that count differently for emoji or non-Latin scripts.
Should I write one caption and post it everywhere, or write a version per platform?
Write for the tightest limit among the platforms you actually use, then let that version work as your baseline everywhere. Platforms with room to spare, LinkedIn or Facebook, can carry a longer variant, but writing loose first and hoping it fits X or Threads later is how truncation happens by accident instead of by choice.