Use this reference to look up a Discord permission flag by API name, bit position, decimal value or hexadecimal value. Values were checked against Discord's official permission table on October 24, 2026. For how invites and channel overwrites work, see the permission integer explanation.

Quick lookups

  • 8: Administrator
  • 16: Manage Channels
  • 2048: Send Messages
  • 268435456: Manage Roles
  • 1099511627776: Moderate Members (timeout)

The Discord Permissions Calculator builds combinations and decodes decimal integers. It preserves unknown bits, which can appear as Discord adds permissions.

Permission flag values

The API names below are stable lookup keys; the Discord interface and client libraries may use different display names. Bit 47 is absent from the current official table. The list includes Pin Messages at bit 51 and Bypass Slowmode at bit 52.

API nameBitDecimalHex
CREATE_INSTANT_INVITE010x1
KICK_MEMBERS120x2
BAN_MEMBERS240x4
ADMINISTRATOR380x8
MANAGE_CHANNELS4160x10
MANAGE_GUILD5320x20
ADD_REACTIONS6640x40
VIEW_AUDIT_LOG71280x80
PRIORITY_SPEAKER82560x100
STREAM95120x200
VIEW_CHANNEL1010240x400
SEND_MESSAGES1120480x800
SEND_TTS_MESSAGES1240960x1000
MANAGE_MESSAGES1381920x2000
EMBED_LINKS14163840x4000
ATTACH_FILES15327680x8000
READ_MESSAGE_HISTORY16655360x10000
MENTION_EVERYONE171310720x20000
USE_EXTERNAL_EMOJIS182621440x40000
VIEW_GUILD_INSIGHTS195242880x80000
CONNECT2010485760x100000
SPEAK2120971520x200000
MUTE_MEMBERS2241943040x400000
DEAFEN_MEMBERS2383886080x800000
MOVE_MEMBERS24167772160x1000000
USE_VAD25335544320x2000000
CHANGE_NICKNAME26671088640x4000000
MANAGE_NICKNAMES271342177280x8000000
MANAGE_ROLES282684354560x10000000
MANAGE_WEBHOOKS295368709120x20000000
MANAGE_GUILD_EXPRESSIONS3010737418240x40000000
USE_APPLICATION_COMMANDS3121474836480x80000000
REQUEST_TO_SPEAK3242949672960x100000000
MANAGE_EVENTS3385899345920x200000000
MANAGE_THREADS34171798691840x400000000
CREATE_PUBLIC_THREADS35343597383680x800000000
CREATE_PRIVATE_THREADS36687194767360x1000000000
USE_EXTERNAL_STICKERS371374389534720x2000000000
SEND_MESSAGES_IN_THREADS382748779069440x4000000000
USE_EMBEDDED_ACTIVITIES395497558138880x8000000000
MODERATE_MEMBERS4010995116277760x10000000000
VIEW_CREATOR_MONETIZATION_ANALYTICS4121990232555520x20000000000
USE_SOUNDBOARD4243980465111040x40000000000
CREATE_GUILD_EXPRESSIONS4387960930222080x80000000000
CREATE_EVENTS44175921860444160x100000000000
USE_EXTERNAL_SOUNDS45351843720888320x200000000000
SEND_VOICE_MESSAGES46703687441776640x400000000000
SET_VOICE_CHANNEL_STATUS482814749767106560x1000000000000
SEND_POLLS495629499534213120x2000000000000
USE_EXTERNAL_APPS5011258999068426240x4000000000000
PIN_MESSAGES5122517998136852480x8000000000000
BYPASS_SLOWMODE5245035996273704960x10000000000000

Worked combinations

ExampleIncluded flagsDecimal
View and sendView Channel + Send Messages3072
View, send, embed and read historyView Channel + Send Messages + Embed Links + Read Message History84992
Kick, ban, delete messages and timeoutKick Members + Ban Members + Manage Messages + Moderate Members1099511635974

These combinations describe stored flags, not a guarantee of effective channel access. Check channel overwrites and the role hierarchy before diagnosing an action.

JavaScript values above bit 30

const requestToSpeak = 1n << 32n; // 4294967296n
const moderateMembers = 1n << 40n; // 1099511627776n
const value = BigInt("1099511635974");
console.log((value & moderateMembers) === moderateMembers); // true
console.log(JSON.stringify({ permissions: value.toString() }));

Use decimal strings from API responses and BigInt for bitwise calculations. Do not pass a value through Number first: that can lose precision before BigInt receives it. Current named flags fit within JavaScript's safe integer range individually, but Number bitwise operators still use 32 bits and future or unknown combinations may be larger.

Do I need an all-permissions integer?

Usually you need a small named set matching the bot's actions. Administrator is an override with value 8, not a numeric sum of all flags. A hardcoded all-flags total also goes stale when Discord adds permissions. Use your library's current flag set if you specifically need to inspect all known flags.

Source and update scope

Discord's official permission documentation is the authority for current flag assignments. This reference records the checked values; it does not calculate channel overwrites or application-command access. The companion guide covers those distinctions.