The fold matters more than the limit
Almost every platform accepts far more text than it shows. Facebook will take tens of thousands of characters and displays around 480 before collapsing the rest. LinkedIn accepts 3,000 and shows roughly 210. Instagram accepts 2,200 and shows about 125, or stops at your second line break, whichever arrives first. YouTube descriptions run to 5,000 characters of which two or three lines are visible.
So the number that decides whether a post works is not the one the composer counts down for you. It is the fold, and the text before it has to do the whole job of earning the expand. Put the point first. Put the link where it will be seen without an extra tap. A post that opens with throat-clearing and buries its substance at character 400 has published nothing, whatever the character counter said.
X counts differently from everyone else
Two rules make X's count diverge from a plain character count. Characters in the CJK ranges — Chinese, Japanese, Korean — and most emoji are weighted at two units, on the reasoning that they carry more meaning per character, which is why a post in Korean effectively gets 140. And any URL is counted at a fixed 23 units no matter how long it is, because links are rewritten through the t.co wrapper before the count is taken. A 180-character tracking URL therefore costs 23. Both rules are applied here when the platform is set to X.
Graphemes, code points and bytes
"How long is this text" has three defensible answers and platforms disagree about which one to use. A grapheme is what a person points at and calls a character; a family emoji or a flag is one grapheme. A code point is a Unicode scalar, and that same family emoji is five or six of them joined by zero-width joiners. A byte count is the UTF-8 encoding, where a Latin letter is one byte and most emoji are four.
Bluesky counts graphemes. Several APIs and database columns count bytes, which is why a caption full of emoji can be refused by a backend that accepted a longer plain-text one. When you are within a handful of characters of a limit and the text contains emoji, assume the count is the least favourable of the three and leave margin.
Search result titles and descriptions are not character limits at all
Google truncates the title and snippet on rendered pixel width, not character count. Sixty characters is a rule of thumb for Latin text at typical widths; a title full of capitals and wide letters cuts earlier and one of narrow lowercase runs longer. Beyond that, search engines rewrite titles when they judge their own version more useful, and frequently ignore a meta description in favour of text lifted from the page that better matches the query.
Which makes those two figures a budget rather than a limit. Write the title so it works truncated as well as whole, front-load what distinguishes the page, and treat the description as a strong suggestion you do not control.
Checking rather than trusting
The figures built into this tool are the ones that were current and widely reproducible when it was written, and every one of them is exposed as an editable field because none of them is permanent. Platforms adjust limits quietly, roll changes out to some accounts before others, and render differently across web, iOS and Android. Where a post genuinely sits on the edge, paste it into the real composer and look. That takes ten seconds and settles what no third-party tool can promise.
Questions people ask
Why is my count different from the one in the app?
Usually emoji or links. If the text has emoji, you may be comparing graphemes against code points, and a single family or skin-tone emoji can differ by four or five. If it has links, the platform may be substituting a wrapper length for the real one, as X does at 23. Line breaks also count on every platform and are easy to forget. When you are within a few characters, the composer is the authority.
Does the hashtag count toward the limit?
Yes, everywhere. Hashtags, @-mentions and links are ordinary text as far as the character count is concerned, with the single exception of X's fixed length for links. A caption with thirty hashtags on Instagram can eat several hundred characters of the 2,200 before the actual caption starts.
Where exactly does the "more" fold fall?
There is no exact answer, which is the honest one. The fold is a rendering outcome, not a stored setting: it depends on the viewport width, the system font size, whether the post has an image or link card attached, and which client is showing it. The figures here are the commonly reported values on desktop web. Treat them as approximate and give yourself margin rather than writing to land exactly on one.
Can I use this for a platform not in the list?
Yes. Choose Custom and enter the hard limit, and the fold if the platform has one. The two X-specific checkboxes are independent of the platform choice, so if you are checking against a system that also weights CJK characters at two units, or substitutes a fixed length for links, you can turn either on separately.