Discord Permissions Explained
Discord permissions are stored as a single number: a bitfield where each permission is one bit. Understanding it stops you from handing out Administrator every time something does not work.
The bitfield
Each permission has a bit position. The value of a permission is 1 shifted left by that position, so Administrator (bit 3) is 8, and a role’s permissions are all its bits added together. The newest permissions sit above bit 50, so the API sends the total as a string rather than a number that would overflow. The Discord Permissions Calculator turns a set of checkboxes into that integer and a ready-to-use invite URL.
Administrator overrides everything
The Administrator permission grants every permission and bypasses all channel-level restrictions, including private channels. The server owner has every permission too, whatever their roles say. Give Administrator only to roles you fully trust, and grant everyone else the specific permissions they need.
How channel overwrites stack
A role sets server-wide permissions, and each channel can allow or deny permissions for a role or a single member. Discord applies them in a fixed order: the channel’s @everyone overwrite, then every role overwrite, then overwrites for that member, with the denies at each step applied before the allows.
Two rules fall out of that order. A channel deny beats a server-wide allow. And between roles, an allow wins: if one of your roles is denied View Channel in a channel and another is allowed, you can see it, whatever order the roles sit in. Denying View Channel also makes the channel’s other permissions irrelevant, since nobody can act in a channel they cannot see.
Role hierarchy
Role order does not decide permissions, but it does limit moderation. A bot or member can only assign, edit, or reorder roles below their own highest role, and can only kick, ban, or change the nickname of members whose highest role is lower. When a bot says it cannot do something it clearly has permission for, drag its role higher in Server Settings, Roles.
Building a bot invite
A bot invite carries the permissions it asks for as that same integer: https://discord.com/oauth2/authorize?client_id=APP_ID&scope=bot+applications.commands&permissions=INTEGER. Ask only for what the bot uses. Whoever adds the bot can untick permissions on the invite screen anyway, and a bot that asks for Administrator gets turned away by careful server owners.
FAQ
Why can my bot not give a role even though it has Manage Roles?+
The role is above the bot’s own highest role. Move the bot’s role above every role it needs to hand out, in Server Settings under Roles.
What does the permissions number in an invite link mean?+
It is every permission the bot asks for, each one a bit, added together. 8 alone is Administrator, and the permissions calculator decodes any value back into the list.
Try the tools
All guides →Discord Permissions Calculator
Pick permissions to get the integer and a ready-to-use bot invite URL.
Launch tool →Discord Mention Builder
Build user, role, channel, emoji, and slash-command mentions and deep links.
Launch tool →Discord Role Color Picker
Pick a color and get the Discord decimal integer, hex, and RGB with a live preview.
Launch tool →