The short answers, for the channels Cadencz publishes to: LinkedIn posts allow 3,000 characters, a standard X post 280, Threads 500, a Reddit title 300 and a text-post body 40,000, Bluesky 300, Mastodon 500 by default, Facebook roughly 63,206, a Telegram message 4,096 with captions at 1,024, Discord 2,000, Slack recommends staying under 4,000, and a dev.to title 128 characters. Every one of those numbers is sourced in the table below.
The more useful lesson sits underneath the numbers. Character limits are not obstacles to route around; they are each platform's clearest statement of what a post is supposed to be. The failure mode is writing one master caption and truncating it downward. The craft is writing into each limit, and the second half of this guide covers how.
The limits, in one table
| Channel | Limit | What to know |
|---|---|---|
| LinkedIn post | 3,000 characters | Stated directly in LinkedIn Help; the feed folds long posts behind a see-more break after the first lines, so the opening carries the post |
| X post, standard | 280 characters | Weighted counting: every link counts as 23 characters via t.co, and emoji and most CJK characters count as 2 |
| X post, Premium | Up to 25,000 characters | Plan-dependent: only paid Premium subscribers can write longer posts, and the timeline still shows the first 280 behind a Show more link |
| Threads post | 500 characters | Since September 2025 a post can also carry an attached text block of up to 10,000 characters; the post itself stays 500 |
| Reddit title | 300 characters | Documented in Reddit's Data API; titles cannot be edited after posting, so front-load the specifics |
| Reddit text-post body | 40,000 characters | Plan-dependent ceiling: Reddit's November 2025 changelog raised the body limit to 80,000 for Reddit Premium subscribers |
| Bluesky post | 300 graphemes | Counted in graphemes, so one emoji counts once; URLs are not shortened and count at full length |
| Mastodon post | 500 characters by default | Server-configurable: admins can raise the limit on their instance, so check the server you post from |
| Facebook post | About 63,206 characters | Meta does not document this figure; it is community-measured and has held for years. The feed truncates far earlier, which is the limit that matters |
| Telegram message | 4,096 characters | Media captions cap at 1,024 characters per the Bot API, a trap when a scheduled post carries an image |
| Discord message | 2,000 characters | Plan-dependent: Nitro raises it to 4,000; anything longer is converted into a text-file attachment nobody opens |
| Slack message | 4,000 characters recommended | Slack's API truncates above 40,000 characters and recommends staying under 4,000 for the text field |
| dev.to title | 128 characters | Enforced in Forem, the open-source codebase DEV runs on; article bodies are effectively unlimited |
Write into the limit, not down to it
Truncation treats the limit as damage. Writing into the limit treats it as the format, the way a haiku poet does not complain about syllables. The practical difference shows up when one source idea has to become several posts: the 280-character version is not the 3,000-character version with the ending cut off, it is a different selection from the same material.
- Draft at destination size from the start; do not write long and trim.
- Front-load every platform with a visible fold: LinkedIn's see-more break and X's 280-character preview of longer posts both decide whether the rest gets read.
- Leave counting headroom for the link: 23 characters on X, the full URL length on Bluesky.
- When the idea will not fit, change the selection, not the compression. Cut a point, keep the sentences whole.
Source note
We rewrote onboarding after learning users thought workspace setup was mandatory. Completion improved once the first useful action moved ahead of setup.
At 280 (X): one claim, one number
Users thought our setup screen was mandatory. It never was. We moved the first useful action ahead of it and completion jumped. Check what your onboarding merely implies is required.
At 500 (Threads): the claim plus a question
We assumed people skipped setup because it was long. Interviews said otherwise: they thought it was mandatory and gave up. Moving the first useful action ahead of setup fixed it. What has a user assumed about your product that you never actually said?
At 3,000 (LinkedIn): the decision, front-loaded
Three customer calls exposed the same false belief about our onboarding, and fixing it cost one screen reorder. Open with that, then spend three short paragraphs on the evidence, the change, and the operating lesson, and end with one question. Using 700 of the 3,000 characters is normal; filling the limit is not the goal.
The counting traps
- X does not count what your text editor counts: links are 23, emoji are 2, and most Chinese, Japanese, and Korean characters are 2, per X's developer documentation.
- Bluesky counts graphemes, not bytes, so emoji are cheap but long URLs are expensive; there is no built-in shortener.
- Telegram's caption limit is a quarter of its message limit; a 2,000-character update fails the moment you attach an image.
- Discord silently converts an over-limit message into a file attachment, which reads as an error to most channel members.
- Slack truncates rather than rejects above 40,000 characters, so a pasted document loses its ending without failing loudly.
- Mastodon's 500 is a default, not a constant; the same post can be valid on one server and rejected on another.
When the limit is the strategy
Read together, the limits describe each platform's native unit of thought. 280 characters is one claim. 500 is a conversational beat with room for context. 3,000 is a short lesson. 40,000 is the complete story with nothing held back. A content plan that respects those units stops asking how to shorten the LinkedIn post for X and starts asking which single claim from it deserves the X slot.
The same logic tells you when a platform is wrong for an idea. A nuanced pricing argument does not belong in 280 characters at all; forcing it there produces the misreadable half-claim that eats your afternoon in replies. Send the claim where it fits whole, and use the tighter channels to point at it.
That reframe is the whole argument for platform-native writing, and it is also why Cadencz drafts a separate version per destination and validates each one against its platform's rules before anything is scheduled.
Keep this next to your calendar
Limits are half of the formatting picture; image and video dimensions are the other half, and both change often enough to deserve a bookmarked reference rather than a memory.