BYTETOOLS

Discord Permissions Calculator

Tick Discord permissions to build the bitfield integer, decode a pasted value back into flags, and generate the OAuth2 bot invite URL in your browser.

0
Permissions selected
52
Flags available
Highest bit used
0
Hex

General server

1<<0
1<<4
1<<5
1<<7
1<<10
1<<19
1<<28
1<<29
1<<30
1<<41
1<<43

Membership

1<<1
1<<2
1<<26
1<<27
1<<40

Text channels

1<<6
1<<11
1<<12
1<<13
1<<14
1<<15
1<<16
1<<17
1<<18
1<<31
1<<34
1<<35
1<<36
1<<37
1<<38
1<<46
1<<49
1<<50
1<<51
1<<52

Voice channels

1<<8
1<<9
1<<20
1<<21
1<<22
1<<23
1<<24
1<<25
1<<39
1<<42
1<<45
1<<48

Stage channels

1<<32

Events

1<<33
1<<44

Advanced

1<<3

OAuth2 bot invite URL

Add your application ID above to build the invite link with the permissions value baked in.

The applications.commands scope is already included with bot on modern applications, so adding it is belt-and-braces rather than strictly required.

Permissions are a bitfield: each flag is 1 << nand the value is those flags OR-ed together. Discord types the field as a 64-bit integer and sends it as a decimal string, so this calculator uses BigInt throughout rather than ordinary numbers — every flag currently defined still fits JavaScript’s safe integer range, but a future flag at bit 53 or above would not. Bit 47 is skipped on purpose: it held a flag Discord has since retired. Everything is computed in your browser and no Discord API is contacted.

What is the Discord Permissions Calculator?

Discord stores a role's permissions as a single number. Each permission is one bit — view channels is bit 10, send messages is bit 11 — and the value a role carries is every granted bit combined with a bitwise OR.

  • Every current permission flag, grouped and labelled with its bit position
  • Two-way: checkboxes to an integer, and a pasted integer back to flags
  • Presets for read-only, standard member, moderator and administrator roles
  • BigInt arithmetic, so bit 52 values stay exact past the safe integer range
  • Invite URL builder with an optional applications.commands scope
  • Warns about Administrator, and about bits missing from the current table

How to use the Discord Permissions Calculator

  1. 1

    Tick the permissions you want, or start from a preset such as Moderator.

  2. 2

    Read the permissions integer, or paste an existing one to decode it into the checkboxes.

  3. 3

    Copy the integer for your role, or copy the matching list of flag names.

  4. 4

    Enter your application's client ID to build the OAuth2 bot invite URL.

About the Discord Permissions Calculator

Discord stores a role's permissions as a single number. Each permission is one bit — view channels is bit 10, send messages is bit 11 — and the value a role carries is every granted bit combined with a bitwise OR. This calculator turns checkboxes into that integer, and turns an integer you paste back into a readable list of flags.

Permissions are grouped the way Discord's own role editor groups them, with the bit position shown beside each one. Presets fill in a read-only, standard member, moderator or administrator set with a single click. Choosing Administrator raises a warning, because it overrides every other permission and every channel override the role has.

Add your application's client ID and the OAuth2 bot invite URL is assembled with the computed permissions value baked in. Because the highest flag is bit 52, values run past JavaScript's safe integer range, so everything is calculated with BigInt. It all runs 100% locally in your browser — no Discord API is contacted and nothing is uploaded.

Frequently asked questions

How does a Discord permissions integer work?

Each permission is a single bit, so its value is 1 shifted left by the bit number, and a role's permissions are those values combined with a bitwise OR. Reversing it is just checking which bits are set, which is what pasting a value here does.

What is the right permissions number for a Discord bot?

There is no single answer, because it depends entirely on what the bot does. Tick only the permissions it genuinely needs and use the integer this calculator produces; granting Administrator to save time hands the bot complete control of your server.

Why is the Discord permissions value so large?

The highest flag currently sits at bit 52, so a value with high bits set exceeds the largest integer JavaScript can represent exactly. Discord transports permissions as a decimal string for that reason, and this calculator uses BigInt so the number is never rounded.

How do I make a Discord bot invite link?

Take the OAuth2 authorize endpoint and add your application's client ID, the permissions integer and the scopes you need. Enter your client ID above and the finished URL is built for you, with applications.commands included when you tick the box.

Why is one bit missing from the permissions list?

Bit 47 held a flag Discord has since retired, so it no longer appears in the official permission table and has no checkbox here. If you paste a value with unrecognised bits set, they are kept in the number and reported rather than silently dropped.

Related tools