Text Tools
Tweet Character Counter
Count tweet characters with the real X (Twitter) rules: URLs as 23, CJK and emoji as 2. See free, Premium, DM, Bluesky, Mastodon, and Threads limits.
Tweet character counter
Counts run entirely in your browser. The text you paste here is never uploaded.
Cross-network limits
Same text, counted under each network's rule.
X (Twitter) free
URLs count as 23, CJK and emoji count as 2.
0 / 280
weighted
Fits with 280 units to spare.
X Premium / Premium+
Same weighting rule, larger budget.
0 / 4,000
weighted
Fits with 4,000 units to spare.
X direct message
Same weighting rule applies to DMs.
0 / 10,000
weighted
Fits with 10,000 units to spare.
Bluesky
Counts user-perceived characters (graphemes).
0 / 300
graphemes
Fits with 300 units to spare.
Mastodon (default instance)
Default 500. Some instances raise this.
0 / 500
code points
Fits with 500 units to spare.
Threads
Meta's text-first network. 500 character cap.
0 / 500
code points
Fits with 500 units to spare.
LinkedIn post
Long-form post limit on LinkedIn.
0 / 3,000
code points
Fits with 3,000 units to spare.
How to use
- Paste or type your tweet into the text box.
- Watch the X (Twitter) ring update with the weighted character count and remaining budget against the 280-character free limit.
- Check the cross-network panel to see whether the same text fits on Bluesky, Mastodon, Threads, X Premium, X DM, and LinkedIn.
- If the message is over 280, open the thread preview, copy each numbered part, and post them one after the other.
- Use the URL list to confirm which links are being shortened to 23 characters and how many weighted units the t.co rule is saving you.
- Load a sample (short post, post with URL, Japanese, emoji-heavy, long thread) to see how the rules apply to common cases.
About this tool
Tweet Character Counter applies the real X (Twitter) counting rules so you know exactly when a post fits and when it does not. A plain character count is wrong on X in three ways: every URL is normalized to 23 characters because X shortens links through t.co regardless of the original length, every CJK character (Chinese, Japanese kanji and kana, Korean Hangul, fullwidth forms) counts as 2 weighted units, and every emoji also counts as 2 weighted units. This page implements all three rules using the same algorithm as the open-source twitter-text library, then reports the weighted count against the 280-character free tier, the 4000-character Premium and Premium+ tier, and the 10000-character direct message limit. URL detection follows the same permissive pattern X uses for auto-linking, including bare hosts like example.com, www. prefixes, and full https:// URLs, with trailing punctuation trimmed the way X trims it. Pasting a 200-character URL still counts as exactly 23 weighted units, so you see the post the way X sees it, not the way a plain string length sees it. The cross-network panel counts the same text under Bluesky (300 graphemes), Mastodon (500 characters on default instances), Threads (500 characters), and a long-form LinkedIn post (3000 characters), so cross-posting is no longer guesswork. When the message goes over 280, the thread preview splits it on word boundaries into 280-unit parts, attaches numbered 1 of n labels, and gives a copy button per part so you can paste each tweet without rewriting. The URL list shows every detected link with its real length next to the 23-unit t.co replacement, so you can see exactly which links are saving you space. Code point, grapheme, UTF-16, and UTF-8 byte counts are reported alongside the weighted count for anyone working across systems that measure characters differently. Everything runs locally, so a private draft never leaves your browser.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
Character Counter
Detailed character, letter, number, space, and line counts.
Open tool
TextWord Counter
Live word, character, sentence, paragraph, and reading time stats.
Open tool
TextUTF-8 Byte Counter
UTF-8 bytes, UTF-16, code points, graphemes, plus SMS, cookie, and payload limits.
Open tool
TextUnicode Character Inspector
Per-character breakdown with code points, UTF-8/UTF-16 bytes, and hidden character detection.
Open tool
TextLetter Frequency Counter
Per-character frequency table with percentages, bar chart, and English reference.
Open tool