X (Twitter) character counter
Count characters against X (Twitter)'s real limits as you type: post 280, bio 160. Emoji-safe counting, and a link always costs 23 whatever its length.
Your text
Free accounts stop here; Premium raises it, but the feed still truncates.
Which limit?
Counts
- Characters
- 0
- Words
- 0
- Sentences
- 0
- Lines
- 0
Characters are counted the way a reader sees them, so an emoji counts once even though it is several bytes.
Every x limit
How to fit a post inside 280 characters
X is the one platform here where the ceiling is low enough to shape the sentence itself, so count while you draft rather than trimming a finished post afterwards. These steps take a draft from over the line to publishable without losing the point of it.
- Paste the draft into the box above. The count updates on every keystroke, inside this page, so an unpublished post stays on your machine.
- Pick the surface you are writing for: the post at 280, the bio at 160 or the display name at 50. Each has a separate ring and a separate remainder.
- Add the emoji before you judge the number rather than after. X treats emoji as heavier than letters, so the decoration you add last is often what pushes the post over.
- Cut the throat-clearing first: the "I think that", the "just", the "really". On a budget this tight the filler is usually the twenty characters you were short.
- Read the final line back. The whole post shows in the timeline, so text that stops mid-clause reads as a mistake rather than as a cliffhanger.
- Copy the text into the composer and compare the two counters. If X reports a bigger number than this page, the weighting described below is the reason.
What X counts, and what it gives you free
The post ceiling is the number everyone knows, and it is not the only one X enforces. Two shorter fields sit alongside it, and several things you might expect to be charged are not.
- Post: 280 characters. Long posts on the paid tier are folded behind a "Show more" in the timeline, so the opening lines still carry the post either way.
- Bio: 160 characters. The profile shows it whole, while hover cards and search results trim it, so put what identifies you at the front.
- Display name: 50 characters. Easy to overrun once you append a role, a company or a launch date to your own name.
- Attachments are free. An image, a GIF, a video or a poll costs nothing against the text budget.
- Replying does not spend your budget on other people's handles: the accounts you are replying to sit outside the counted text.
- A mention you type inside the post does count, at sign included, and tagging three accounts is a measurable slice of the post.
- X weights characters by script. Latin, Greek, Cyrillic, Arabic and Hebrew count as one each, while Chinese, Japanese and Korean count as two, which halves the real ceiling for those languages.
- Emoji sit on the heavy side of that same weighting, so an emoji costs about what two letters cost.
- Image descriptions are a separate field with a far larger budget of their own, so alt text never competes with the post.
Why two counters disagree about the same post
The failure on X is rarely a rejected post. It is a composer that reports a number you cannot account for, or a draft that measured fine in a scheduling tool and will not send here. Almost every time, two tools are counting different units.
- A string's length in JavaScript is a count of UTF-16 code units. The British flag is two code points and four of those units, so a naive counter charges you four characters for one flag.
- Counting code points is closer and still wrong: a thumbs up with a skin tone is two code points and one character to anyone reading it.
- This page segments text into grapheme clusters, the unit a reader recognises, which is why its number matches what you see on screen rather than what the string is made of.
- X then applies its script weighting on top of that, so on this platform a grapheme count is a floor rather than a promise.
- Curly quotes and non-breaking spaces pasted from a document cost exactly what their plain versions cost, so they are almost never the missing characters, which is worth knowing before you go hunting for them.
What this counter cannot tell you
A counter is worth the tab while you are learning where the limit falls, and worth much less once you have the feel for it. There are drafts where the number is not the problem, and there is one case where this page will read lower than the composer.
- Writing in Latin script with no emoji, the two counts agree and you can trust the one here.
- Writing in Japanese, Chinese or Korean, or leaning on emoji, treat this number as optimistic and confirm in the composer before publishing.
- This page counts the free ceiling. It does not model the paid tier's long posts, which are a different writing problem rather than a longer version of the same one.
- A post that only fits once you delete the verb does not fit. Two posts beat one compressed into telegraphese.
You just fixed one post. Now do the month.
The x (twitter) character counter solves one piece of one post. OctoSpark plans, writes and schedules the whole calendar across every network you use, publishes it for you, and reports what actually performed.
- One calendar for every network
- Schedule once, publish everywhere
- Drafts written in your own voice
- See what actually performed
No card needed. These tools stay free either way.
Related free tools
- Twitter thread makerSplit long writing into a numbered thread that respects the per-post limit.
- Threads character counterCount characters against Threads's real limits as you type: post 500, bio 150. Emoji-safe counting, and your draft stays in this tab rather than on a server.
- X (Twitter) image resizerResize any image to the exact dimensions X (Twitter) expects: post image 1600x900, plus every other X (Twitter) size. Runs in your browser, nothing uploaded.
Frequently asked questions
How this tool works, what it cannot do, and what happens to what you put into it.
What is the X (Twitter) character limit?
A X (Twitter) post allows 280 characters. Free accounts stop here; Premium raises it, but the feed still truncates. This tool also counts against the bio (160) and the display name (50), so you can check a bio and a post without switching pages.Do links count towards the 280 characters?
Yes, but at a fixed cost. X shortens every URL through t.co, so any link counts as 23 characters no matter how long it really is. A 200-character tracking URL and a 20-character one cost exactly the same.Why does my emoji count as more than one character?
Most counters measure UTF-16 code units, where a single emoji is two and a flag or skin-tone variant can be four or more. This tool counts grapheme clusters, what a reader sees as one character, using the browser's own segmenter, which is how the platforms count too.Is my text sent anywhere?
No. The counting happens in this page as you type. Nothing is uploaded, stored or logged, so you can safely paste an unpublished draft.Is my data private?
Yes. This tool does its work in your browser, so whatever you type, paste or upload stays on your device. Nothing is sent to our servers, which is also why it keeps working if you go offline after the page has loaded.Is this really free?
Yes. Every tool here is free with no account, no credit card and no usage cap. They exist so that the people who need our scheduling product find us, which only works if the tools are genuinely useful on their own.Do I need an account?
No. Open the page and use it. An account is only for OctoSpark itself, where you plan, schedule and publish a whole calendar rather than fixing one post at a time.Can I use the output commercially?
Yes. Anything you produce here is yours, including for client and commercial work. We claim no rights over it and we do not watermark it.