Discover AI Tools

Permission Calculator

Tick the permissions you want, get the permission integer, and generate a ready-to-use bot invite link. No more guessing Discord's permission bitfield.

Bot details

Found in the Discord Developer Portal under your app.

Permissions

Permission integer

0

Invite link

↗ Open

What is the Discord Permission Calculator?

The Discord Permission Calculator converts between Discord's numeric permission values (bitfield integers) and human-readable permission names. Discord uses a single integer to represent all of a role's permissions, where each permission is a specific bit in the number. This tool lets you check or uncheck individual permissions and instantly see the corresponding integer, or paste an existing integer to decode which permissions it grants.

This is an essential utility for bot developers, server administrators, and anyone working with the Discord API. When you configure bot invite links, set up role permissions programmatically, or debug why a bot cannot perform certain actions, you need to translate between permission integers and their meanings. The calculator handles the bitwise math so you do not have to.

Beyond calculation, the tool also generates ready-to-use bot invite links with your selected permissions pre-configured. Simply check the permissions your bot needs, enter your bot's client ID, and copy the invite URL that will prompt users to authorize exactly those permissions.

How to Use This Tool

  1. To build a permission integer: check the boxes next to each permission you want to include. The integer value updates in real time as you toggle permissions on and off.
  2. To decode an existing integer: paste the numeric value into the integer field. All corresponding permission checkboxes will automatically update to show which permissions are included.
  3. To generate a bot invite link: select the permissions your bot requires, enter your bot's application (client) ID, and copy the generated OAuth2 invite URL.
  4. Use the category filters to quickly find specific permissions. Permissions are grouped into General, Text, Voice, and Advanced categories.
  5. Review the selected permissions carefully before creating invite links. Granting unnecessary permissions is a security risk for servers that install your bot.
  6. Copy the final integer value for use in your bot's code, API calls, or server configuration scripts.

Key Discord Permission Values

Tips for Permission Management

Frequently Asked Questions

What is a permission bitfield?

A permission bitfield is a single integer where each binary bit represents one permission. If a bit is 1, that permission is granted; if 0, it is not. For example, the integer 2048 in binary is 100000000000, which corresponds to the Send Messages permission (bit 11). Multiple permissions combine by adding their values together using bitwise OR.

How do I find my bot's client ID?

Go to the Discord Developer Portal at discord.com/developers/applications, select your application, and copy the Application ID (also called Client ID) from the General Information page. This is the numeric ID you paste into invite link generators.

What is the difference between server permissions and channel overrides?

Server permissions (set on roles) define the default access level across the entire server. Channel permission overrides can then modify these defaults for specific channels - either granting permissions the role does not normally have, or denying permissions it does. Denies always take priority over allows at the channel level.

Can permission integers be negative?

In modern Discord API versions, permissions use unsigned 64-bit integers and should never be negative. If you encounter negative values, it may indicate an overflow issue in code that uses 32-bit signed integers. Ensure your programming language handles Discord permissions as unsigned 64-bit values or strings.

How do I calculate permissions programmatically?

Use bitwise OR to combine permissions: sendMessages | manageMessages gives both permissions. Use bitwise AND with a permission to check if it is set: (integer AND permission) equals permission if granted. Most Discord API libraries provide permission utility classes that handle this for you.