Twitter/X does not count every character equally. Japanese, Chinese, and Korean characters are each worth two units against the 280-unit limit, so a Japanese post that looks short can hit the cap fast. This tool applies the real weighting rules so you know exactly how much room you have left.
How it works
The platform’s twitter-text library defines code-point ranges that weigh two
units; everything else weighs one. The counter walks your text code point by code
point and applies:
weight 2 → CJK ideographs, hiragana, katakana, Hangul,
full-width forms, CJK symbols/punctuation, emoji
weight 1 → Latin letters, digits, ASCII punctuation,
spaces, line breaks
limit → 280 weighted units
Summing the weights gives the figure the platform itself would compute. A purely Japanese post therefore reaches 280 at about 140 characters.
Why the platform uses weighted counting
Twitter originally had a 140-character limit designed around English and other Latin-script languages. When the limit expanded to 280 for most languages, Japanese, Chinese, and Korean stayed effectively at 140 because each character was already carrying two units of information density compared to a Latin letter. The weighted system is the platform’s way of maintaining rough parity in the amount of expressible meaning across writing systems.
This means Japanese posts have different practical strategies for fitting within the limit compared to English posts.
Practical tips for Japanese posts
Characters that cost 2 units:
- Every hiragana, katakana, and kanji character
- Full-width punctuation: 。、「」!?…
- Emoji (also counted as 2)
Characters that cost 1 unit:
- Half-width Latin letters and ASCII digits
- Spaces and line breaks
- Half-width punctuation: ! ? . ,
Trimming strategies:
- Replace full-width punctuation with half-width equivalents where tone allows:
!→!,?→? - A line break costs only 1 unit and can replace a full-width punctuation character that costs 2
- URLs are shortened to 23 characters by the platform regardless of actual length — this tool shows an upper-bound figure without URL shortening
Example
The greeting こんにちは is 5 characters but weighs 10 units. Mixing in Latin helps: OK!またね is 6 characters but 11 units, since the two ASCII letters in OK weigh 1 each while the rest weigh 2. If you need to trim by a unit or two, swapping a full-width exclamation ! for a half-width ! saves one unit each time without changing the feel of the post.