Character counter
One caption, counted against fourteen networks at once, with the point each one visually truncates. That is usually the number that matters.
Why two numbers
The limit is when a network refuses the post. The truncation point is when a reader stops seeing it, and on every long-form network it is far shorter — Instagram shows about 125 characters before “… more”, LinkedIn around 140, YouTube about 157, Facebook around 250.
Which gives one rule that works everywhere: put the whole point in the first 125 characters. A caption written to that fits all fourteen without editing.
Counting is not obvious
This counts code points, which is what PostWharf counts when you publish, so a caption
that fits here is one the composer and the API will both accept. JavaScript's
length counts UTF-16 code units instead, so a plain emoji costs two there
and one here.
Where it will disagree with your backspace key: a skin-toned emoji is one thing to delete and two characters to count, and a flag is two. Every network then counts differently again, so this is the safe ceiling rather than fourteen separate counters.
Questions
Does this send my caption anywhere?
No. The counting happens in your browser. There is no request, no storage and no account — you can disconnect from the network and it still works.
Why is Telegram 4,096 here when my media post was rejected at 1,024?
Telegram drops the caption limit to 1,024 characters when the message carries media. The 4,096 figure is for a text-only message. It is the most common surprise on the list.
Do links count against the limit?
Usually at their full length. Some platforms substitute a fixed-length form for counting, but assuming the URL costs what it looks like will never get you rejected.
What counts as one character?
A code point. A plain emoji is one, a skin-toned emoji or a flag is two, and a family emoji is seven. That is what PostWharf counts when you publish, so this tool agrees with the composer rather than with your backspace key.