Character Counter & Word Counter

Live counts for 38 fields across 17 platforms — and one-click fixes when you are over.

0 / 280
0Words
0Characters
0Chars (no spaces)
0Sentences
0Paragraphs
0Lines
0 secReading time
0 secSpeaking time
0Graphemes (visible)
0UTF-16 units
0UTF-8 bytes

Where else this text fits — live, across every limit

Everything is computed in your browser — nothing you type is uploaded or stored. Need the text styled too? The UltraTextGen generator turns it into 100+ copy-paste fonts.

Hard limits vs. soft limits

Two different things get called a "character limit," and it changes what going over actually costs you.

TypeWhat happens if you go overExamples
Hard limit The platform rejects it. The post won't send, the name won't save. X post 280 · Discord nickname 32 · TikTok username 24 · SMS segment
Soft limit
(truncation)
You can type more, but readers stop seeing it unless they tap "more". Instagram caption after 125 · LinkedIn post after ~140 on mobile / ~210 on desktop · YouTube description after ~157

The soft limit is the one most people are actually writing against, and almost no counter shows it. A LinkedIn post has 3,000 characters and roughly 140 useful ones: the rest is behind a tap nobody takes. So the tool above renders the fold directly — type into it and you see the exact text that appears before "see more", with everything after the cut dimmed behind a line, plus how the same opening holds up on every other feed that truncates.

Where each feed cuts, and on which device:

FeedMobileDesktopWhat that means for a hook
LinkedIn post ~140 ~210 Write to 140 and it survives both — the widest device gap of any feed here.
Instagram caption ~125 ~125 The tightest fold on this list — roughly one sentence before "... more".
YouTube description ~157 ~157 What shows under the title before "Show more"; also what search often surfaces.
Facebook post ~477 ~477 The most forgiving fold — a full short paragraph lands before the cut.

Writing the hook itself is a different craft from measuring it — for what actually earns the tap, see styling LinkedIn hooks to stand out.

Two honest caveats. These are observed UI behaviour, not published limits, so treat them as "what reliably shows" rather than exact thresholds — and feeds also cut on line count, so three early line breaks can truncate a post well short of any character number. If your opening depends on a list, check it in the real composer too.

Every platform character limit in this checker

The same limits the live checker above uses, as a reference table. Jump to: X/Twitter · Discord · Instagram · TikTok · SMS · how each platform counts.

Posts & messages

PlatformLimitNotes
X / Twitter post280Weighted: every URL = 23, most emoji/symbols/styled letters = 2 — see how X counts
Discord message2,0004,000 with Nitro; longer messages become a .txt attachment
Instagram caption2,200Truncated with "more" after the first lines
TikTok caption2,200
LinkedIn post3,000"See more" cuts the hook at ~140 on mobile, ~210 on desktop — write to 140 and it survives both
Facebook post63,206
YouTube description5,000
Pinterest pin description500
Telegram message4,0961,024 for a photo/video caption
Threads post500
Bluesky post300Counted by graphemes (what you see), not code points
Reddit post title300
Zalo post/status2,000

Bios & profiles

FieldLimit
Instagram bio150
TikTok bio80
LinkedIn headline220
WhatsApp About139
Telegram bio70
VK status140

Usernames, titles & SMS

FieldLimitNotes
Discord nickname32
TikTok username24Letters, numbers, underscores, periods only
Instagram username30
YouTube title100
SEO meta title~60Google truncates by pixel width — treat as a guideline
SEO meta description~155Same — pixel-width truncation
SMS text message160 / segmentDrops to 70 per segment the moment one non-GSM character (emoji, curly quote, ş, ő, Vietnamese diacritics…) appears — see SMS counting

Why your character count doesn't match the platform's

"How many characters is this?" has more than one correct answer, because platforms count in different units. The same text can have four different lengths:

Counting modeWhat it measuresWho uses it
GraphemesWhat you visually see — an emoji with skin tone is 1Bluesky; roughly how Instagram treats emoji
Code pointsUnicode characters — 👍🏽 is 2 (thumb + skin tone)Most web platforms and this tool's main "Characters" stat
UTF-16 unitsHow JavaScript and many apps store text — 𝗯𝗼𝗹𝗱 letters cost 2 eachHTML form fields (maxlength), many games and app backends
UTF-8 bytesStorage size — é is 2, 中 is 3, 𝗯 is 4Amazon listing fields (200-byte titles, 250-byte search terms), Steam names, databases

All four are shown live in the stats above, so when a form says your text is too long while your word processor disagrees, you can see exactly which count the form is using. Two platforms need special rules on top:

X / Twitter counts by weight, not characters. Per X's own published algorithm (the twitter-text library), every URL counts as exactly 23, basic Latin letters count as 1, and almost everything else — CJK characters, most emoji, and every "fancy font" Unicode letter — counts as 2. A fully styled 𝗯𝗼𝗹𝗱 post therefore fits only 140 visible letters in the 280 budget. The "X / Twitter post" option in the checker above implements this real algorithm.

SMS is counted in segments, and one character can triple your bill. A text message holds 160 characters only while every character is in the old GSM-7 alphabet. One emoji, curly quote (’ pasted from Word), or accented letter outside it (ş, ő, ą, Vietnamese diacritics…) silently switches the whole message to Unicode mode — 70 characters per segment, 67 when it splits. The "SMS text message" option above detects this and names the exact character that flipped your message.

Counting fancy fonts and styled text

Styled Unicode text — 𝐛𝐨𝐥𝐝, 𝓈𝒸𝓇𝒾𝓅𝓉, 𝔤𝔬𝔱𝔥𝔦𝔠 letters from the UltraTextGen generator — looks like normal letters but usually lives in Unicode's supplementary planes, so each letter costs 2 UTF-16 units, 4 bytes, and 2 of X's 280. That's why a 10-letter styled name can be rejected by a 12-character game field. Paste your styled text into the counter above to see its real cost in every counting mode before you use it — and if a name keeps getting rejected, see why game names get rejected.

Character counting, answered

Do spaces count as characters?

Yes, on effectively every platform. A space is an ordinary character and it uses one of your 280 on X, one of your 150 in an Instagram bio, and one septet in an SMS. That is why this tool shows "Characters" and "Chars (no spaces)" side by side: use the with-spaces number for any platform limit, and the without-spaces number only when a client or university brief asks for it, which is a billing convention rather than a technical one.

Do emoji count as one character?

Rarely. A plain emoji is usually 1 code point but 2 UTF-16 units; one with a skin tone or made of a joined sequence (like a family emoji) can be 4, 7 or more. On X every emoji counts as 2 of your 280, and in an SMS a single emoji switches the whole message from 160-character GSM-7 to 70-character Unicode segments. The Graphemes stat shows what you see; Characters and UTF-16 units show what the field charges you.

Why does the platform say I'm over when my counter says I'm under?

Because you and the platform are counting in different units. Most count Unicode code points, but HTML form fields and many apps count UTF-16 units — where a styled letter costs 2 — Amazon listing fields count UTF-8 bytes, X uses a weighted count, and UCAS counts a line break as 2. Pick your destination at the top of the tool and it counts the way that destination counts, instead of giving you a generic number.

How do I get my text under the limit?

Go over and the tool shows what to cut, with the exact saving each option gives you in that platform's own counting unit: convert styled Unicode back to plain, remove emoji, straighten curly quotes and dashes, collapse double spaces, drop hashtags, or trim to fit on a word boundary. Every one is a single click and can be undone, so you can try the cheapest fix before you start rewriting.

Do fancy fonts count as more characters?

Usually double. Styled Unicode letters — bold, script, gothic and most other fancy alphabets — mostly live above U+FFFF, so each visible letter costs 2 UTF-16 units, 4 UTF-8 bytes, and 2 of X's 280. A 10-letter styled name can therefore be rejected by a 12-character game field. Paste it in and use "Convert fancy text to plain" to see and recover the difference instantly.

Are invisible characters counted too?

Yes, and they are the most common reason a count is mysteriously higher than it looks. Zero-width spaces, byte-order marks and filler characters pasted in from other apps take up your budget while showing nothing. The tool flags them under the text box and offers a one-click removal.

Is this counter free, and does it store or upload my text?

Yes, completely free with no signup. Every count, check and fix runs client-side in your browser with plain JavaScript — nothing you type is uploaded, logged, or stored anywhere.

Need that text in a fancy font?

UltraTextGen turns plain text into bold, italic, cursive, and 100+ other Unicode font styles that work in any bio, post, or chat — free and instant.

Open UltraTextGen →