Character counter with platform limits
Counts characters as you type and checks the total against the limits that actually bite — X posts, meta descriptions, Play Store listings, Instagram captions and more.
Runs entirely in your browser — nothing is uploaded, and there is no account or limit.
| Where | Limit | Status |
|---|---|---|
| X post (free account)Hard limit | 280 | — |
| X post (Premium)Hard limit | 25,000 | — |
| Instagram captionHard limit; truncates at ~125 in feed | 2,200 | — |
| Instagram bioHard limit | 150 | — |
| LinkedIn postHard limit; “see more” at ~210 | 3,000 | — |
| LinkedIn headlineHard limit | 220 | — |
| LinkedIn AboutHard limit | 2,600 | — |
| Facebook postHard limit; truncates at ~477 | 63,206 | — |
| YouTube titleHard limit | 100 | — |
| YouTube descriptionFirst ~157 show in search | 5,000 | — |
| TikTok captionHard limit | 2,200 | — |
| Bluesky postHard limit | 300 | — |
| Threads postHard limit | 500 | — |
| Pinterest descriptionHard limit | 500 | — |
| Reddit titleHard limit | 300 | — |
| Meta descriptionSoft — Google truncates around 155–160 | 155 | — |
| Title tagSoft — measured in pixels, ~60 chars typical | 60 | — |
| Open Graph descriptionSoft; varies by platform | 200 | — |
| Google Business postHard limit | 1,500 | — |
| App Store nameHard limit | 30 | — |
| App Store subtitleHard limit | 30 | — |
| App Store promotional textHard limit | 170 | — |
| App Store descriptionHard limit | 4,000 | — |
| App Store keywordsHard limit, comma-separated | 100 | — |
| Play Store app titleHard limit | 30 | — |
| Play Store short descriptionHard limit | 80 | — |
| Play Store full descriptionHard limit | 4,000 | — |
| Google Ads headlineHard limit, per headline | 30 | — |
| Google Ads descriptionHard limit, per description | 90 | — |
| Meta Ads primary textSoft — truncates beyond this | 125 | — |
| Meta Ads headlineSoft — truncates beyond this | 40 | — |
| Email subject lineSoft — mobile clients cut around 35–40 | 60 | — |
| Email preheaderSoft; varies by client | 100 | — |
| SMS (single segment)Hard — beyond this splits and bills twice | 160 | — |
Hard limits and soft limits are not the same thing
Every number in the table above is one of two kinds, and confusing them is the most common way a good piece of copy gets ruined. 26 of these are hard limits: the platform refuses the content beyond that point. The rest are truncation points, where the platform accepts what you write and then cuts it in display.
The distinction changes what you do. Against a hard limit you edit until it fits. Against a soft one you front-load — put the part that must survive in the first 40% and let the tail be cut, because it will be. A meta description running to 200 characters is not rejected; its last third simply never gets read.
Where people get caught out
Emoji cost more than one character. Most platforms count code units, not visible glyphs. A flag, a skin-toned hand or a family emoji can cost between 2 and 11 characters. Three emoji at the end of a 275-character X post is often what pushes it over.
Curly quotes break SMS. A single smart apostrophe pushes a message out of the standard alphabet and cuts the segment length from 160 to 70, which means a message you thought was one segment silently becomes three. Our text cleaner strips them.
Truncation points are shorter than limits. LinkedIn accepts 3,000 characters and shows about 210 before "see more". Instagram accepts 2,200 and shows roughly 125 in feed. If your first line does not work alone, the rest may as well not exist.
Title tags are measured in pixels. The 60-character convention is a proxy. A title full of capitals and wide letters truncates earlier than one of the same length in narrow ones, which is why two 58-character titles can behave differently.
Writing to a limit without sounding compressed
Cutting to fit tends to produce a particular kind of flatness — every sentence the same clipped length, every article removed, no rhythm left. It is the same evenness that makes machine-written text recognisable, arrived at from the opposite direction.
Cut whole clauses rather than shaving words from every one. Removing one sentence entirely and leaving the others intact almost always reads better than trimming 15% from each. If you want to see the rhythm you are left with, the sentence rhythm tool shows the distribution, and the word counter adds reading time.
Translation breaks limits that English fits
If your copy gets localised, the English version is the easiest case and the one you should plan around least. German runs roughly 20 to 35% longer than English for the same meaning, and Spanish, French and Portuguese all sit somewhere between 15 and 25% longer. Finnish and Russian can be longer still.
That matters most against the tightest hard limits. A 30-character App Store title or Play Store app name that fits comfortably in English will frequently break in German, and there is no truncation to fall back on — the submission is simply rejected. The practical rule is to leave 30% headroom on any hard limit under 100 characters if the text will be translated.
Character-based scripts run the other way. Japanese, Korean and Chinese often express the same idea in half the characters or fewer, so a limit that constrains English may be irrelevant there — but each character can occupy more bytes, which matters for SMS and for any system counting storage rather than glyphs.
The counter above measures what you paste, so the fastest check is to paste the translated string rather than estimating from the English. Estimates in this area are wrong often enough to be worth ten seconds of pasting.
A note on counting method
This tool counts UTF-16 code units, which is what JavaScript reports and what most platforms count. It is the number X, Instagram and LinkedIn are measuring. It is not always the number a byte-based system reports, and it is not the number of visible glyphs when emoji or combining marks are involved.
Where a platform is known to count differently — SMS being the clearest case, with its encoding switch — the note beside that row says so. Everywhere else, the figure above is the one the platform will apply.
Limits captured 4 August 2026. Platforms change them without announcement — check before relying on one for anything that matters.
Common questions
- How many characters is a tweet?
- 280 for a free X account, and 25,000 on Premium. Both are hard limits — the post will not send beyond them. Links are shortened to a fixed length, so a long URL costs less than it looks.
- How long should a meta description be?
- Around 155 characters. It is a soft limit: Google accepts more and truncates in results, and the real cut-off is measured in pixels rather than characters, so it varies with the words you use. Front-load the part that must be read.
- What is the character limit for a Play Store listing?
- 30 for the app title, 80 for the short description and 4,000 for the full description. All three are hard limits enforced at submission. Apple's App Store uses 30 for both name and subtitle, with 170 for promotional text.
- Do spaces count as characters?
- On every platform in this list, yes. The no-spaces figure is useful for word-processor targets and some academic limits, but if you are checking against a social or store limit, use the count that includes spaces.
- Why does my emoji count as two characters?
- Many emoji are stored as surrogate pairs, and some — skin tones, flags, family groups — are several code points joined together. Platforms count code units rather than what you see, so a single visible emoji can cost anywhere from 2 to 11.
- Is this counter accurate for SMS?
- A single SMS segment is 160 characters using the standard alphabet. Use any character outside it — including most emoji and curly quotes — and the whole message switches encoding, dropping the segment to 70. Beyond that it splits and bills per segment.
Need more than a utility?
HumanFlow rewrites AI drafts to read naturally and shows a sentence-level detection score — free up to 1,500 words per scan.
Try the humanizer free