Pick the permissions your bot actually needs, get the exact permissions= integer and a copy-paste OAuth2 invite URL. Supports all 47+ Discord permissions including the 2024 additions (USE_EXTERNAL_APPS, SEND_POLLS, CREATE_EVENTS). BigInt-accurate, dangerous flags clearly marked, no ads or sign-up.
Start from a preset, then refine. Or paste a permission integer in the output below to decode it back into a checklist.
Paste an existing permissions= value here and click Decode to see which permissions it grants. Updates live as you toggle checkboxes above.
Find your Client ID in Discord Developer Portal → your app → General Information.
Discord stores every permission as a single bit in a 64-bit integer. SEND_MESSAGES is bit 11 (value 2^11 = 2048), BAN_MEMBERS is bit 2 (value 4), and so on. To grant a bot multiple permissions, Discord OR's all the values together into one big number — that's the permissions= parameter you see in OAuth2 URLs.
SEND_MESSAGES (bit 11) = 2048
EMBED_LINKS (bit 14) = 16384
ADD_REACTIONS (bit 6) = 64
─────
Combined integer (bitwise OR) = 18496
Most online calculators do this with regular JavaScript numbers, which break silently above bit 53 (the JS Number.MAX_SAFE_INTEGER). Discord added USE_EXTERNAL_APPS at bit 50 in 2024, SEND_POLLS at bit 49, and CREATE_EVENTS at bit 44 — all still safe in regular numbers, but if Discord adds even one more permission this calculator silently produces wrong results everywhere else. This calculator uses BigInt so it stays correct as the permission set grows.
Permission integer vs role permission: The integer in your invite URL sets the default permissions assigned to the bot's auto-created role when it joins a server. Server admins can override this from Server Settings → Roles → [Your Bot]. So even if you request ADMINISTRATOR in your invite, an admin can demote the role to read-only after the fact. Request the minimum your bot needs — admins are far more likely to approve a bot asking for 5 specific permissions than one asking for the universe.
ADMINISTRATOR trapChecking ADMINISTRATOR grants every other permission automatically and bypasses every channel-specific override. Sounds convenient — except every legitimate bot listing site (top.gg, discord.bots.gg) deprioritizes admin bots, server admins suspect them on sight, and a single compromised token gives an attacker full control of every server your bot is in. Never ship a bot with ADMINISTRATOR by default. If your bot needs to manage roles or channels, request only those specific permissions.
applications.commandsIf you're using slash commands (and you should be — Discord deprecated message-content access for new bots in 2022), the OAuth2 invite must include both the bot scope and the applications.commands scope. Without the second one, your bot joins the server but its slash commands never appear in the picker. This calculator includes applications.commands by default. If you're building a legacy message-prefix bot only, uncheck the scope.
Discord computes final permissions per channel using a precedence chain: @everyone role permissions → role permissions (highest role wins) → channel-specific role overrides → channel-specific member overrides. So a bot with SEND_MESSAGES at the role level can still be silenced in a single channel via a channel override. If your bot "isn't responding" in one specific channel but works elsewhere, that's the cause 90% of the time. Check the channel's Permissions tab.
Once your bot has its permissions dialed in and joins more than a handful of servers, free hosting (Replit free tier, fly.io's tiny limits, your laptop) becomes the bottleneck. Bots get killed mid-command, voice connections drop, and slash command latency spikes when shared instances are loaded.
SparkedHost runs purpose-built Discord bot containers starting at $1/month — dedicated CPU slice, persistent storage for your SQLite/JSON files, 24/7 uptime, automatic Node/Python/Java setup. I've personally hosted three bots on their cheapest tier for over a year with zero downtime incidents. Same datacenter quality as their game server hosting (which is what we usually recommend on this site).
→ Basic ($1/mo): 1 bot · 512 MB RAM · 5 GB SSD
→ Advanced ($2/mo): 1 bot · 1 GB RAM · 15 GB SSD
→ Advanced+ ($4/mo): up to 4 bots · 3 GB RAM · 40 GB SSD
Affiliate disclosure: we earn a small commission if you sign up through these links, at no extra cost to you. We only recommend hosts we've personally tested.
Scopes tell Discord what kind of access your application is requesting (bot account, slash commands, user data, etc). Permissions tell Discord what your bot is allowed to do once it's in a server. You always need both. Most bots want exactly two scopes: bot and applications.commands.
Because each permission has a fixed bit value (powers of 2). Adding SEND_MESSAGES (2048) to a bot that only had VIEW_CHANNEL (1024) gives you 3072. The integer is just the bitwise OR of every permission you've checked. Two bots with different permission sets will always have different integers — there's no collision.
Sort of. Generating a new invite URL with a different integer only affects future servers. For servers your bot is already in, an admin can edit the bot's role manually (Server Settings → Roles → [bot name]). If you ship a bot update that needs new permissions, the only way to add them on existing servers is to ask each admin to re-invite, or to request the new permission via slash command + role-edit confirmation flow.
Three: VIEW_CHANNEL, SEND_MESSAGES, and READ_MESSAGE_HISTORY. That's the integer 67584. If you want to use embeds, add EMBED_LINKS (=84992). For reactions, add ADD_REACTIONS. The General Purpose preset above gives you a solid starting point: read, send, embed, react, attach files.
USE_EXTERNAL_APPS and do I need it?Added in Discord's August 2024 release, USE_EXTERNAL_APPS controls whether members can use slash commands from user-installed applications inside a server (apps installed to the user's account, not the server). Most server-installed bots don't need this. If you're building a user-install app (account-scoped commands that follow a user across servers), grant it.
MANAGE_ROLES if it never creates roles?It probably doesn't, and you should remove it. MANAGE_ROLES is one of the most over-requested permissions because it bundles role creation, role assignment, and role deletion. Many bots only need assign existing roles —Many bots only need assign existing roles — and Discord doesn't have a separate permission for that, so MANAGE_ROLES is genuinely required if you want to give/remove roles. The catch: the bot can only manage roles below its own highest role in the role hierarchy. So a MANAGE_ROLES bot still can't promote anyone to admin unless its own role is above the admin role.
Yes. User-installable apps use integration_type=1 (server install is type 0) and the URL format is https://discord.com/oauth2/authorize?client_id=YOUR_ID&integration_type=1&scope=applications.commands. They don't take a permission integer at all because they're scoped to the user, not a guild. This calculator generates the standard server-install URL — for user-install URLs, just append &integration_type=1 to the generated string and remove the permissions= parameter.
You don't — invite URLs are stateless. Just regenerate one with the same Client ID and permissions. The Client ID lives in the Discord Developer Portal forever (unless you delete the application). The bot's identity and existing server memberships are tied to the bot token, not the invite URL.
Replit free tier vs fly.io vs Sparked vs your laptop — what actually keeps a bot online 24/7, when free hosting becomes a tax on your time, and the cheapest paid path forward.
ToolMulti-game config generator for Minecraft, CS2, Rust, and TF2. Same browser-based no-signup approach as this calculator.
ToolHow much RAM your Minecraft server actually needs based on player count, mods, and view distance. With JVM flag recommendations.
ToolMatch your game server or bot workload to the right VPS tier. Avoid overpaying for unused cores or undersizing into OOM kills.
All ToolsEvery interactive tool we've shipped — calculators, generators, port references, comparators. All free, all browser-based, no sign-up.
GuidesGame server setup, panel installs, optimization, security hardening, and more. Honest editorial — no marketing fluff.