Discord Permission Calculator
A visual checklist of every Discord permission flag. Tick what your bot needs and the tool computes the exact integer for your OAuth2 invite URL - with the full selected list for reference.
- Free, no limits
- No login
- Runs in your browser
- View Channels
- Send Messages
- Embed Links
- Attach Files
- Read Message History
- Use Application Commands
About this tool
Discord permissions are stored as a single 64-bit integer where each bit represents one permission flag. Ticking checkboxes in this tool toggles the corresponding bits, and the resulting integer is what goes into your OAuth2 invite URL.
You can also paste an integer to decode it back into a list of named permissions, which is helpful when reviewing an existing bot invite.
How to use
Tick the permissions your bot needs.
Read the computed integer bitfield.
Paste it into your OAuth2 invite link or dashboard.
Permissions are a bitfield, not a list
Discord stores permissions as a single integer where each bit is one permission. Send Messages is bit 11 (value 2048), Manage Channels is bit 4 (value 16), Administrator is bit 3 (value 8). A role with several permissions holds the sum of those values, so 2048 + 16 = 2064 means Send Messages plus Manage Channels and nothing else.
Because there are now more than 53 permission bits, the value exceeds what a JavaScript number can represent exactly. Discord returns it as a string in the API for that reason, and any code that parses it must use BigInt. Parsing a permission integer with parseInt is a real and common bug that silently drops the high bits - which is to say, the newer permissions.
Checking a permission is a bitwise AND: `(perms & BigInt(1) << BigInt(11)) !== BigInt(0)` tells you whether Send Messages is set. Adding one is a bitwise OR, and removing one is an AND with the complement.
Administrator overrides everything
Bit 3, Administrator, bypasses every other permission check and every channel overwrite in the server. A role with Administrator can do anything regardless of what the rest of its bitfield says or what any channel denies. There is no way to grant Administrator and then carve out exceptions.
This is the single most common permission mistake in server setup: granting Administrator to a convenience role because assembling the right combination of bits felt tedious. If you want a moderator who cannot delete channels, you must not give Administrator - you have to build the bitfield explicitly.
The one thing Administrator does not bypass is role hierarchy. A member still cannot modify a role positioned above their own highest role, and cannot ban or kick someone whose top role outranks theirs. Hierarchy is enforced separately from the bitfield.
Channel overwrites and how they resolve
Channel overwrites are stored as two separate bitfields per role or member: one for explicit allows and one for explicit denies. A permission not present in either is inherited from the role's server-level value.
Resolution order is: start from @everyone's server permissions, apply @everyone's channel overwrite, then apply the union of all the member's role overwrites (denies first, then allows), then apply the member-specific overwrite last. A member-level allow therefore beats a role-level deny, which is the mechanism for granting one person access to a channel their role cannot see.
How Discord permission math works
Each permission is one bit. Create Instant Invite is bit 0, Kick Members is bit 1, Ban Members is bit 2, and so on. The integer you see is the result of combining all selected bits with bitwise OR. The formula is permission integer = (1 << bitNumber) for each selected permission, all ORed together.
For example, sending messages (bit 11) and reading message history (bit 16) gives you integer 67584, which is 2^11 + 2^16.
Common permission presets
A basic bot that only sends messages needs Send Messages, Embed Links, Attach Files, Read Message History and Use Application Commands. A moderation bot adds Kick, Ban, Manage Messages and Manage Roles on top. Avoid granting Administrator unless your bot genuinely needs full control.
Frequently asked questions
What is the Administrator permission?
It is a single flag at bit 3 that grants every permission including future ones Discord may add. Use it sparingly.
Try other relevant tools
Discord Invite Builder
Build an OAuth2 invite link for your bot or app in one click.
Discord Role Name Generator
Generate creative role names for your Discord server, from fun to formal.
Discord Server Name Generator
Find a memorable name for your Discord server with themed suggestions.