Discord Permissions Calculator
Tick permissions to get the exact bitfield, decode any permissions number back to a checklist, and build a bot invite link. All 52 current flags, Pin Messages, Create Polls and Bypass Slowmode included.
Decoding also ticks the boxes below, so you can tweak an existing bot’s permissions and copy the new value.
0 of 52 permissions selected
All 52 permissions
Grouped the 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 plus the permissions above, as a link a server admin can click.
Find the ID in the Discord Developer Portal, under your app, General Information, Application ID. The ID is public, it is 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 is currently unassigned, which is why it is missing from 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 |
Matches the official Discord API documentation.
How permission bits work
How it works
- Every Discord permission is a single 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 the bits are OR-ed together into the permissions integer shown live: decimal for invite URLs, hex for code.
- Got a number from an existing invite link, an API payload or a bot’s docs? Paste it into Decode to see exactly which permissions it grants.
- Drop your app’s client ID into the invite generator and share the URL. Server admins clicking it see exactly the permissions you selected.
Flags marked 2FA can only be used on servers with server-wide two-factor auth if the acting account, a bot’s owner included, has 2FA enabled.
About this tool
When you invite a bot, the permissions number in the URL pre-fills the checkboxes a server admin approves. Bot developers need to generate that number; server owners often want to decode one to check what a bot is actually asking for before clicking Authorize. This page does both, with the complete 2026 flag list. Many 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 math uses BigInt, so bits above 31, everything from Request to Speak upward, are exact, with no floating-point rounding. Everything runs locally in your browser: no API calls, nothing stored.
Questions
What is a Discord permissions integer?
Discord stores a role’s or bot’s permissions as a single number, a bitfield. Each permission is one bit: Administrator is 1 << 3 (8), Send Messages is 1 << 11 (2048), and so on. Adding the bits of every granted permission produces 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 query parameter of the OAuth2 authorize URL: https://discord.com/oauth2/authorize?client_id=YOUR_APP_ID&permissions=NUMBER&scope=bot. The scope must 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) grants every permission and bypasses all channel-level overwrites, so a compromised or buggy bot can do anything in your server. Grant only the specific permissions the bot documents needing, and add more later if it needs them.
Why does my number differ from older calculators?
Discord keeps adding permissions. Recent additions include 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 that predate them produce smaller totals for all permissions and cannot decode newer bitfields fully.
What does the 2FA tag mean?
On servers with server-wide two-factor authentication enabled, moderation-grade permissions (Kick, Ban, Administrator, Manage Server/Channels/Messages/Roles/Webhooks/Threads/Expressions and monetization analytics) can only be used by accounts, including bot owners, that have 2FA turned on.
Is anything uploaded when I use this calculator?
No. The permission list and all the math live in this page’s JavaScript; nothing you type, including your application’s client ID, leaves your browser.