Free Character Counter

Social media character counter — all 9 platforms in one paste

Paste once and see counts for X, Instagram, LinkedIn, TikTok, Threads, Bluesky, YouTube, Facebook and Pinterest — with platform-accurate rules for URLs, emojis, and feed-truncation cuts. No signup, no upload.

0 characters0 words0 lines
X / Twitter
Post (Free)
Empty
0/ 280
Engagement sweet spot: 70100
X / Twitter details
Instagram
Caption
Empty
0/ 2,200
Truncates at 125 in feed
Engagement sweet spot: 138150
Instagram details
LinkedIn
Post
Empty
0/ 3,000
Truncates at 140 in feed
Engagement sweet spot: 10001500
LinkedIn details
TikTok
Caption
Empty
0/ 4,000
Truncates at 55 in feed
Engagement sweet spot: 120280
TikTok details
Threads
Post
Empty
0/ 500
Truncates at 180 in feed
Engagement sweet spot: 120280
Threads details
Bluesky
Post
Empty
0/ 300
Engagement sweet spot: 100240
Bluesky details
YouTube
Title
Empty
0/ 100
Truncates at 60 in feed
Engagement sweet spot: 4060
YouTube details
Facebook
Post
Empty
0/ 63,206
Truncates at 477 in feed
Engagement sweet spot: 4080
Facebook details
Pinterest
Pin description
Empty
0/ 500
Truncates at 60 in feed
Engagement sweet spot: 150250
Pinterest details
100% in your browser Grapheme-accurate emojis URL rules per platform No signup

Platform-specific character counters

Each platform has its own counting quirks. Open the dedicated page for the one you are writing for.

What this counter is for

Character counting isn't just "will this fit". These are the real jobs a cross-platform counter does.

Cross-posting one draft to multiple platforms

Writing once and publishing everywhere is the dream, but every platform has different rules. Paste a single draft, and see at a glance which platforms it fits, which need trimming, and where the truncation point clips your hook on each one.

Auditing bios, headlines, and profile fields

Profile fields are where most character-limit fights happen in practice — the 150-char Instagram bio, the 160-char X bio, the 220-char LinkedIn headline. Paste a bio draft and the counter shows fit across every platform's identity surface.

Writing without tripping the truncation line

Hard limits are easy. Truncation lines are the harder game — they're where the hook disappears behind a "…more" tap. Each platform page flags its visible-feed window so you can land the first thought cleanly above the cut.

Why this counter is different

Six decisions that separate this tool from the generic character counters at the top of Google.

All 9 platforms at a glance

Paste once and see live counts for X, Instagram, LinkedIn, TikTok, Threads, Bluesky, YouTube, Facebook, and Pinterest — side by side, with color-coded status pills showing what fits and what overruns.

Grapheme-aware counting

Emoji, flags, and skin-tone modifiers count as one character — the way the platforms actually count them. No more "my tweet shows 280 but posts as 285" surprises caused by naive length checks.

Platform-accurate URL rules

X wraps URLs as 23 characters, Bluesky as 22, Threads lets them be free, Instagram counts them at full length. The counter applies the right rule for each platform automatically.

Truncation-line preview

Instagram truncates at 125, LinkedIn at 140, Pinterest at 40. We flag the cut point so you can land the hook inside the visible window, not buried under a "…more" tap.

100% in your browser

Zero network round-trips. Your draft never leaves the page. Works offline once loaded — useful for drafting on flights or in countries that block half the APIs.

Free forever, no signup

No account wall, no rate limit, no watermark on anything. We built this because SocialCal users needed it — sharing it with everyone else costs us nothing extra.

Character limits reference

Every platform's limits at a glance

All nine platforms, all the numbers you need, including the truncation points that matter more than the hard caps.

PlatformPost / contentProfile / bioVisible in feedURL rule
X / Twitter280 free · 25,000 Premium160~140 in feed23 chars per URL
Instagram2,200 caption150~125 before "…more"Actual length
LinkedIn3,000 post · 110,000 article220 headline · 2,600 about~140 mobile / ~210 desktopActual length
TikTok4,000 caption80~55 in feedActual length (not clickable)
Threads500 post · 10,000 attachment150~180 previewURLs do not count
Bluesky300 graphemes256Full post visible22 chars per URL
YouTube100 title · 5,000 description1,000 channel About~60 title · ~125 descriptionActual length
Facebook63,206 post155 Page / 101 profile~477 desktop / ~240 mobileActual length
Pinterest100 title · 500 description160~40 title / ~60 descActual length

Platform quirks most counters miss

Generic character counters treat every platform the same. These are the seven rules that actually differ — and each one changes what fits.

Weighted character counting

X / Twitter only

X counts non-BMP Unicode (most modern emoji) as 2 characters. All other platforms count by grapheme.

Fixed-length URL wrapping

X (23), Bluesky (22)

X rewrites every URL to a 23-character t.co link. Bluesky counts every URL as 22 regardless of length.

Links free of charge

Threads

Threads doesn't count URLs against the 500-character post limit at all — unusual among social platforms.

Strict grapheme enforcement

Bluesky

Bluesky enforces the 300-grapheme cap at the AT Protocol layer, so a post that passes a naive counter can still be rejected on post.

Text attachment for long-form

Threads

Threads supports attaching up to 10,000 characters of long-form text to any 500-char post — a hidden blog-length canvas.

Stricter visible-feed truncation than raw limit

All except Bluesky

Nearly every platform trims the visible caption in the feed far below the hard character limit. The hook has to live inside that window.

Shared hashtag budget with caption

Instagram

Instagram shares its 30-hashtag cap between the caption and the first comment — combined, not per-field.

Character counter FAQ

Does this counter count the same way each platform does?+

Yes. We use per-platform counting rules, not a single universal algorithm. X uses weighted character counting plus 23-character URL wrapping. Bluesky uses strict grapheme segmentation with 22-character URLs. Threads ignores URLs entirely. Instagram, LinkedIn, TikTok, YouTube, Facebook, and Pinterest all use grapheme counting with URLs at their actual length. If the counter says your post fits, the platform's compose box will agree.

Why does my post count differently on X than on Bluesky?+

Three reasons. First, X uses weighted length — non-BMP emoji (most modern ones) count as 2 instead of 1. Bluesky counts every emoji as 1 grapheme. Second, X has a 280-char cap (free tier) while Bluesky has 300. Third, X rewrites every URL to 23 characters and Bluesky to 22 — so a tweet at 280 with two URLs often fits comfortably on Bluesky at 298 graphemes. This counter handles all three differences automatically.

What is a grapheme, and why does it matter?+

A grapheme is what a reader sees as one character — a letter, a number, a full emoji. Internally, an emoji like 🧑🏽‍💻 is built from several Unicode code points and 4+ UTF-16 units, but it displays as one symbol. Counting by code point or UTF-16 unit would wildly over-count. Bluesky explicitly measures posts in graphemes. Instagram, TikTok, LinkedIn and most other platforms also count by displayed character, which is grapheme in practice.

Does the counter work offline?+

Yes — everything runs in your browser. The only network calls are initial page load and loading fonts. Once the page is open, you can disconnect the internet and the counter still works. No data is sent to our servers. You can verify in the browser network tab.

Will this counter match the number on the platform's own compose box?+

On X, Bluesky, Threads, Instagram, LinkedIn, TikTok, YouTube, Facebook and Pinterest — yes, it matches for essentially all real content. The one edge case is extremely unusual Unicode combinations (rare ZWJ sequences some platforms haven't updated emoji rendering for). For standard text, emoji, URLs, hashtags, and mentions, the numbers line up.

Is this counter really free?+

Yes, forever. No signup, no rate limit, no watermark on anything. SocialCal built this counter for our own composer — sharing it as a standalone free tool costs us nothing extra. If you eventually want to schedule across 10 platforms from a single calendar with the same counter built in, that is SocialCal's paid product.

Can I use this for languages other than English?+

Yes. Grapheme segmentation (via the browser's Intl.Segmenter API) handles any language correctly — Chinese/Japanese/Korean characters, Arabic joined text, Hindi matras, Thai clusters. The count reflects what a native reader of that language sees.

Does SocialCal have its own character counter?+

Yes — this exact counter is the one baked into SocialCal's cross-platform composer. When you write a post in SocialCal targeting X and Instagram and Threads simultaneously, each platform shows its own live count using the same logic this page uses. If you find yourself hitting the counter often, scheduling through SocialCal saves the copy-paste-check-post loop.

More Free Tools

Explore our full suite of free social media tools — no signup required.

Schedule across every platform with this counter built in

SocialCal's composer uses the same counter you just used — with per-platform drafts, auto-thread splitting when you go over, and one-click scheduling across X, Instagram, LinkedIn, TikTok, Threads, Bluesky, YouTube, Facebook, and Pinterest.

Start free trial