Social Character Counter

Paste a draft once and see it checked against X, Bluesky, Threads, Mastodon, Instagram, TikTok, LinkedIn, YouTube and Facebook limits — emoji counted as one.

Input

Writing one post for five networks means five different ceilings, and the counter built into each app only tells you about its own. This tool counts your draft a single time and shows the result against eleven platform limits side by side, so you can see at a glance that a post fits Bluesky but overruns X. It counts the way a reader sees text: a family emoji or a flag is one character, not four or five. Nothing is uploaded — the count happens in your browser as you type.

What is a social character counter?

A social character counter measures the length of a draft post and compares it against the maximum each platform accepts. Instead of pasting your text into X, then Threads, then LinkedIn to find out where it gets cut, you enter it once and read every verdict together. This one covers X/Twitter at 280, Bluesky at 300, Threads, Mastodon and Pinterest at 500, YouTube titles at 100, Instagram and TikTok captions at 2200, LinkedIn posts at 3000, YouTube descriptions at 5000 and Facebook posts at 63206.

How the character counter works

The draft is counted once as grapheme clusters — the units a reader perceives as single characters — using Intl.Segmenter with grapheme granularity, which implements Unicode Annex #29. That matters because a family emoji or a flag is several code points but one visible character, and counting with string.length would report 7 or 11 where a human sees 1. The single count is then compared against each platform's published limit and the remainder is shown per network. Two caveats are deliberate: X replaces every link with a fixed 23-character t.co cost and weights some scripts double, and Instagram counts hashtags toward the caption limit, so treat those two numbers as close estimates rather than the platform's own count.

Features

Eleven platform limits checked simultaneously from a single count, from YouTube's 100-character title up to Facebook's 63206-character post.
Grapheme-cluster counting via Intl.Segmenter, so emoji built from several code points — family emoji, flags, skin-tone variants — count as one character.
Extra metrics alongside the total: characters without spaces, word count and line count.
Everything runs in the browser as you type; your draft is never sent anywhere.

How to use the social character counter

1

Type or paste your draft post into the text box.

2

Read the status line for an immediate verdict on whether the draft fits.

3

Scan the per-platform breakdown to see which limits you are under and which you have blown past.

4

Trim or expand the text and watch the character, word and line metrics update as you edit.

Common mistakes

Assuming a draft that clears Bluesky's 300 also clears X — X stops at 280, so the 20-character gap catches people out constantly.
Confusing YouTube's 100-character title limit with its 5000-character description limit and pasting a full write-up into the title field.
Trusting a counter that measures code points instead of graphemes: it inflates emoji-heavy drafts and makes you cut text that would actually have fitted.

Examples

"Ship it." -> 8 characters, 7 without spaces, 2 words, 1 line — fits every platform including YouTube's 100-character title
"👨‍👩‍👧‍👦" -> 1 character (a code-point counter would report 7)
A 340-character announcement -> 60 over the X limit (280), 40 over Bluesky (300), comfortably inside Threads and Mastodon at 500

See also

  • Word CounterWriting to a word target rather than a character limit? Count words instead.
  • Headline CheckerOnce the post fits, check whether the opening line actually earns the click.

FAQ

Why does my emoji count as one character here but more elsewhere?

This counter segments text into grapheme clusters — the units a reader perceives as single characters — using Intl.Segmenter. A family emoji is assembled from several code points joined together, so a naive counter reports 7 where a reader sees 1. Platforms and editors that count UTF-16 code units or code points will give you the larger number.

Does the count match X exactly?

Not always. X counts every link as a fixed 23 characters after wrapping it in t.co, regardless of how long the original URL is, and it counts characters in some scripts as 2. A link-heavy or non-Latin post can therefore differ from the number shown here, so treat the X row as a close guide rather than a byte-exact verdict.

Which platform limits are covered?

Eleven: X/Twitter 280, Bluesky 300, Threads 500, Mastodon 500, Pinterest 500, YouTube title 100, Instagram caption 2200, TikTok caption 2200, LinkedIn post 3000, YouTube description 5000 and Facebook post 63206. All eleven are evaluated from the same single count of your draft.

Is my draft sent to a server?

No. The counting runs entirely in your browser using the built-in Intl.Segmenter API, so the text never leaves your device. You can safely paste unpublished announcements or client drafts.