BotBlind

How to tell if a reply on X is from a bot (or just written with AI)

By Jose Enrique, maker of BotBlind · Updated October 19, 2026 · 8 min read

Quick answer: you usually can't tell from the words alone, and AI detectors can't either on something as short as a reply. What works is looking around the reply: how it sits in the thread (timing, copies, whether it engages with the post), what the account does (labels, handle, reply history) and only then the writing. One signal proves nothing. Three or four together usually do. There's a 60-second check below.

First, two different questions

"Is this a bot?" usually hides two questions that have different answers.

For you as a reader, the difference matters less than you'd think. Both push real conversation down the thread, and you can mute, hide or skip both. But it matters a lot before you call someone a bot in public, which is a good reason to be careful (more on that below).

Why AI detectors don't work on replies

It's tempting to paste a reply into an AI detector. Don't trust the result. Detectors look for statistical patterns across many sentences, and a 20-word reply doesn't have enough of them. Even the people who build these tools say so: Botfilter's extension skips any text under 25 words, and GPTTrace warns when a text is under 150 words (Botfilter, GPTTrace). OpenAI withdrew its own AI text classifier in 2023, citing low accuracy.

There's a second problem. "Great point, couldn't agree more!" reads the same whether a model or a person typed it. People wrote generic replies long before chatbots existed.

So the useful evidence is mostly outside the sentence.

Signals in the thread (strongest)

1. Timing that doesn't add up

A fast reply is normal. A long, polished, perfectly punctuated paragraph that lands eight seconds after the post is not, because nobody reads, thinks and types that fast. Open the post and the reply and compare their full timestamps. X shows the exact time on a post's own page, while the thread view only shows a rounded "8s" or "3m".

Watch out: fans with notifications on reply within seconds all the time. Speed only counts when it comes with length and polish.

2. Copies and near-copies

Scroll the replies. If two or three accounts posted almost the same sentence, or the same unusual three-word phrase, that's coordination or a shared template. This is one of the few signals that's hard to fake innocently.

3. It could be a reply to anything

Read the reply without the post. If it would fit under a post about a product launch, a football result and a cat photo equally well ("This is so true!", "Thanks for sharing this insight"), it probably wasn't written for this post. Real people mention a detail, disagree, ask something specific, or make a joke that only works here.

Watch out: a short question ("source?") doesn't mention the post either, and it's very human.

Signals on the account

4. X's own "Automated" label

X offers an automated-account label for bots that follow its rules. When it's there, the profile says the account is automated and names the account that runs it. Honest bots wear the label. Spam bots don't, so its absence proves nothing, but its presence settles the question.

5. The handle

A first name plus a long string of digits (think @laura_m84520193) is what you get when an account is created in bulk and X suggests a free username. Security researchers call these low-budget sock puppets (NBC News). Plenty of real people never changed the username X gave them, so treat it as a hint.

6. The replies tab

This is the single best check, and almost nobody does it. Open the profile and switch to its Replies tab (the list of everything the account has replied to). A person replies to friends, argues, makes typos, talks about their own life. An automated or farming account replies to dozens of large accounts in a row, at all hours, with replies that all have the same shape: compliment, restatement, emoji.

7. The profile around it

A recent join date, a stock or AI-generated photo, a bio that's mostly a link or "DM for promo", and a following count far above followers. Each is weak alone. Together with the replies tab, they're strong.

8. The checkmark doesn't mean human

A paid checkmark means someone pays for the account. It doesn't mean a person wrote each reply. Bier shared X data in March 2026 showing that users paid through revenue sharing were twice as likely to be flagged as spam as users who weren't paid (tech-ish). The payout is the incentive.

Signals in the writing (weakest)

These are the ones everyone shares on X, and they're the least reliable. Use them only to tip a decision that the signals above already started.

Plenty of careful writers use dashes and tidy sentences. Plenty of AI replies have been edited to remove them. On their own, these prove nothing.

A 60-second check

  1. Read it without the post. Could it go under any post? +1.
  2. Check the time. Long and polished within a minute? +1.
  3. Scan the thread. Same text or phrase from other accounts? +2.
  4. Look at the handle and label. "Automated" label settles it. Name plus long digits? +1.
  5. Open the Replies tab. Dozens of same-shaped replies to big accounts? +2.
  6. Only now, the writing. Stock phrases or templates? +1.

This isn't a scientific scale, just a way to stop yourself from deciding on one clue. If you're at 4 or more, it's very likely automated or farmed. At 1 or 2, give the person the benefit of the doubt.

Three made-up examples

Invented replies, invented handles. Any resemblance to real accounts is accidental.

Under a post about shipping dark mode: "Great point! Dark mode is a game-changer for user experience 🚀" from @growth_ai8402913, 9 seconds after the post.

Generic, fast, digit handle, stock phrase. Open the replies tab and you'll likely find the same sentence under fifty other posts. Almost certainly automated.

Same post: "Did you use CSS variables from the start or retrofit them? We have ~400 hex values and I'm scared." 3 minutes later.

Specific, a real question, a small personal detail. Human.

Same post: "This is a great reminder that small details matter. Consistency in design isn't optional, it's essential." from an account with a normal name and a real-looking history.

Template phrasing, no detail, but the account looks real. Probably a person using AI to write. Skip it, or mute it if it keeps happening. Don't call it a bot.

What not to do

When you're fairly sure

How BotBlind does this check for you

BotBlind runs a version of the same check on every X conversation you open: timing, copies and shared phrases in the thread, digit-heavy handles, replies that ignore the post, spam hooks, and (weighted low) stock phrases and style tells. Each reply gets a score from 0 to 100, and replies over your threshold fold into one line that shows the score and the reasons. It can't open each account's replies tab the way you can, so it leans on what's visible in the thread.

It's rules, not an AI detector, and it runs entirely in your browser. It will sometimes fold a real person, which is why nothing is deleted and Show is always one click away.

Status: BotBlind's Chrome Web Store listing is pending.

Get BotBlind when it goes live
Join the free waitlist and get one email when you can install it.
Join the waitlist

FAQ

Can an AI detector tell me if a tweet was written by AI?

Not reliably. Replies on X are usually too short for statistical detectors, and humans and AI write short replies in very similar ways. Look at the thread and the account instead: timing, repeated text and posting history tell you more than one sentence does.

Is a verified account always a real person?

No. A paid checkmark means someone pays for the account, not that a person writes each reply. X's head of product has said that accounts paid through revenue sharing are more likely to be flagged as spam than accounts that are not.

Are fast replies always bots?

No. Fans with notifications turned on reply within seconds all the time. Speed only means something when the reply is long and polished, or when the account replies that fast to many big accounts in a row.