Skip to content

How the tweet score is built

Last updated

On this page

Tweet Analyzer reads a draft in your browser and returns a tweet score from 0 to 100. The score rates the writing. A second label, the reach band, rates the account context you select. Neither one predicts virality or a view count.

Two separate results

The score looks at the words. The band does not. You can have a strong draft and a Lower band, for example a sharp reply on a free account at night. You can also have a weak draft and a Higher band. Fix the draft when the checks are weak. Do not rewrite the sentences to chase the band.

You can compare two drafts. The higher score is the stronger draft under these rules. It is still a writing comparison. The guides show how to rewrite a hook, a question, a link, and a bait line.

The checks

Each check has a point maximum. Your score is the share of available points, scaled to 0–100. If you skip recent posts, topic consistency is left out and the other checks make up the whole score. Empty text scores 0 and is marked Empty. Otherwise 75 and above is Strong, 55 to 74 is Decent, and under 55 is Weak.

Hook, up to 20

This looks at the first line. It favors a line at or under 100 characters, a digit, a word that marks contrast, and an opening that is not a greeting or a warm-up such as “just” or “good morning.” See hook examples.

Value, up to 20

This asks whether the reader gets something to use: enough words to hold an idea, a reason (“because,” “so that”), a list or a colon, and a result, lesson, or step. A long post that repeats the same words scores this lower than a post that keeps moving.

Specificity, up to 15

Numbers raise this check. So do amounts, time spans, and a capitalized name. “Recently we improved onboarding” is vague. “We cut onboarding from 12 steps to 4” is specific. Use a real figure. A made-up one is worse than none.

Reply invitation, up to 15

A specific question at the end scores highest. A bare “thoughts?” is weak. A question earlier in the post, or a phrase like “tell me,” sits in the middle. Bait phrasing scores zero here. The replies guide shows the difference.

Emotional pull, up to 10

This looks for language that shows surprise, urgency, or a strong preference, plus an exclamation mark as a small extra. Stuffing hype words does not make a better post. One honest reaction beats a stack of synonyms.

Topic consistency, up to 10

This runs only when you paste recent posts. It compares distinctive words in the draft with distinctive words in that history. Overlap with your usual topics scores higher. A one-off test can still be worth posting. The note says so when the overlap is low.

Clarity, up to 5

Shorter sentences score higher. A post over 140 characters is expected to use line breaks so people can scan it.

Length, up to 5

Very short drafts, under 40 characters, do not get full points. Drafts over the limit for the account type you selected also drop. In this tool the limit is 280 characters on a free account and 25,000 on Premium. Inside the limit, and long enough to hold an idea, this check is full.

When the score is low

Work in this order:

  • If a gate is listed, fix that first. The cap hides other gains.
  • Rewrite the first line so the point is visible without a warm-up.
  • Add one real number, name, or timeframe, or delete a vague claim.
  • End with one question a person can answer in a single sentence.
  • Compare the new draft with the old one instead of editing blind.

Do not chase 100. A specific Decent post is more useful than a stuffed Strong one.

The cap at 40

Three problems cap the score at 40, no matter how the other checks add up. Engagement bait, such as “like if,” follow-for-follow, and “comment to win,” is one. Hostile wording aimed at people is another. Four or more all-caps words is the third. Links do not cap the score, and they do not change it. Hashtags do not change it either. More than two hashtags only adds a note.

Read engagement bait to avoid and do links hurt reach on X? for the writing side of those rules.

The reach band

The band is not a view range and not a multiplier on impressions. It starts at a neutral context score of 0, then applies the adjustments below. 3 or more is Higher. 0, 1, or 2 is Typical. Below 0 is Lower.

  • Premium account: +2. Free account: no change.
  • Original or quote post: no change. Thread: −1. Reply: −2.
  • Under 1,000 followers: +1. Larger follower bands: no change.
  • Many mutual follows: +1. Few mutual follows: −1.
  • Morning window: +1. Evening or night: −1. Midday or unset: no change.

These are labels so you can see which settings the tool treats as a tailwind or a headwind. They are wide on purpose. The tool cannot see who is online, what the ranker does today, or how your last 20 posts actually performed. For a numeric range, start from your own median, as described in how to estimate tweet impressions.

X open-sourced its ranking code in 2026. Its production weights treat replies and shares as worth far more than likes, and those weights apply to predicted probabilities, not raw counts. That is a fact about X’s published code, not a formula this checker runs.

Limits

  • The tool does not see images, video, polls, or who follows you.
  • It does not know if a number in the draft is true.
  • It does not guarantee reach, replies, or follows.
  • A Strong score can still get few impressions. A Weak score can still travel.

Back to the tool when you want to score a draft.