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.