Twitter Character Counter: Check Tweet Length Including Link Formatting Rules

The only counter that calculates URLs as exactly 23 characters and emojis as 2 characters - exactly how X (Twitter) calculates your tweet length.

Ad Space - 728 x 90 Leaderboard
Standard User (280 Characters) X Premium (10,000 Characters) PREMIUM
Text beyond the character limit is highlighted below:
0
280
Remaining
0
Total Chars
0
Words
0
URLs Detected
t.co URL: 23 chars Emoji: 2 chars each Standard: 280 / Premium: 10,000 100% Private - No Server Upload

Character Weight Reference Chart

Twitter does not count every character the same way. This chart shows the exact weight of each content type when Twitter calculates your tweet length. Understanding this helps you pack more meaning into every post.

Content Type Example Twitter Weight Why?
Standard Letter or Number A, z, 5, ! 1 char Basic ASCII characters occupy one code unit in Twitter's counting system.
Space or Punctuation space, comma, period 1 char All standard whitespace and punctuation count as a single character.
Accented or Non-Latin Letter e, n, u (French, Spanish) 1 char Twitter normalizes most Unicode letters to 1 character in its weighted count.
Emoji 😀 ❤ 🎉 2 chars Emoji are encoded using Unicode Surrogate Pairs - two code units joined together to represent a single visible symbol. Twitter counts each emoji as 2 characters.
Any URL (http or https or www) https://verylongdomain.com/very/long/path 23 chars Twitter's t.co link shortener replaces every URL - no matter the length - with a 23-character t.co link before publishing. So every URL always costs exactly 23 characters.
Hashtag (#) #Marketing 1 char per letter Hashtags are counted normally, letter by letter. #Marketing = 10 characters (# + 9 letters).
Mention (@) @username 1 char per letter Mentions are also counted character by character. @johnsmith = 10 characters.

The Ultimate Guide to Twitter Character Limits and Link Shortening

When you paste a URL into a tweet - whether it is a short link or a sprawling, 200-character web address - Twitter's publishing system automatically processes that link through its own internal service called t.co. Before your tweet ever reaches your followers' timelines, Twitter silently replaces your original URL with a shorter t.co redirect link. Every t.co link is exactly 23 characters long. This is why our counter - and Twitter's native compose box - always charges you exactly 23 characters for every URL, regardless of the actual length of the link you typed.

This behavior is completely invisible to your followers. When someone clicks the link in your published tweet, Twitter's servers instantly redirect them from the t.co URL to your original destination. The substitution happens in milliseconds, and the reader never needs to know about it. The practical implication for you as a content creator is significant: a five-character URL and a 300-character URL both cost you exactly 23 characters. This means you should never abbreviate links inside a tweet using a third-party shortener like Bitly or TinyURL for the purpose of saving character space - you will not save a single character compared to pasting the full link.

t.co is Twitter's (now X's) proprietary URL shortening and safety scanning service. It has been active since 2011 and serves two primary purposes. First, it standardizes the length of all links in tweets so that Twitter can calculate character limits consistently - every URL costs exactly 23 characters no matter what. Second, and perhaps more importantly, every URL that passes through t.co is automatically scanned against Twitter's database of known malicious websites, phishing pages, and spam domains.

When a user clicks a t.co link, Twitter's servers check the destination URL in real time before completing the redirect. If the destination has been flagged as dangerous, Twitter intercepts the redirect and shows the user a warning page instead of forwarding them to the harmful site. This system provides a meaningful layer of protection against malware distribution, credential phishing attempts, and scam campaigns that use Twitter as a distribution channel. For digital marketers, this means that all links you share are automatically vetted - though it also means you cannot bypass the t.co system even if you wanted to.

Twitter counts each emoji as exactly 2 characters. To understand why, you need a brief primer on Unicode - the international standard that assigns a unique number (called a code point) to every character in every language and symbol system on Earth. Most standard letters and numbers occupy a single code unit in the most common encoding format (UTF-16). Emoji, however, are assigned code points that fall outside the range a single UTF-16 unit can represent. To handle these, the Unicode standard uses a technique called Surrogate Pairs: it encodes one emoji as two connected code units working together. Twitter's character-counting algorithm operates at the code-unit level, so it sees every emoji as 2 units, and charges you 2 characters accordingly.

This applies to essentially all standard emoji, including facial expressions (😀), hearts (❤), flags (🏴), and animals (🐨). Some very complex emoji - such as family group emoji constructed by joining multiple individual emoji using a special Zero Width Joiner (ZWJ) character - may count as more than 2 characters because they are technically multiple emoji fused together. For practical purposes, assume each emoji you type will cost you 2 characters, and plan your tweet text accordingly. If you are writing character-dense content, substituting a descriptive word with an emoji is rarely a space-saving tactic.

X Premium (formerly Twitter Blue) unlocks a dramatically expanded character limit of 10,000 characters per post - more than 35 times the standard 280-character limit. Whether this is worth the monthly subscription cost depends entirely on how you use the platform. For long-form content creators, journalists, essayists, educators, and newsletter writers, the ability to publish extended content natively within X is a significant advantage. It eliminates the need to thread multiple tweets together, keeps readers on the X platform instead of linking out to a blog or Substack, and allows for much more nuanced and detailed arguments or explanations in a single post.

For the majority of casual users and even most brand social media managers, however, 280 characters is generally sufficient for the types of short, punchy content that performs best on X's fast-moving timeline. Research consistently shows that shorter posts on X tend to receive higher engagement rates than very long ones, because most users are scrolling quickly and are unlikely to expand and read a 2,000-word post. The 10,000-character limit is most valuable as an occasional tool for in-depth analysis or announcements, rather than as a replacement for concise, high-engagement short posts. Evaluate whether your content strategy genuinely requires long-form native posts before committing to the subscription cost.

This tool uses a custom Parsing engine built in JavaScript that mirrors Twitter's own character-counting methodology as closely as possible. "Parsing" simply means the process of analyzing your text input and breaking it down into its component parts so each part can be measured correctly. Our parsing engine works in three sequential steps. First, it uses a Regular Expression - a precise pattern-matching rule written in code - to scan your text and identify every URL. A Regular Expression (often called a "regex") is essentially a search formula that describes what a URL looks like: it starts with http://, https://, or www., followed by characters that form a web address. Every detected URL is then set aside and assigned a fixed weight of 23 characters, regardless of its actual length.

In the second step, the engine uses JavaScript's built-in Unicode handling to identify emoji characters. Because JavaScript natively uses UTF-16 encoding internally, emoji are already represented as two-unit surrogate pairs in the language's string model. The engine counts each of these pairs as 2 characters. In the third and final step, all remaining text - standard letters, numbers, spaces, punctuation, hashtags, and mentions - is counted one character at a time. The three counts (URL weights + emoji weights + remaining text) are summed to produce the final total you see in the counter. This three-step approach is what makes this tool significantly more accurate than a simple character count that would give you a completely wrong number.

🔒

Privacy First: Your draft tweets and social media copy are processed entirely within your local web browser. Your text is never uploaded, stored, or transmitted to any external servers.