Caption length limits for every social media platform in 2026
How much text fits in a post on Instagram, Facebook, TikTok, YouTube, LinkedIn, X, Threads, Bluesky, and Pinterest, how each one counts characters, and how much shows before the feed cuts a caption off.

On this page
Every platform caps the text that goes with a post, and the caps range from 280 characters to more than sixty thousand. The numbers below are the limits each platform's API enforces at publishing time, as eksis checks them in October 2026. Platforms do change them, so if you are writing right up to a limit, confirm it in the platform's own help pages.
The limits at a glance
| Platform | Text field | Maximum |
|---|---|---|
| Caption (feed, carousel, Reels) | 2,200 characters, up to 30 hashtags | |
| Post or photo caption | 63,206 characters | |
| Reels caption | 2,200 characters | |
| TikTok | Video caption | 2,200 characters |
| TikTok | Photo post title and description | 90 and 4,000 characters |
| YouTube | Video title and description | 100 and 5,000 characters |
| Post text | 3,000 characters | |
| X | Post | 280 weighted characters |
| Threads | Post | 500 characters, up to 5 links |
| Bluesky | Post | 300 characters |
| Pin title and description | 100 and 800 characters |
How each platform counts
Characters are not always counted the way you would count them by hand.
X weighs characters. Most letters, digits, and punctuation in Latin script count as one, while emoji and Chinese, Japanese, or Korean characters count as two. Every link counts as 23 characters however long it is, because X shortens it. X Premium accounts can post up to 25,000 characters, but a tool that cannot see your subscription status has to work with 280, and eksis does.
Bluesky counts graphemes, which are the characters you see on screen. An emoji built from several pieces, like a flag or a family, still counts as one. Underneath there is also a 3,000-byte cap, which only comes into play with long runs of complex emoji or non-Latin scripts.
TikTok counts video captions in UTF-16 code units, the same way JavaScript measures the length of a string, so many emoji use two of the 2,200.
Hashtags, mentions, and links count toward the limit on every platform. On Instagram the 30-hashtag cap applies on top of the 2,200 characters. On Threads, a post with more than five links is rejected outright instead of being shortened.
The limit is not the target
The maximum is how much a platform will accept, not how much people read. What matters more is how much shows before the feed cuts the post off behind a "more" link.
The feed shows roughly this much before it cuts a caption off:
| Platform | Visible before the cut |
|---|---|
| about 125 characters | |
| YouTube | about 157 characters of the description |
| about 210 characters, then "see more" | |
| about 480 characters |
Put the point of the post inside that first stretch. Write the opening line so the post still works for someone who never taps "more".
One draft, several limits
When the same announcement goes to several platforms, the shortest limit decides how much the shared version can say: 280 on X, 300 on Bluesky, 500 on Threads. There are two ways to handle it.
- Write the short version first, for X or Bluesky, then expand it for the platforms that give you more room.
- Write the full version once, then trim it for each platform.
Starting short has a side benefit: it forces you to find the one sentence that matters, and that sentence makes a good opening line for the longer versions too.
In the eksis composer, each account you select gets its own preview and its own character count as you type, and you can open a channel's tab to edit that version without changing the others. A caption that is over the limit for a platform is flagged as an error before you schedule it, instead of being rejected by the platform when it tries to publish, and a caption long enough to be cut off in the feed gets a warning.
Check before you post
A quick routine before scheduling a post to several places:
- Read the first line of each version on its own. It should make sense without the rest.
- Count the links on X and Threads, since each one costs characters or can push the post over a cap.
- Check that the hashtags still fit on Instagram after your edits.
To have every limit in this table checked as you write, create a free eksis account and connect one channel.


