Guide

Social media character limits in 2026

A table of social media character limits for every network, how each one counts characters, and why the platform has the last word on the final post.

Every network decides how much text a post can hold, and they disagree. A caption that fits on LinkedIn will be cut off on Bluesky, and a post written for X may be shorter than it needs to be anywhere else. Knowing the numbers up front saves rewrites at the last minute. This page lists the limits PostDelegate uses for planning, explains how each network counts characters and shows how to write once and fit everywhere.

Character limits by network

The table lists every network in the PostDelegate directory that has an assessed limit. The last column shows whether you can connect the network today. A network that is coming soon has a limit listed for planning but cannot be connected yet.

NetworkLimitCounted asNotesOn PostDelegate
Instagram 2,200 Unicode characters Coming soon
Facebook 63,206 Unicode characters Coming soon
LinkedIn 3,000 Unicode characters Coming soon
TikTok 2,200 UTF-16 units, so some emoji count as 2 Coming soon
YouTube 5,000 UTF-8 bytes, so non-Latin text uses more Connect today
X 280 Weighted: most Latin letters 1, many others and emoji 2 Premium accounts get 25,000. Coming soon
Threads 500 Characters, with each emoji counted by its UTF-8 byte length Coming soon
Bluesky 300 Graphemes, so an emoji or a flag counts as 1 Connect today
Pinterest 500 Unicode characters Coming soon
Mastodon 500 Unicode characters Every link counts as 23. A remote mention counts as just @user. Coming soon
Google Business 1,500 Unicode characters Coming soon
Reddit 40,000 Unicode characters Coming soon
Telegram 4,096 Unicode characters Coming soon
Discord 2,000 Unicode characters Coming soon
Slack 4,000 Unicode characters Connect today
Tumblr 32,768 Unicode characters Connect today
Lemmy 10,000 Unicode characters Connect today
Nostr 100,000 Unicode characters Connect today
Farcaster 320 UTF-8 bytes, so non-Latin text uses more Coming soon
Twitch 500 Unicode characters Connect today
Kick 500 Unicode characters Connect today
Dribbble 40,000 Unicode characters Connect today
DEV.to 100,000 Unicode characters Connect today
Medium 100,000 Unicode characters Connect today
WordPress 100,000 Unicode characters Connect today
Hashnode 10,000 Unicode characters Connect today
Listmonk (email) 100,000 Unicode characters Connect today

VK, Whop, Skool, MeWe and Moltbook are in the directory but have no assessed limit yet, so they are left out of the table.

Why the same text counts differently

A character is not one thing. The same sentence can have a different length depending on what the network counts, and emoji and non-Latin scripts are where the gaps show up.

  • Unicode characters. The plainest count: one per character. Most networks in the table use it.
  • Graphemes. What a reader sees as one character. Bluesky counts this way, so an emoji or a flag is 1 even when it is built from several pieces underneath.
  • UTF-16 units. TikTok counts this way, so some emoji count as 2.
  • UTF-8 bytes. YouTube and Farcaster count bytes, so accented letters and non-Latin scripts use more than one unit each.
  • Emoji by byte length. Threads counts an emoji as its UTF-8 byte length, so a post heavy with emoji fills up faster.
  • Weighted. X weights characters: most Latin letters count 1, many others and emoji count 2, and every link counts as 23.
  • Fixed-cost links. Mastodon counts every link as 23, however long the address, and a remote mention counts as just the user name.

If you write in a language other than English, or use a lot of emoji, leave extra room. Test the real text, not an estimate from an English sentence.

Short-form and long-form networks

The limits fall into two groups, and it helps to plan for each.

Short posts

Networks such as X, Bluesky, Threads, Mastodon, Farcaster, Twitch and Kick sit between 280 and 500 characters in the table. For these, write the shortest version of your idea first. If the idea does not fit, a thread may be a better format. On Bluesky, Kick and Twitch you can add more entries to a post with Add post in a thread, which publishes the follow-ups as replies. See how to schedule Bluesky posts and threads.

Captions and descriptions

Instagram, TikTok, Google Business Profile, LinkedIn, Discord, Telegram, YouTube, Dribbble and Slack sit between 1,500 and 5,000 characters. The limit is rarely the problem. The practical problem is that most readers see only the first lines, so put the point there.

Articles and newsletters

Article networks such as DEV.to, Medium, Hashnode and WordPress, and email through Listmonk, have limits of 10,000 characters or more. For these, the number in the table is a planning ceiling. The composer in your workspace and the platform enforce the real rule, and each channel has its own required fields, such as a title or a tag. See the channel guides, or cross-post articles with canonical URLs.

Write once, fit everywhere

  1. Write for the tightest network first. If the same post goes to Bluesky and Instagram, write the Bluesky version, then add detail for Instagram.
  2. Put links last. A link that costs 23 on X or Mastodon is easier to budget when it is the final item.
  3. Check the real text. Paste the finished caption into the caption checker. It shows the count for each network at once, and it runs in your browser, so the text is not sent or saved.
  4. Adjust per channel. In the PostDelegate composer you write the content once and then adjust it for each channel. Each channel keeps its own settings, and the composer counts as you type.
  5. Read the error if one appears. A post that is too long is rejected with a readable message, and the API returns the same checks as a 400 error.

Using an assistant to fit the limits

An AI assistant is useful for trimming. When Claude or ChatGPT is connected to PostDelegate over MCP, it reads each channel's length limit and required settings before it creates a post, so you can ask for one idea in the right length for each channel and get drafts you can review. Ask for drafts, and check each one in the calendar. See scheduling with Claude and scheduling with ChatGPT.

What this table is not

  • It is not a promise that a post under the limit will be accepted. Networks can also reject a post for content, media or account reasons.
  • It does not cover media limits. File formats and sizes are in the media guide.
  • It does not mean every listed network is open. Only the ones marked Connect today can be connected.

Next steps

Open the caption checker with your next post, then plan it on the calendar. The platform directory shows which networks you can connect today, and the scheduling guide covers drafts, scheduling and repeats.

Ready to plan your posts? Start your 7-day free trial. No credit card is required.

More guides

Try it for 7 days

Your next great post starts here.

Give your ideas a home. Plan your content, find your rhythm, and bring your social channels together.

Start your 7-day free trial

No credit card required

Add a card before the trial ends to keep your plan. More networks open as platform approvals are completed.