Discord Permissions Calculator
free, no account and nothing to install.
tick permissions to get the exact bitfield, turn any permissions number back to a checklist and build a bot invite link. all 52 current flags are in, Pin Messages, Create Polls and Bypass Slowmode too.
decoding also ticks the boxes below, so you can tweak a bot’s permissions and copy the new number.
0 of 52 permissions selected
All 52 permissions
grouped the same way Discord groups them. tick what the role or bot actually needs.
General
0/12Server-wide management and visibility
Membership
0/6Invites, nicknames and moderation of people
Text
0/20Messages, threads, polls and app commands
Voice
0/13Voice, video, stage and soundboard
Advanced
0/1Handle with care
Bot invite URL generator
your application ID and the permissions above, as a link a server admin can click.
you’ll find the ID in the Discord Developer Portal, under your app, General Information, Application ID. the ID is public (it’s in every invite link), and nothing you type here leaves your browser.
Full permission reference
all 52 flags with their bit positions, hex and decimal values. bit 47 isn’t assigned to anything right now, which is why it’s not in the table.
| Permission | API flag | Bit | Hex | Decimal |
|---|---|---|---|---|
| Create Invite | CREATE_INSTANT_INVITE | 1 << 0 | 0x1 | 1 |
| Kick Members2FA | KICK_MEMBERS | 1 << 1 | 0x2 | 2 |
| Ban Members2FA | BAN_MEMBERS | 1 << 2 | 0x4 | 4 |
| Administrator2FA | ADMINISTRATOR | 1 << 3 | 0x8 | 8 |
| Manage Channels2FA | MANAGE_CHANNELS | 1 << 4 | 0x10 | 16 |
| Manage Server2FA | MANAGE_GUILD | 1 << 5 | 0x20 | 32 |
| Add Reactions | ADD_REACTIONS | 1 << 6 | 0x40 | 64 |
| View Audit Log | VIEW_AUDIT_LOG | 1 << 7 | 0x80 | 128 |
| Priority Speaker | PRIORITY_SPEAKER | 1 << 8 | 0x100 | 256 |
| Video / Go Live | STREAM | 1 << 9 | 0x200 | 512 |
| View Channels | VIEW_CHANNEL | 1 << 10 | 0x400 | 1024 |
| Send Messages | SEND_MESSAGES | 1 << 11 | 0x800 | 2048 |
| Send Text-to-Speech Messages | SEND_TTS_MESSAGES | 1 << 12 | 0x1000 | 4096 |
| Manage Messages2FA | MANAGE_MESSAGES | 1 << 13 | 0x2000 | 8192 |
| Embed Links | EMBED_LINKS | 1 << 14 | 0x4000 | 16384 |
| Attach Files | ATTACH_FILES | 1 << 15 | 0x8000 | 32768 |
| Read Message History | READ_MESSAGE_HISTORY | 1 << 16 | 0x10000 | 65536 |
| Mention @everyone, @here & Roles | MENTION_EVERYONE | 1 << 17 | 0x20000 | 131072 |
| Use External Emoji | USE_EXTERNAL_EMOJIS | 1 << 18 | 0x40000 | 262144 |
| View Server Insights | VIEW_GUILD_INSIGHTS | 1 << 19 | 0x80000 | 524288 |
| Connect | CONNECT | 1 << 20 | 0x100000 | 1048576 |
| Speak | SPEAK | 1 << 21 | 0x200000 | 2097152 |
| Mute Members | MUTE_MEMBERS | 1 << 22 | 0x400000 | 4194304 |
| Deafen Members | DEAFEN_MEMBERS | 1 << 23 | 0x800000 | 8388608 |
| Move Members | MOVE_MEMBERS | 1 << 24 | 0x1000000 | 16777216 |
| Use Voice Activity | USE_VAD | 1 << 25 | 0x2000000 | 33554432 |
| Change Nickname | CHANGE_NICKNAME | 1 << 26 | 0x4000000 | 67108864 |
| Manage Nicknames | MANAGE_NICKNAMES | 1 << 27 | 0x8000000 | 134217728 |
| Manage Roles2FA | MANAGE_ROLES | 1 << 28 | 0x10000000 | 268435456 |
| Manage Webhooks2FA | MANAGE_WEBHOOKS | 1 << 29 | 0x20000000 | 536870912 |
| Manage Expressions2FA | MANAGE_GUILD_EXPRESSIONS | 1 << 30 | 0x40000000 | 1073741824 |
| Use Application Commands | USE_APPLICATION_COMMANDS | 1 << 31 | 0x80000000 | 2147483648 |
| Request to Speak | REQUEST_TO_SPEAK | 1 << 32 | 0x100000000 | 4294967296 |
| Manage Events | MANAGE_EVENTS | 1 << 33 | 0x200000000 | 8589934592 |
| Manage Threads2FA | MANAGE_THREADS | 1 << 34 | 0x400000000 | 17179869184 |
| Create Public Threads | CREATE_PUBLIC_THREADS | 1 << 35 | 0x800000000 | 34359738368 |
| Create Private Threads | CREATE_PRIVATE_THREADS | 1 << 36 | 0x1000000000 | 68719476736 |
| Use External Stickers | USE_EXTERNAL_STICKERS | 1 << 37 | 0x2000000000 | 137438953472 |
| Send Messages in Threads | SEND_MESSAGES_IN_THREADS | 1 << 38 | 0x4000000000 | 274877906944 |
| Use Activities | USE_EMBEDDED_ACTIVITIES | 1 << 39 | 0x8000000000 | 549755813888 |
| Timeout Members | MODERATE_MEMBERS | 1 << 40 | 0x10000000000 | 1099511627776 |
| View Monetization Analytics2FA | VIEW_CREATOR_MONETIZATION_ANALYTICS | 1 << 41 | 0x20000000000 | 2199023255552 |
| Use Soundboard | USE_SOUNDBOARD | 1 << 42 | 0x40000000000 | 4398046511104 |
| Create Expressions | CREATE_GUILD_EXPRESSIONS | 1 << 43 | 0x80000000000 | 8796093022208 |
| Create Events | CREATE_EVENTS | 1 << 44 | 0x100000000000 | 17592186044416 |
| Use External Sounds | USE_EXTERNAL_SOUNDS | 1 << 45 | 0x200000000000 | 35184372088832 |
| Send Voice Messages | SEND_VOICE_MESSAGES | 1 << 46 | 0x400000000000 | 70368744177664 |
| Set Voice Channel Status | SET_VOICE_CHANNEL_STATUS | 1 << 48 | 0x1000000000000 | 281474976710656 |
| Create Polls | SEND_POLLS | 1 << 49 | 0x2000000000000 | 562949953421312 |
| Use External Apps | USE_EXTERNAL_APPS | 1 << 50 | 0x4000000000000 | 1125899906842624 |
| Pin Messages | PIN_MESSAGES | 1 << 51 | 0x8000000000000 | 2251799813685248 |
| Bypass Slowmode | BYPASS_SLOWMODE | 1 << 52 | 0x10000000000000 | 4503599627370496 |
this matches the official Discord API docs.
How permission bits work
How it works
- every Discord permission is one bit in a 64-bit number. Administrator is 1 << 3 (8), Send Messages is 1 << 11 (2048), all the way up to Bypass Slowmode at 1 << 52.
- tick the boxes and i OR the bits together into the permissions integer, shown live (decimal for invite URLs, hex for code).
- got a number from an invite link, an API payload or a bot’s docs? paste it into Decode and you’ll see exactly which permissions it gives.
- put your app’s client ID in the invite generator and share the URL. server admins who click it see exactly the permissions you picked.
flags marked 2FA only work on servers with server-wide two-factor auth if the account using them (a bot’s owner included) has 2FA turned on.
About this tool
when you invite a bot, the permissions number in the URL fills in the checkboxes a server admin approves. bot developers need to generate that number, and server owners often want to decode one to check what a bot is really asking for before they click Authorize. this page does both, with the full 2026 flag list. a lot of older calculators are missing the newest bits (Set Voice Channel Status, Create Polls, Use External Apps, Pin Messages, Bypass Slowmode), so their numbers come out short.
the maths uses BigInt, so bits above 31 (everything from Request to Speak up) are exact, with no floating-point rounding. it all runs in your browser, no API calls and nothing stored.
Questions
What is a Discord permissions integer?
Discord stores a role’s or bot’s permissions as one number, a bitfield. Each permission is one bit: Administrator is 1 << 3 (8), Send Messages is 1 << 11 (2048) and so on. Add up the bits of every permission you give and you get the permissions integer you see in invite URLs and API payloads.
How do I use the permissions number in a bot invite link?
Put it in the permissions part of the OAuth2 authorize URL: https://discord.com/oauth2/authorize?client_id=YOUR_APP_ID&permissions=NUMBER&scope=bot. The scope has to include bot for the permissions to apply, and applications.commands lets the app register slash commands.
Should I give a bot Administrator?
Almost never. Administrator (bit 8) gives every permission and skips all channel overwrites, so a hacked or buggy bot can do anything in your server. Only give the permissions the bot’s docs say it needs, and add more later if it needs them.
Why does my number differ from older calculators?
Discord keeps adding permissions. The newer ones are Set Voice Channel Status (1 << 48), Create Polls (1 << 49), Use External Apps (1 << 50), Pin Messages (1 << 51) and Bypass Slowmode (1 << 52). Calculators older than those give smaller totals for all permissions and can’t fully decode newer bitfields.
What does the 2FA tag mean?
On servers with server-wide two-factor authentication turned on, moderation permissions (Kick, Ban, Administrator, Manage Server/Channels/Messages/Roles/Webhooks/Threads/Expressions and monetisation analytics) only work for accounts that have 2FA on, bot owners included.
Is anything uploaded when I use this calculator?
No. The permission list and all the maths are in this page’s JavaScript. Nothing you type, your application’s client ID included, leaves your browser.