This social media character counter shows in real time whether your draft fits the limit on every major platform at once — X / Twitter, Bluesky, Threads, Mastodon, Instagram, Facebook, LinkedIn, YouTube, TikTok and SMS. Instead of guessing or hitting an error after you post, you see exactly how many characters you have left (or how far over) for each one as you type.
How it works
The tool counts your text by Unicode code point using Array.from, so most emoji register as a single visible character — close to how platforms display length — rather than the two or more bytes they occupy internally. It then compares that count against each platform’s published limit and shows the difference. A positive number is characters remaining; a negative number, highlighted, is how far you have gone over.
| Platform | Limit |
|---|---|
| X / Twitter (free) | 280 |
| X / Twitter Premium | 25,000 |
| Bluesky | 300 |
| Threads / Mastodon | 500 |
| Instagram / TikTok caption | 2,200 |
| LinkedIn post | 3,000 |
| SMS (single segment) | 160 |
Example
A 290-character draft shows 10 over for X / Twitter free (280), but 210 left for Threads (500) and 2,710 left for LinkedIn (3,000). Trim 10 characters and the X / Twitter row flips to green.
Your text never leaves your browser; all counting is done locally.
Writing to length for each platform
Character limits are not just technical constraints — they shape what kind of content works on each platform. Understanding the intent behind the limit helps you write better, not just shorter.
X / Twitter (280 characters free) was designed around the constraint of SMS messages and is optimised for quick, punchy takes. The 280-character limit forces economy of language. A common pattern: open with a hook (first 80 characters), deliver the point, and end with a question or CTA that invites replies. Anything longer likely needs to be a thread.
Bluesky (300 characters) is similar in spirit to X but with a slightly longer ceiling. The community skews toward longer-form intellectual discussion within the constraint, so slightly more context reads well there.
Threads (500 characters) sits closer to Instagram in culture than to X. The extra length suits brief storytelling or multi-sentence opinions without the need for a thread. First-person voice and a conversational tone tend to perform well.
LinkedIn (3,000 characters for posts) is long enough for genuine professional insights. Posts that open with a counterintuitive statement, walk through a short story, and end with a lesson tend to get the most engagement. The first 200 characters are visible before “see more” — make them count.
Instagram captions (2,200 characters) are often read on mobile in a fast-scroll context. The first line appears before the fold; start with something that earns the tap to expand. Hashtags are often moved to the end or the first comment.
SMS (160 characters per segment) is the strictest constraint here and the most technically precise — going over by one character triggers a second segment and doubles the character count on many carriers. Keep marketing SMS messages well within 160 to avoid multipart message fees.
Emoji and special character counting
Emoji and multi-byte Unicode characters (such as certain Asian scripts) are counted differently depending on the platform. This tool counts by Unicode code point (one visible character = one count), which matches how most platforms display character length. However, some older platforms and SMS carriers count by byte, where a single emoji can consume 2–4 bytes. For SMS in particular, a single emoji shifts the message from GSM-7 encoding (160 characters per segment) to UCS-2 encoding (70 characters per segment) — a significant capacity cut. Keep this in mind when writing SMS campaigns.