Every platform counts characters differently
The limit is the easy part. "An Instagram caption holds 2,200 characters" is a fact you can look up in a second. What costs people reach is the other half: the caption is cut at 125 characters in the feed, the post that fits in 280 characters in English is over the limit in Japanese, and the emoji you added counts as one character on screen and eleven in the field.
This tool measures your text five ways at once and shows you where each platform will cut it.
The four numbers that are all "the length"
Take the string Family 👨👩👧 time:
- Visible characters (graphemes): 13. What a reader counts. The emoji is one.
- Unicode code points: 17. The family emoji is three people joined by two zero-width joiners — five code points that render as one.
- UTF-16 characters: 20. How
text.lengthcounts in JavaScript, and how most form validators count. Each emoji person is a surrogate pair, so it costs two. - UTF-8 bytes: 30. What a database column sized
VARCHAR(20)actually has to store — and that column would reject this string.
A caption that looks like 13 characters can be rejected by a field that allows 16. This is not a rare edge case — it happens with every emoji, every flag, and every accented character typed as a combining mark rather than a precomposed one.
X counts twice for most of the world
X (formerly Twitter) does not count characters; it counts weighted length. Characters in the ranges U+0000-U+10FF, plus a handful of punctuation blocks, weigh 1. Everything else — Chinese, Japanese, Korean, Thai, Arabic, Hebrew, Cyrillic beyond the basic block, emoji — weighs 2.
A 280-character allowance is therefore about 140 characters of Japanese. And URLs are a special case in the other direction: any link is counted as exactly 23, however long it is, because the platform rewrites it.
Worked example. Buy our new product at https://example.com/a-very-long-campaign-url-2026 is 71 characters on screen. Its weighted length is 23 for the words before the link, plus 23 for the link itself, however long it is: 46. Swapping in a URL twice as long changes nothing.
Where each platform actually cuts
The limit and the truncation point are two different numbers, and it is the second one that decides whether anyone reads your first sentence.
- Instagram caption: 2,200 allowed, 125 shown before "… more".
- LinkedIn post: 3,000 allowed, about 210 shown before "see more" on desktop.
- Facebook post: 63,206 allowed, about 477 shown.
- TikTok caption: 2,200 allowed, roughly 100 visible over the video.
- YouTube description: 5,000 allowed, 157 shown above the fold.
- Google title tag: about 60 characters, but Google truncates by pixel width (roughly 580px), so a title in wide capitals is cut earlier than one in narrow lowercase.
When the number is a hard wall and when it is advice
Google's 60 and 160 are not limits — nothing stops you publishing a 300-character description; Google simply rewrites or truncates it. X's 280 is a hard wall: the button stays disabled. Google Ads' 30-character headline is a hard wall enforced at upload, and a campaign that fails validation at 3 a.m. is the reason to check before you paste.