Platform guides

Social media character limits and media specs for every network in 2026

Caption limits, media counts, video lengths and formats for X, Threads, Bluesky, LinkedIn, Instagram, TikTok, YouTube and Facebook, and how each one counts.

5 min readPubledia team

Every network has its own ceiling for text, its own ceiling for attachments, and, more often than people expect, its own way of counting. A caption that fits on LinkedIn can be ten times too long for Bluesky, and a post that shows 270 characters in a text editor can still be refused by X. Start with what each network accepts when you publish through Publedia; the counting rules that catch people out follow.

The table below is generated from the same limits Publedia uses to check a post before it is sent, so it changes when they change. The figures in the rest of this post come from the same source.

What each network accepts through Publedia
NetworkCaption limitMedia per postLongest videoFormats
YouTube5,000 characters115mVideo, Reel or Short
Facebook63,206 characters1020mText, Image, Carousel, Video, Reel or Short
Instagram2,200 characters1015mImage, Carousel, Video, Reel or Short
Threads500 characters105mText, Image, Carousel, Video, Thread
TikTok2,200 characters110mVideo, Reel or Short
X280 characters (weighted)42m 20sText, Image, Video, Poll, Thread
LinkedIn3,000 characters2030mText, Image, Carousel, Video
Bluesky300 characters (graphemes)4No videoText, Image

"Media per post" is the most images or videos one post can carry. "Longest video" is the longest clip Publedia will send to that network. A gap between these numbers and what a network's own app allows is normal: publishing through an API often has tighter limits than posting by hand, and the table shows what Publedia sends, because that is what a scheduled post goes through.

Three ways of counting a character

Most networks count characters the way a text editor does. Two do not.

X counts weighted characters

X's limit of 280 is a weighted count. Characters from U+0000 to U+10FF count as one: that covers Latin, Cyrillic, Greek, Arabic, Hebrew, the Indic scripts and Thai, as well as digits and common punctuation. Chinese, Japanese and Korean characters and emoji count as two. Every link counts as 23, however long or short it is, because X wraps it in its own short link.

That has practical consequences:

  • A post written entirely in Japanese, Chinese, Korean or emoji runs out at around half the limit.
  • A post in Russian, Arabic or Hindi counts the same as one in English.
  • A long link costs nothing extra. A post with a 90-character URL and 250 characters of text fits, because the URL counts as 23.
  • An emoji with a skin tone, or a family emoji built from several people, still counts as two.

Bluesky counts what you see

Bluesky's limit is 300 graphemes. A grapheme is one visible character, however many code points it is built from. A family emoji made of four people and three joiners is one grapheme on Bluesky, while a plain character count would call it eleven. This is why a Bluesky post full of emoji can look too long in some tools and still post fine.

Everyone else counts characters

LinkedIn, Instagram, TikTok, YouTube, Threads and Facebook count plain characters. Emoji can still take two positions in some systems, so leave a little room if a caption sits right at the limit.

Publedia's composer counts in each network's own unit, and the character counter does the same without an account, so you can paste a draft and see all eight counts at once.

The limits that matter in practice

A ceiling is not a target. What matters is where each network cuts your text off in the feed, and what else competes with the caption.

X and Bluesky: write to the limit, thread past it

Both networks show the whole post in the feed, so the full 280 or 300 is usable. When you need more room on X, publish a thread: in Publedia you add parts to the X version, and each part has its own 280. Bluesky threads are not available through Publedia today, so a Bluesky version has to fit in one post of up to 4 images.

Threads: short posts and reply chains

Threads allows 500 characters per post. Through Publedia a carousel carries up to 10 images or videos; Threads' own API allows up to 20. Like X, you can publish a reply chain when one post is not enough. Image alt text is not supported when publishing to Threads through Publedia.

LinkedIn: room to write, but the first lines do the work

LinkedIn accepts 3,000 characters. The feed shows the first two or three lines and a "see more" link, so the opening sentence carries the post. Through Publedia, LinkedIn posts go to your personal profile and can carry text, up to 20 images, or one video of up to 30 minutes.

Instagram and TikTok: captions support the video

Instagram accepts 2,200 characters of caption and TikTok 2,200 through Publedia, which is more than most people ever use. Instagram needs media on every post: an image, a carousel of up to 10, a video or a Reel. TikTok through Publedia is video only, one video per post, up to 10 minutes.

YouTube: the description is the caption

YouTube caps a title at 100 characters and a description at 5,000 bytes, and allows neither < nor > in them. A byte limit is not a character limit: plain English letters are one byte each, but accented letters, most other scripts and emoji take two to four, so a description in Russian or full of emoji reaches the ceiling well before 5,000 characters. In Publedia the title has its own field, and it is placed at the top of the description when the video is sent, so the title counts toward the description's limit too. Videos and Shorts can be up to 15 minutes.

Facebook: effectively unlimited text

Facebook Pages accept 63,206 characters through Publedia, so the practical limit is attention, not the counter. Posts can carry text, images, carousels of up to 10, videos up to 20 minutes, and Reels. Facebook and Instagram also support a first comment, posted right after the main post.

Adapting one post for eight limits

The usual workflow for publishing the same idea everywhere looks like this:

  1. Write the longest version first. LinkedIn or Facebook is a good starting point, because nothing is cut.
  2. Cut down for Threads (500) and then for X and Bluesky (280 and 300). Keep the claim and one supporting detail. Move the link to the end, where on X it costs 23 either way.
  3. Treat video networks separately. On TikTok, YouTube and Instagram Reels the caption supports the video; a one-line hook and a few relevant words are usually enough.
  4. Check each version against its own network's limit, not against the longest one.

In Publedia's composer you write the shared text once, then select a channel's avatar and choose Write a version for this channel to give it its own text. The counter measures against the tightest limit among your channels, and a version that is over its network's limit is flagged before you can schedule it. The preview beside the editor shows each network's version as it will look.

Common mistakes

  • Trusting a generic counter for X. A plain character count undercounts Chinese, Japanese, Korean and emoji and overcounts long links.
  • Pasting the same caption everywhere. A caption that fits LinkedIn fails on X and Bluesky, and one written for X feels thin on LinkedIn.
  • Forgetting the media side. Bluesky takes no video through Publedia, TikTok takes no photos, and X stops at 4 attachments.
  • Leaving no room for a link on Bluesky. Through Publedia, a link in a Bluesky post counts at its full length, unlike on X, so a long URL eats into the 300.

Check a draft now

Paste any draft into the free character counter to see how long it is on each of the eight networks, counted the way each one counts. For how scheduling works on a specific network, see the guides to Threads, Bluesky, LinkedIn, TikTok and YouTube Shorts, or the full table on the supported platforms page.

Sources

  1. X Developer Platform, counting characters
  2. AT Protocol lexicon for a Bluesky post (app.bsky.feed.post)
  3. YouTube Data API, videos resource

Topics

  • Character limits
  • Video length
  • X
  • Bluesky
  • Threads

Blog

Plan, schedule and publish to eight networks from one calendar.

Try Publedia free