Vorla
Get Launcher

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.

Decimal0
Hex0x0

0 of 52 permissions selected

All 52 permissions

Grouped the way Discord groups them. Tick what the role or bot actually needs.

General

0/12

Server-wide management and visibility

Membership

0/6

Invites, nicknames and moderation of people

Text

0/20

Messages, threads, polls and app commands

Voice

0/13

Voice, video, stage and soundboard

Advanced

0/1

Handle with care

Bot invite URL generator

Your application ID plus the permissions above, as a link a server admin can click.

OAuth2 scopes

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.

PermissionAPI flagBitHexDecimal
Create InviteCREATE_INSTANT_INVITE1 << 00x11
Kick Members2FAKICK_MEMBERS1 << 10x22
Ban Members2FABAN_MEMBERS1 << 20x44
Administrator2FAADMINISTRATOR1 << 30x88
Manage Channels2FAMANAGE_CHANNELS1 << 40x1016
Manage Server2FAMANAGE_GUILD1 << 50x2032
Add ReactionsADD_REACTIONS1 << 60x4064
View Audit LogVIEW_AUDIT_LOG1 << 70x80128
Priority SpeakerPRIORITY_SPEAKER1 << 80x100256
Video / Go LiveSTREAM1 << 90x200512
View ChannelsVIEW_CHANNEL1 << 100x4001024
Send MessagesSEND_MESSAGES1 << 110x8002048
Send Text-to-Speech MessagesSEND_TTS_MESSAGES1 << 120x10004096
Manage Messages2FAMANAGE_MESSAGES1 << 130x20008192
Embed LinksEMBED_LINKS1 << 140x400016384
Attach FilesATTACH_FILES1 << 150x800032768
Read Message HistoryREAD_MESSAGE_HISTORY1 << 160x1000065536
Mention @everyone, @here & RolesMENTION_EVERYONE1 << 170x20000131072
Use External EmojiUSE_EXTERNAL_EMOJIS1 << 180x40000262144
View Server InsightsVIEW_GUILD_INSIGHTS1 << 190x80000524288
ConnectCONNECT1 << 200x1000001048576
SpeakSPEAK1 << 210x2000002097152
Mute MembersMUTE_MEMBERS1 << 220x4000004194304
Deafen MembersDEAFEN_MEMBERS1 << 230x8000008388608
Move MembersMOVE_MEMBERS1 << 240x100000016777216
Use Voice ActivityUSE_VAD1 << 250x200000033554432
Change NicknameCHANGE_NICKNAME1 << 260x400000067108864
Manage NicknamesMANAGE_NICKNAMES1 << 270x8000000134217728
Manage Roles2FAMANAGE_ROLES1 << 280x10000000268435456
Manage Webhooks2FAMANAGE_WEBHOOKS1 << 290x20000000536870912
Manage Expressions2FAMANAGE_GUILD_EXPRESSIONS1 << 300x400000001073741824
Use Application CommandsUSE_APPLICATION_COMMANDS1 << 310x800000002147483648
Request to SpeakREQUEST_TO_SPEAK1 << 320x1000000004294967296
Manage EventsMANAGE_EVENTS1 << 330x2000000008589934592
Manage Threads2FAMANAGE_THREADS1 << 340x40000000017179869184
Create Public ThreadsCREATE_PUBLIC_THREADS1 << 350x80000000034359738368
Create Private ThreadsCREATE_PRIVATE_THREADS1 << 360x100000000068719476736
Use External StickersUSE_EXTERNAL_STICKERS1 << 370x2000000000137438953472
Send Messages in ThreadsSEND_MESSAGES_IN_THREADS1 << 380x4000000000274877906944
Use ActivitiesUSE_EMBEDDED_ACTIVITIES1 << 390x8000000000549755813888
Timeout MembersMODERATE_MEMBERS1 << 400x100000000001099511627776
View Monetization Analytics2FAVIEW_CREATOR_MONETIZATION_ANALYTICS1 << 410x200000000002199023255552
Use SoundboardUSE_SOUNDBOARD1 << 420x400000000004398046511104
Create ExpressionsCREATE_GUILD_EXPRESSIONS1 << 430x800000000008796093022208
Create EventsCREATE_EVENTS1 << 440x10000000000017592186044416
Use External SoundsUSE_EXTERNAL_SOUNDS1 << 450x20000000000035184372088832
Send Voice MessagesSEND_VOICE_MESSAGES1 << 460x40000000000070368744177664
Set Voice Channel StatusSET_VOICE_CHANNEL_STATUS1 << 480x1000000000000281474976710656
Create PollsSEND_POLLS1 << 490x2000000000000562949953421312
Use External AppsUSE_EXTERNAL_APPS1 << 500x40000000000001125899906842624
Pin MessagesPIN_MESSAGES1 << 510x80000000000002251799813685248
Bypass SlowmodeBYPASS_SLOWMODE1 << 520x100000000000004503599627370496

Matches the official Discord API documentation.

How permission bits work

How it works

  1. 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.
  2. Tick the boxes and the bits are OR-ed together into the permissions integer shown live: decimal for invite URLs, hex for code.
  3. 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.
  4. 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.