Invite BotLog in
Free tool

Discord Permissions Calculator

Tick the permissions your bot or role needs to get the permission integer, ready-to-use discord.js code and a bot invite link. Paste an integer to see which permissions it contains.

Permissions

9 / 51 selected

General server

Membership

Text channels

Voice channels

Apps and events

Advanced

Permission integer

Edit or paste an integer to decode it.

discord.js code

const { PermissionFlagsBits, PermissionsBitField } = require('discord.js');

const permissions = new PermissionsBitField([
  PermissionFlagsBits.ViewChannel,
  PermissionFlagsBits.SendMessages,
  PermissionFlagsBits.SendMessagesInThreads,
  PermissionFlagsBits.EmbedLinks,
  PermissionFlagsBits.AttachFiles,
  PermissionFlagsBits.AddReactions,
  PermissionFlagsBits.UseExternalEmojis,
  PermissionFlagsBits.ReadMessageHistory,
  PermissionFlagsBits.UseApplicationCommands,
]);

// permissions.bitfield === 277025770560n

Bot invite link

Developer Portal → your app → General Information → Application ID.

Scopes

Enter a valid application ID and pick at least one scope to get the link.

Open invite

How to calculate Discord permissions

  1. 1

    Start from a preset

    Pick Basic, Moderation or Music bot, or start from None.

  2. 2

    Adjust permissions

    Tick or untick individual permissions, or search for the one you need.

  3. 3

    Copy the result

    Copy the permission integer or the discord.js code for your bot.

  4. 4

    Build the invite

    Add your application ID to get an invite link with those permissions.

All Discord permission flags

Each permission is a single bit. The integer value is 2 raised to the bit position, and a permission set is the sum of its values.

General serverFlag (bit)
View ChannelsViewChannel (1 << 10)
Manage ChannelsManageChannels (1 << 4)
Manage RolesManageRoles (1 << 28)
Create ExpressionsCreateGuildExpressions (1 << 43)
Manage ExpressionsManageGuildExpressions (1 << 30)
View Audit LogViewAuditLog (1 << 7)
View Server InsightsViewGuildInsights (1 << 19)
View Server Subscription InsightsViewCreatorMonetizationAnalytics (1 << 41)
Manage WebhooksManageWebhooks (1 << 29)
Manage ServerManageGuild (1 << 5)
MembershipFlag (bit)
Create InviteCreateInstantInvite (1 << 0)
Change NicknameChangeNickname (1 << 26)
Manage NicknamesManageNicknames (1 << 27)
Kick, Approve and Reject MembersKickMembers (1 << 1)
Ban MembersBanMembers (1 << 2)
Timeout MembersModerateMembers (1 << 40)
Text channelsFlag (bit)
Send Messages and Create PostsSendMessages (1 << 11)
Send Messages in Threads and PostsSendMessagesInThreads (1 << 38)
Create Public ThreadsCreatePublicThreads (1 << 35)
Create Private ThreadsCreatePrivateThreads (1 << 36)
Embed LinksEmbedLinks (1 << 14)
Attach FilesAttachFiles (1 << 15)
Add ReactionsAddReactions (1 << 6)
Use External EmojiUseExternalEmojis (1 << 18)
Use External StickersUseExternalStickers (1 << 37)
Mention @everyone, @here and All RolesMentionEveryone (1 << 17)
Manage MessagesManageMessages (1 << 13)
Pin MessagesPinMessages (1 << 51)
Bypass SlowmodeBypassSlowmode (1 << 52)
Manage Threads and PostsManageThreads (1 << 34)
Read Message HistoryReadMessageHistory (1 << 16)
Send Text-to-Speech MessagesSendTTSMessages (1 << 12)
Send Voice MessagesSendVoiceMessages (1 << 46)
Create PollsSendPolls (1 << 49)
Voice channelsFlag (bit)
ConnectConnect (1 << 20)
SpeakSpeak (1 << 21)
VideoStream (1 << 9)
Use ActivitiesUseEmbeddedActivities (1 << 39)
Use SoundboardUseSoundboard (1 << 42)
Use External SoundsUseExternalSounds (1 << 45)
Use Voice ActivityUseVAD (1 << 25)
Priority SpeakerPrioritySpeaker (1 << 8)
Mute MembersMuteMembers (1 << 22)
Deafen MembersDeafenMembers (1 << 23)
Move MembersMoveMembers (1 << 24)
Request to SpeakRequestToSpeak (1 << 32)
Apps and eventsFlag (bit)
Use Application CommandsUseApplicationCommands (1 << 31)
Use External AppsUseExternalApps (1 << 50)
Create EventsCreateEvents (1 << 44)
Manage EventsManageEvents (1 << 33)
AdvancedFlag (bit)
AdministratorAdministrator (1 << 3)

Frequently asked questions

What is a Discord permission integer?

Discord stores permissions as a bitfield: each permission is one bit, and the integer is the sum of the bits you enable. Bots, invite links and the API use this number to describe exactly which permissions are granted.

How do I create a bot invite link?

Select the permissions your bot needs, enter your application ID from the Discord Developer Portal, keep the bot and applications.commands scopes checked, and copy the generated link. Anyone with Manage Server can use it to add the bot.

Which permissions does my bot need?

Only the ones it uses. Most bots need View Channels, Send Messages, Embed Links and Read Message History. Moderation bots add Kick, Ban, Timeout and Manage Messages; music bots add Connect and Speak. Avoid Administrator unless it is truly required.

Why is Administrator risky?

Administrator grants every permission and ignores channel overrides. If the bot’s token leaks, an attacker gets full control of the server, so specific permissions are always safer.

What does the 2FA badge mean?

When a server requires two-factor authentication for moderation, members and bot owners need 2FA enabled on their account to use these permissions.

How do I check permissions in discord.js?

Use PermissionFlagsBits with PermissionsBitField, for example member.permissions.has(PermissionFlagsBits.BanMembers). The code panel on this page lists the flags for your selection.

More free Discord tools

Let Strom Bot do it for you

Strom Bot handles moderation, welcome messages, leveling, tickets and social feeds with rich embeds. Browse the bot commands, read the guides or see what Premium adds.