SNS Character Counter (Twitter/X-style Count)
A character counter that follows X (formerly Twitter)'s weighted counting rule. Full-width characters count as 2, half-width characters count as 1, and the tool shows how many characters remain before the 280-character limit in real time.
Tips
- X's character count is not the "visual" character count — it uses a weighted rule that counts CJK (Chinese, Japanese, Korean) characters and full-width symbols as 2, so it can diverge from a simple character count.
- The same 30 characters go much further in a plain ASCII post than in a Japanese one: 30 Japanese characters count as 60 weighted characters, so they approach the 280-character limit twice as fast.
- A URL is always counted as 23 characters (the t.co shortened-link length) regardless of its actual length, so use this tool as a rough guide for plain text and double-check posts that include URLs in the actual composer.
- Emoji are a single code point each, but most fall outside the "wide" ranges under the weighting rule, so they count as just 1 character despite how visually prominent they are.
- If you want to check byte counts per encoding, try the companion "Byte Length Counter" tool; for character-set detection, try the "Charset Detector" tool.
Frequently Asked Questions
Side Note — Why X Counts Characters with "Weights"
When Twitter (X's predecessor) first introduced its 140-character limit, English-speaking users frequently complained that 140 characters was far too short. A single alphabet letter carries much less information than a single Chinese character, so the same 140 characters that could describe a full scene of a story in Japanese barely allowed 20-30 words in English. To fix this imbalance, in 2017 Twitter doubled the limit to 280 characters for "single-byte" languages like English, while keeping CJK languages (Chinese, Japanese, Korean) effectively at the equivalent of 140 characters (280 weighted characters), adjusting for the different information density across languages.
This idea of a "weighted character count" actually predates Twitter and has long existed in the world of SMS (Short Message Service). A standard GSM-encoded SMS allows up to 160 characters, but the moment it includes even one emoji or Japanese character outside the standard 7-bit GSM character set, the encoding switches to UCS-2 and the limit drops sharply to 70 characters. The phenomenon of "using one character from a particular language cuts your available character count in half" is a fascinating parallel to how X's character weighting connects internal text encoding with user experience.
The weighting rule also applies to emoji: most emoji count as just 1 character, but compound emoji that combine skin tone or gender modifiers using a Zero Width Joiner are built from multiple Unicode code points internally, so a single visible emoji can sometimes count as several characters. Keeping this gap between "what you see" and "what the system counts" in mind when posting to social media can help you avoid an unexpected over-the-limit surprise.