Social media character limits (2026)
Every text limit that matters, in one table, updated for 2026. Each row links to a live counter for that exact field, so you can paste your draft and see whether it fits before you hit post. No app switching, no guessing, no truncated hook.
Tip: the limit is only half the job. A field can accept far more text than the feed will show before a see more cut. Tap any platform below to open its live character counter and check both the total and what shows before the fold.
Feed posts
The main text field on each platform — where most posts live.
Captions & visual posts
Text that sits with an image or video, where the first line is what most people read.
Bios & profile fields
The identity fields people read before they decide to follow.
Titles & headlines
Short fields where every character is fighting for a click.
Long-form & descriptions
Fields built to carry detail: descriptions, channel posts, and self-posts.
Messaging & chat
Workplace and community chat, where long messages cost the whole channel.
How to read this table
Two numbers govern every social post, and only one of them is in the table above. The first is the hard limit: the maximum the platform will store. The second is the practical limit: the amount that shows before the feed collapses the rest behind a see more, a show more, or a tap. The hard limit decides whether your post is accepted. The practical limit decides whether anyone reads the part that matters. A Facebook post can run to 63,206 characters, but the feed shows roughly the first eighty before it truncates, which is why the engagement advice for Facebook is the opposite of its ceiling. Treat the table as the ceiling and treat the first line of every post as the real estate that earns the click.
The tightest fields in this set are the Hacker News title, YouTube video title, Instagram bio, where you have to say the whole thing in a sentence or less. The roomiest are the Facebook post, Reddit self-post body, Slack message, where the risk flips: you have so much space that the actual point gets buried under links, boilerplate, and warm-up. Different problems, same fix — write the first line as if it is the only line, then let the rest support it.
Why character counting is not just string length
On most platforms a character is a character, but two big exceptions trip people up. Twitter / X applies a weighted count: ordinary Latin letters and digits count as one, while most emoji and characters from scripts such as Chinese, Japanese, Korean, and Arabic count as two, and every URL is replaced by a 23-character t.co link no matter how long it really is. A tweet that looks short in a word processor can fail in the composer once those weights apply, which is why our Twitter countermirrors the platform rules instead of reporting raw length. SMS has its own quirk: messages are sent in 160-character segments, and a single emoji or accented character can switch the whole message to a 70-character-per-segment encoding, so a “short” text can quietly become three billed segments. Bluesky counts grapheme clusters rather than bytes, so a family emoji made of several code points still counts as one visible character. When the stakes are high — a paid post, a legal disclosure, a launch announcement — count in a tool that knows the platform’s rules rather than trusting the character count in your notes app.
Limits change — that is the point of one canonical table
Platforms raise, lower, and split their limits more often than most teams track. Twitter doubled from 140 to 280 and then added 25,000-character Premium posts. Instagram has shifted what counts toward a bio. Discord moved its Nitro ceiling. Threads and Bluesky arrived with fresh numbers, and Mastodon’s limit depends entirely on which server you are on, because each instance sets its own. The value of a single maintained table is that you check one page instead of ten help centers, and the live counter on each row reflects the same number we publish here. If a platform changes a limit, the counter and the table move together, so the figure you copy into a scheduler is the figure the platform will actually enforce.
A simple workflow for every post
Whatever the platform, the same four steps keep you out of trouble. First, write the post in full without watching the count, so the idea comes out cleanly. Second, paste it into the counter for that exact field and read the total against the table above. Third, look at what shows before the fold — the first line on a feed post, the first eighty characters on a caption, the first sentence on a description — and make sure the topic and the reason to care are both there. Fourth, trim from the bottom, not the top: cut adjectives, connective phrases, and repeated boilerplate before you touch the hook, the link, or a required disclosure. If you still cannot fit, the answer is usually structure, not deletion: split a long Slack message into a thread, break a long Telegram update into a summary plus a linked note, or turn a wall-of-text caption into a short hook with the detail in a comment.
Counters and guides for each platform
Every row above links to its own live counter. For the platforms where the why behind the limit matters most, we also keep a full guide: TikTok caption limit, YouTube description limit, Facebook post limit, Reddit post limit, Discord message limit, Slack message limit, Telegram channel posts, Pinterest pin descriptions, Snapchat captions, and Tumblr posts. If you write across several platforms at once, start with the universal character counter, which shows every limit in one view as you type.
Bookmark and embed
This is the page to keep in a browser folder next to your scheduler. The limits are current for 2026, the counters are free with no signup, and nothing you paste leaves your browser — the counting happens locally, so a draft press release or an unannounced product name never travels to a server. Social and content teams are welcome to link to this table from a style guide or onboarding doc; it is the canonical reference we keep up to date so you do not have to.