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

X's counting rule counts Chinese, Japanese, and Korean (CJK) characters and full-width symbols as 2 weighted characters each. So while you can type close to 280 characters in English, writing purely in Japanese effectively caps out around 140 characters. This adjustment exists because the amount of information conveyed per character varies greatly between languages.

It comes from "twitter-text," the open-source character counting algorithm published by X (formerly Twitter). This tool implements the same publicly documented rule, counting 1 or 2 characters based on the Unicode code point ranges involved.

Most emoji are represented by a single Unicode supplementary-plane code point (a surrogate pair), and since they fall outside the CJK/full-width ranges, they count as just 1 character under the weighting rule. However, compound emoji built from multiple joined code points (like family emoji) may internally consist of several code points, so they can count as more than one character even though they look like a single emoji.

The companion "Byte Length Counter" tool measures the physical number of bytes needed to store or transmit a string under encodings like UTF-8 or Shift_JIS. This tool instead calculates the "weighted character count" used to judge SNS posting limits — the purpose and the calculation method are both different.

Before 2017, the limit was 140 characters for everyone. The weighting rule that counts CJK languages as 2 characters already existed back then. When the limit was doubled to 280 for languages like English, CJK-language users ended up able to post roughly the same amount of text as English-language users.
ツールくん

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.

→ Browse all trivia