# Tweet Character Counter for X Posts Canonical: https://www.twitterapis.com/tools/tweet-counter Description: Count a post the way X counts it. Weighted characters, links fixed at 23, emoji and CJK at 2, measured live against the 280 limit as you type. Generated: 2026-09-14T03:00:37.992Z --- 1. [Home](/) 2. / [Tools](/tools) 3. / Tweet Counter FREE TOOL # Tweet Character Counter ## How many characters is a tweet, and how does X actually count them? The Tweet Character Counter is a browser tool that measures a post the way X measures it, by weight rather than raw character count. Ordinary Latin text weighs 1 per character, emoji and CJK glyphs weigh 2, and every link is replaced by a flat 23 whatever its real length. Type into the box and the count updates live against the 280 limit. Nothing you type leaves your browser. Your post 280 Weighted characters remaining against the 280 standard limit. Weighted 0 Characters 0 Links 0 Mentions 0 Weighted is the number X measures against the limit. Characters is the raw count of code points in the box. The two differ whenever the text holds a link, which is fixed at 23 weighted characters however long it is, or a character outside the light-weight ranges such as an emoji or a CJK glyph, which costs 2 instead of 1. Hashtags counted: 0. ## The three rules that make a post longer than it looks Almost every surprise in a character count comes from one of three places. A link is fixed at 23 no matter what, so pasting a long tracking URL costs the same as a short one and shortening it by hand saves nothing. A character outside the light-weight ranges costs 2, so a line of Japanese runs out of room at roughly 140 visible glyphs rather than 280. And a multi-code-point emoji, the kind built from a base glyph plus a modifier, is several code points that each carry their own weight, which is why one smiling face with a skin tone can cost noticeably more than one character. If you are measuring posts you have collected rather than posts you are about to write, read them through the [search API](/twitter-search-api) or the [timeline API](/twitter-timeline-api) and apply the same weighting to the returned text. ## Frequently Asked Questions ### How many characters is a tweet? A standard post is limited to 280 weighted characters. Weighted is the important word: X does not count code points, it assigns each one a weight and compares the total against 280. Most Latin, Cyrillic and Greek text, plus general punctuation, weighs 1 per character. Everything outside those ranges, which includes emoji and CJK writing, weighs 2. Accounts with a paid subscription can post far longer, up to 25,000 characters. ### Why do emoji use two characters? The published weighting configuration gives a default weight of 200 and lowers it to 100 only for four code point ranges. Those ranges cover the Latin, Cyrillic and Greek blocks plus some punctuation. Emoji sit outside them, so they take the default weight, which after the scale of 100 works out to 2 per character. The same rule is why Japanese, Chinese and Korean text hits the limit at roughly half as many visible glyphs. ### Do mentions and hashtags count against the limit? Yes, both count as ordinary text at their real weighted length, unlike links. A mention of a fifteen-character handle costs sixteen characters including the at sign. The one historical exception people remember, replies not counting the handles they are addressed to, applied to the leading mentions in a reply thread and is not something a counter can infer from pasted text alone. ### How does X count links against the limit? Every link is replaced by a fixed transformed length of 23, whatever the real URL is. A six-character short link and a two-hundred-character tracking URL both cost the same 23. That is why the raw character count in a text editor and the count in the composer disagree the moment a link appears, and why shortening a URL by hand buys you nothing at all. ### Does this counter match the X composer exactly? It implements the same published weighting rules: four light ranges at weight 1, everything else at 2, links fixed at 23. It is an independent implementation rather than the library X ships, so the composer has the final say on unusual grapheme clusters such as multi-code-point emoji sequences with skin tone or gender modifiers. For ordinary text, links, mentions and hashtags the two agree. ### How do I count posts programmatically? Apply the same rules in your own code: iterate code points, add 1 for anything in the four light ranges and 2 otherwise, then replace each URL match with a flat 23. If you are counting posts you have fetched rather than posts you are writing, the tweet endpoints return the post body and its entities, so you can measure real posts at scale instead of guessing from a sample. ## Next read Continue exploring related pages: [ Twitter API use cases 14 use cases from sentiment analysis to lead generation. ](/twitter-api-usecases)[ Twitter API answers Short, sourced answers to the most common Twitter and X API questions. ](/answers)[ Twitter timeline API Pull an account's full posting history over one REST endpoint. ](/twitter-timeline-api)[ Twitter list API Read list members and list timelines with the same Bearer key. ](/twitter-list-api) [All tools](/tools)[Start Free](/signup?utm_source=aio&utm_medium=organic&utm_campaign=aeo-tools-tweet-counter) [ TwitterAPIs ](/) The cheapest pay-as-you-go Twitter and X API. $0.0008 per call, which works out to $0.04 per 1,000 tweets on a full 20-tweet page. No subscriptions and no developer account. ## Product / API - [Pricing](/pricing) - [Cost Calculator](/twitter-api-cost-calculator) - [Rate Limits](/twitter-api-rate-limits) - [MCP Server](/mcp) - [Integrations](/integrations) - [Language Clients](/sdk) - [Changelog](/changelog) - [Status](/status) ## Developers - [Documentation](https://docs.twitterapis.com) - [API Reference](https://docs.twitterapis.com/docs/reference/search/tweet-advanced-search) - [User Info](https://docs.twitterapis.com/docs/reference/user-reads/user-info) - [User Tweets](https://docs.twitterapis.com/docs/reference/user-reads/user-tweets) - [Advanced Search](https://docs.twitterapis.com/docs/reference/search/tweet-advanced-search) - [Verified Followers](https://docs.twitterapis.com/docs/reference/follower-graph/user-verified-followers) ## Resources / Compare - [Answers](/answers) - [Reviews](/reviews) - [Free Tools](/tools) - [Twitter ID Finder](/tools/twitter-id-finder) - [Get a Twitter API Key](/twitter-api-key) - [Official X API Comparison](/twitter-api-pricing) - [Twitter API Use Cases](/twitter-api-usecases) - [Twitter API Alternatives](/twitter-api-alternatives) - [Twitter Unofficial API](/twitter-unofficial-api) - [Twitter Free API](/twitter-free-api) - [TwitterAPIs vs twitterapi.io](/twitterapis-vs-twitterapi-io) - [TwitterAPIs vs GetXAPI](/twitterapis-vs-getxapi) - [TwitterAPIs vs TweetAPI](/twitterapis-vs-tweetapi) - [TwitterAPIs vs TwexAPI](/twitterapis-vs-twexapi) - [TwitterAPIs vs RapidAPI](/twitterapis-vs-rapidapi) ## Legal - [About](/about) - [Security](/security) - [Trust](/privacy-and-data-handling) - [Terms of Service](/terms-of-service) - [Affiliates](/affiliates) - [Contact](/contact) - [Jobs](/jobs) © 2026 TwitterAPIs. All rights reserved. TwitterAPIs is an independent third-party API for developers and researchers. Not affiliated with, endorsed by, or sponsored by X Corp. All systems operational