The Field Guide

Rankings

The best Discord reaction role bots

The best Discord reaction role bots, ranked on panel type, exclusivity and free headroom. Vetox leads, with unlimited free panels and five modes.

Reaction role free tiers vary by a factor of thirty. Zira gives 100 reaction roles per server free, Carl-bot builds its whole product around them, Dyno caps free at 3, and MEE6 charges. The differences worth comparing are panel type, exclusivity behaviour, and what the member is told when the role lands.

What actually differs between reaction role bots

The reaction itself is solved. Four things are not.

Panel type. Emoji reactions are the original mechanism and the worst one — they clutter the message, they break when a custom emoji is deleted, and members remove reactions by accident. Buttons and dropdown select menus are cleaner and every serious bot now supports them. Check which your candidate actually ships — SlashBot went the other way and removed reaction panels by design, as our SlashBot alternatives record.

Exclusivity. Picking a region role should remove the previous region role. Picking a ping role should not remove anything. Whether a bot can express both, per panel, is the difference between a role structure that works and one people break.

Headroom. Free caps range from 3 to 100 to uncapped across this comparison, and the number that bites is not the total — it is the number per panel, because Discord itself caps 25 options in a select menu and 25 buttons across five rows.

Confirmation. Whether the member gets told the role landed. Silence is the single most common “reaction roles aren’t working” support ticket, and on at least one bot in this list the confirmation is a paid feature.

How this ranking was built, and what it is not weighted by

Every limit below was read from the vendor’s own documentation on 30 August 2026. The criteria, in order: free headroom, panel types supported, exclusivity behaviour, and whether configuration is a dashboard or a chat command.

It is not weighted by install count, and it is not weighted by how the panel embed looks. It is also not weighted by scripting power — Carl-bot’s Tagscript is genuinely the most flexible thing in this category and it is a different product for a different person, which the entry below says plainly.

The comparison

BotFree headroomReactionsButtonsDropdownsExclusive groupsConfig
Vetoxunlimited panels, 20/25/25 per panelyesyesyestwo kindsdashboard
Zira100 roles per server, all types combinedyesyesyesyesdashboard
Carl-botfree, with Tagscript behind ityesyesyesyesdashboard
ProBotfreeyesyes——dashboard
Atlas4 groups × 20 rolesyesyes—yesdashboard
Koya5 button rowsyesyes——dashboard
Circle2 messages × 20 rolesyesyes——dashboard
Arcane10 reaction rolesyes———dashboard
Dyno3yes———dashboard
Makifree, styles paidyesyes——dashboard
MEE6none — paid, 40 when boughtyesyes——dashboard
Lorittaabsent—————

Zira — 100 free reaction roles, and a paywalled confirmation DM

100 reaction roles per server, free, combined across all nine of its role types plus buttons and select menus. Nothing else in the utilities category comes close on raw allowance, and its premium is $2 per 30 days or $50 lifetime, which is the cheapest paid tier in this whole comparison.

Two things to know before you commit to it.

The pool being combined rather than per-type cuts both ways. One hundred roles is generous if you want a big picker; it is one shared budget if you want reaction roles, button roles and select menus all at once.

And role-change DMs are premium. On the free tier a member clicks and gets no confirmation the role landed, which is precisely the failure mode described above. It is a small thing that produces a disproportionate number of “is it broken?” messages.

One correction worth making, because it is repeated on several comparison sites: a claim that Zira allows only “6 remove roles per guild” free is contradicted by Zira’s own documentation, which states 100 combined. The vendor page wins.

Verdict: the best free allowance, and check that missing DM against how much handholding your members need.

Carl-bot — reaction roles are the product

Carl-bot has been the default answer to this question for years and it earns it. Reaction roles are not a plugin bolted onto a moderation bot; they are the centre of gravity, and Tagscript sits behind them — a real scripting layer that lets a role panel do things no settings page can express.

Free gives you reaction roles, 8 automod filters, ~24 log types, unlimited tags and 50 triggers. Premium is $7.99/month for one server, rising to $12.99, $16.99 and $24.99 for two, three and five servers. That per-account-with-an-allowance model is genuinely better than per-server pricing if you run a network.

Verdict: if you want to script the behaviour rather than configure it, this is the one. If you want a dashboard toggle, the extra power is a cost rather than a benefit.

Dyno, Arcane and MEE6 — where the free caps bite

Dyno caps free reaction roles at 3. That is not a role picker; it is a demo. Standard is $4.99/month.

Arcane gives 10, which is workable for a small picker and immediately short if you want regions, pronouns and ping preferences on one server. Arcane’s real product is leveling, and its free tier there caps role rewards at 15 at one per level — see which Discord bots charge for leveling.

MEE6 charges. Reaction Roles is one of the 31 crossed rows on its own 37-row free comparison table, and buying in gives you 40. List price is $11.99/month, $49.99/year or $89.99 lifetime.

That MEE6 sits 21st in Discord’s own Moderation and Tools ordering while Color-Chan — a bot that does nothing but colour roles — sits 19th is one of the more useful facts in this niche. Narrow tools that do one role job completely get installed more than broad tools that gate it. The full picture is in the most popular Discord bots.

Where Vetox fits

Vetox’s self-roles have no paid tier and no panel limit. There is no entry for them in the platform’s feature limits or gates at all, so a Starter server gets unlimited panels, and the per-panel caps — 20 roles on a reaction panel, 25 on a button panel, 25 on a dropdown — are identical on the free tier and the $17.99 one. Those numbers are Discord’s own ceilings rather than a commercial decision.

A panel binds to an already-sent message, so the embed is yours and the picker is attached to it rather than replacing it. All three interaction surfaces are available on every panel type, and DM notifications are free, which is the thing Zira sells.

The part worth reading closely is the exclusivity model. Each panel carries one of five behaviours, and two of them are the exclusive-group mechanism most bots either lack or bolt on:

ModeWhat a click does
ToggleHas the role, it is removed; does not have it, it is added
GiveAdds only. Never removes — right for opt-in ping roles
TakeRemoves only. Never adds — right for opting out of something
Auto-ReplaceRemoves every other role on this panel, then adds the chosen one
Strict SingleRefuses the click with a private message if the member already holds a panel role

Auto-Replace and Strict Single are the same idea with opposite manners. Auto-Replace lets a member change their region freely and silently swaps the old role out. Strict Single makes the first choice final and says so. A region picker wants the first; a team or house assignment usually wants the second, and most bots in this comparison can express neither.

The group is the panel’s own role list, which means there is no separate “exclusive group” object to keep in sync — a panel is the group.

Alongside it, on the same configuration surface: auto-roles on join are free, unlimited and ungated for humans and for bots, and a /colors name-colour picker is free, with palette templates, sending a colour panel and colour-on-join at Basic. That last one has an unusual mechanic worth knowing — Vetox discovers colour roles rather than storing a list. Any role whose name is purely numeric and which holds none of eight dangerous permissions counts as a colour role. A server that already has its own numeric colour roles gets a working /colors picker with no setup and no payment.

The arrival path around it is in the best Discord welcome bots, and the whole free tier is compared in the best free Discord bots.

Which one to install

If your situation isInstall
Several pickers, some exclusive, some notVetox — unlimited panels, five modes
One big picker and the largest free allowanceZira — 100 roles, $50 lifetime
You want to script the behaviourCarl-bot — Tagscript
Colour roles specifically, and nothing elseColor-Chan — a specialist that outranks MEE6
A handful of roles and you already run Dyno or ArcaneTheir free caps, 3 and 10, may be enough
You run MEE6Reaction roles are paid there

Frequently asked questions

What is the best free reaction role bot? Vetox on structure — unlimited panels, free DM confirmations and five per-panel behaviours including two forms of exclusivity. Zira’s raw allowance is larger at 100 roles per server free, then it paywalls the DM that confirms one landed. Carl-bot suits scripting rather than configuring, and Dyno’s free cap of 3 and Arcane’s of 10 run out quickly.

Why are my reaction roles not working? Almost always role hierarchy. The bot’s own role has to sit above every role it assigns in the server’s role list, and Discord refuses the assignment silently if it does not. The second most common cause is a deleted or foreign custom emoji on a reaction panel — bots validate that the emoji exists in your server, and a panel bound to one that does not will fail.

Should I use reactions, buttons or a dropdown? Buttons for up to 25 roles that people pick several of. A dropdown for a long list where they pick one or two — it collapses to a single line instead of a wall. Reactions only if you need the original look, because they clutter the message and are the easiest to trigger by accident.

Can a bot make roles mutually exclusive? Some can. Vetox has two modes for it — Auto-Replace swaps the old role out silently, Strict Single refuses the second choice — and Atlas and Carl-bot support exclusive groups. Dyno, Koya, Circle and MEE6 do not express exclusivity per panel, so a member can hold every region at once.

How many reaction roles can one message have? Discord’s own limits set the ceiling: 25 options in a select menu, and 25 buttons across five rows of five. Emoji reactions are capped at 20 by most bots. That is why the useful comparison is panels per server rather than roles per panel — the per-panel number is largely the platform’s.

Do reaction roles work if the bot goes offline? No. Every one of these bots assigns the role when it sees the click, so a click during an outage does nothing and the member sees nothing. This is a genuine argument for a bot that also DMs a confirmation, because silence and failure look identical to the member.

Method

Every limit above was read from the vendor’s own documentation on 30 August 2026, not from another comparison article. Where a widely repeated third-party figure conflicts with the vendor’s own docs — as with Zira’s free role allowance — the vendor page is used and the discrepancy is stated. Absence claims cover the sixteen all-in-one bots and fourteen utility bots examined, not Discord’s full catalogue.

Sources and verification

Checked

  1. docs.zira.bot (opens in a new tab)
  2. docs.zira.bot — settings and access (opens in a new tab)
  3. docs.carl.gg (opens in a new tab)
  4. carl.gg — premium (opens in a new tab)
  5. mee6.xyz premium page (opens in a new tab)
  6. dyno.gg premium page (opens in a new tab)
  7. docs.probot.io — commands (opens in a new tab)
  8. docs.atlas.bot — advanced settings (opens in a new tab)
  9. circlebot.xyz documentation (opens in a new tab)
  10. koya.gg features (opens in a new tab)
  11. docs.arcane.bot (opens in a new tab)
  12. colorchan.com (opens in a new tab)
  13. maki.gg premium page (opens in a new tab)

How we verify