Skip to content
brownie.tools

Twitter Character Counter

Check weighted length, preview your post, spot repeated hashtags, and save a draft locally.

0 / 280 characters

Start typing your tweet.

Your tweet is saved locally in your browser only. It never leaves your device.

Type or paste a draft into Your Tweet to get its weighted character count and post preview immediately. Choose Standard for a 280-character target or X Premium for 25,000. Recognized http:// and https:// links cost 23 characters each; supported wide characters and recognized emoji graphemes count as two. Review six statistics, repeated hashtag warnings, and a thread estimate for oversized Standard drafts. Copy the text or statistics, with draft saving handled locally in your browser.

Updated

How do you check a tweet's weighted character count?

Paste your text into Your Tweet and read Character limit for the weighted total against your selected target. No calculate button is needed. Start with Standard for 280 characters, or select X Premium for the tool's 25,000-character target. The text stays editable when it exceeds the limit, so you can compare revisions without losing the original draft.

Try Hello δΈ–η•Œ πŸŽ‰ https://example.com. The counter returns 37 weighted characters, leaving 243 against Standard. This example combines ordinary text, wide characters, an emoji, spaces, and a link. It explains why the result differs from counting the visible symbols or the literal length of the address.

Weighted calculation for the example draft
PartCalculationContribution
Hello followed by a spaceFive letters plus one space6
δΈ–η•ŒTwo wide characters at two each4
Space, πŸŽ‰, space1 + 2 + 14
https://example.comOne recognized URL23
Total6 + 4 + 4 + 2337

How does weighted length differ from a normal character count?

This counter applies local weighting rules inspired by Twitter Text rather than treating every visible symbol equally. Ordinary Latin letters, digits, spaces, and common punctuation contribute one unit each. Characters in the configured wide ranges, including Chinese ideographs, Japanese kana, Korean Hangul, and full-width forms, contribute two. This does not mean every Unicode character above a particular code point receives double weight.

When Intl.Segmenter is available, the tool processes grapheme clusters: groups of code points that form a displayed character. Recognized pictographic emoji and paired regional-indicator flags receive two units per cluster. A joined emoji such as πŸ‘¨β€πŸ’» therefore contributes two rather than charging separately for each pictograph and joiner. Without that API, the fallback iterates code points, so complex emoji results can differ.

Use Character Counter for general text measurements rather than a social-post budget. This tool does not run an account-connected publishing validation, and its rules should not be described as a guarantee that every possible Unicode string matches the platform's composer.

How are links detected and counted?

A detected URL replaces its entire matched span with a fixed contribution of 23 before the rest of the draft is counted. The detector recognizes lowercase http:// and https:// prefixes followed by non-whitespace characters. Two separate recognized links therefore contribute 46, plus any surrounding words, spaces, or line breaks. Replacing one recognized address with a shorter one does not reduce its contribution here.

The boundary matters. A bare domain is ordinary text, and an uppercase scheme is not matched by this detector. A comma or closing parenthesis directly attached to a recognized address remains inside the matched URL span until whitespace occurs. Separate surrounding punctuation when checking its independent cost. Detection is pattern matching, not a check that the address exists or is safe to visit.

What do Standard, X Premium, and the warning colors mean?

Standard and X Premium change the comparison target, not the counting formula. The configured limits are 280 and 25,000 respectively. They do not inspect your subscription, discover your account's available features, or offer a custom limit field. Changing tabs leaves your text and statistics intact.

The progress bar turns yellow at 90% of the selected target: 252 weighted characters for Standard and 22,500 for X Premium. Exactly reaching the target remains a near-limit state; red begins only above it. An over-limit draft also gets a message showing how many characters to remove. Use the number rather than estimating remaining space from the filled bar.

For an oversized Standard draft, the thread hint divides weighted length by 280 and rounds upward. A 561-unit draft therefore shows approximately three tweets. This is a capacity estimate, not a thread splitter: it does not choose sentence boundaries, add numbering, distribute links, or create separate posts. No thread estimate is shown in X Premium mode.

What do the statistics and duplicate hashtag warning measure?

The six badges are Words, Hashtags, Mentions, Emojis, URLs, and Line Breaks. Words counts whitespace-separated tokens, so an unspaced phrase is not split using language-specific word boundaries. Line Breaks counts newline characters rather than the lines produced when text wraps inside the editor. A long sentence wrapping across several display lines can still have zero line breaks.

Hashtags matches a hash followed by Unicode letters, numbers, or underscores. Mentions matches an at sign followed by letters, numbers, underscores, or periods. These are text patterns, not checks for registered accounts or valid published tags. Occurrences count even when repeated; duplicate hashtag detection compares lowercase forms and lists each repeated tag once.

The Emojis badge counts pictographic code points separately from the weighted-length calculation. For πŸ‘¨β€πŸ’» it reports two pictographs even though the segmented character contributes two weighted units total. Do not multiply that badge by two to reconstruct your character count. For prose-focused measurements beyond these badges, use Word Counter.

How should you use the preview and shorten an oversized draft?

The post preview is a visual drafting aid with a cutoff of 280 graphemes in both modes. It slices the entered text rather than the weighted representation, so its cutoff differs from the character budget when links or wide characters are present. Review the opening and paragraph breaks, but use Character limit to decide whether your draft fits the selected target.

Remove repeated ideas and unnecessary tags before abbreviating essential information. Every ordinary trailing space still counts here; the tool does not trim the draft automatically. Shortening a recognized URL will not recover space under its fixed weighting. There is no media attachment input or publishing button: copy the final draft into your intended composer and review it there.

How do local draft saving and copying work?

After text changes, the editor waits 1.2 seconds before attempting to save the draft in browser local storage. Saved appears after a successful write. Returning to the tool restores that text when storage is available; the selected account tab is not part of the saved draft. Storage restrictions can prevent persistence, so copy important text before leaving.

Copy places the entered draft on your clipboard. Copy Stats instead creates a plain-text report with the selected platform, weighted characters used, remaining or excess characters, and all six badge values. Clear empties the editor and removes its saved draft. For a separate general writing space, use Online Notepad.

How to Use Twitter Character Counter

  1. Your Tweet

    Type or paste your draft into Your Tweet. Character length and statistics update as you edit.

  2. Standard or X Premium

    Select Standard for the 280-character target or X Premium for the 25,000-character target. Review Character limit and the post preview.

  3. Words, Hashtags, Mentions, Emojis, URLs, and Line Breaks

    Review the six statistics and any duplicate hashtag alert. Edit the draft if the character count exceeds your chosen target.

  4. Copy or Copy Stats

    Use Copy for the draft text or Copy Stats for a plain-text report. Saved indicates a local draft save; Clear removes the draft from the editor and local storage.

Frequently Asked Questions