How X Counts URLs, Emoji and Chinese Characters
Counting letters is not the same as counting the weighted length of an X post. A draft that looks short can consume more of the standard 280-character allowance than expected.
Open the free X/Twitter Character Counter to check your text with a live URL, emoji and weighted-length breakdown. Everything you type stays in your browser.
The difference between visible and weighted characters
A visible character is what your eyes perceive as a single unit, such as a letter or emoji. But computers can represent one visual symbol with several code points. X's published text rules also assign different weights to some characters. This is why plain JavaScript string length, a word processor's count and a social platform's count can disagree.
Why do links count as 23 characters?
Under the published twitter-text v3 rules, a recognized URL has a configured fixed weight of 23 characters. For typical recognized links, the source URL's visible length therefore does not determine the number of characters left in a post. For example, a short https://example.com and a considerably longer path on that same domain can each count as 23 characters.
The distinction matters when you add a link to a nearly finished draft: manually subtracting the URL's ordinary string length can produce the wrong result. Some unusual or malformed links may not be recognized by the parser, so use the actual text you intend to publish.
How are Chinese, Japanese and Korean counted?
In twitter-text v3, many characters used in Chinese, Japanese and Korean are weighted at two rather than one. For example, the string 中文 has two visible characters but a weighted length of four under these rules. Combining CJK and Latin characters in one post can therefore make mental estimates unreliable.
How much does an emoji count?
Many emoji count as two weighted characters. A simple 😀 may look like one visible symbol but uses two weighted units. Sequences involving skin-tone modifiers, joiners or flags can consist of several Unicode code points. Their treatment depends on the text parser and may differ from the count in a plain character counter. Our X tool shows both the visible-character and weighted-character totals, plus an illustrative count of emoji clusters.
Four examples to test
| Text | Weighted length | Reason |
|---|---|---|
Hello world | 11 | Latin letters and the space count once |
中文 | 4 | Many CJK characters weigh two |
😀 | 2 | A typical emoji uses two weighted units |
https://example.com | 23 | Recognized URL uses the configured fixed weight |
How to check a draft in practice
Paste your draft into the PostChars X counter. Compare the weighted total with the reference 280-character standard-post limit, and inspect the URL and emoji counts if the number is surprising. Review the sample post preview for awkward line breaks. Then copy the finished draft and confirm the actual allowance in your X account.
PostChars is not affiliated with X and does not validate longer subscription posts or every current X product feature. The tool uses the open-source twitter-text 3.1.0 parser; official limits can change over time.
Frequently asked questions
Do spaces count on X?
Yes. Ordinary spaces and punctuation contribute to the weighted total.
Does shortening a URL save characters?
Under the published URL-weighting rules, typically not: a recognized link uses the same configured weight. A short-link service may help readability or tracking, but should not be assumed to reduce the X character count.
Should I trust a screenshot-based post preview?
Only as a visual guide. The actual post display depends on X's current UI and may be different. Always verify in X before publishing.
Also useful: Google Ads headline and description counter for paid-search writing.