Permissions Calculator
Tick the permissions a role or bot needs and get the bitfield Discord expects, plus a ready-made bot invite URL. Decode an existing bitfield by pasting it in.
Presets
A starting point. Adjust anything after applying one.
General
Membership
Text
Voice
Events
Advanced
Bitfield
Paste one in to tick the boxes it represents.
0 permissions selected
Bot invite link
Your application's Client ID, from the Discord Developer Portal.
How Discord permissions work
A Discord role's permissions are stored as a single number. Each permission owns one bit in that number: Create Invite is bit 0, Administrator is bit 3, Send Messages is bit 11, and so on up past bit 52. Ticking a box sets a bit, and the total is the “bitfield” the API expects.
Discord sends and accepts that number as a string, not a number, and for good reason: the flags have already climbed past what JavaScript can represent exactly as a float. This calculator uses arbitrary-precision integers throughout, so the highest permissions survive a round trip instead of quietly disappearing.
Administrator is not a shortcut
Administrator grants every permission and ignores every channel-level override. A bot with Administrator can delete every channel in your server. Grant only what a bot actually needs — if it posts messages and adds reactions, those two permissions are the whole list.
Roles versus channel overrides
What you build here is the server-wide baseline for a role. Individual channels can then allow or deny permissions on top of it, and those overrides win — except against Administrator, which bypasses them entirely. A member's effective permissions are every role they hold combined, then adjusted by the channel.
The invite link
The generated URL carries your application's Client ID, the bitfield, and the bot and applications.commands scopes. The second one is what allows slash commands; a bot invited without it can be in the server and still have no commands appear.