Discord bot invite link generator
Free, no sign-in. Runs in your browser; nothing you type is sent to us.
Your bot
Developer Portal, your application, General Information, Application ID. Never paste your bot token here or anywhere else.
Scopes
What the person adding the bot is agreeing to.
Other scopes, and why they are not here
These are for “Log in with Discord” on a website. They need a redirect URI and a code exchange on your server, so they do not belong in a bot invite.
identify: read the user’s name and avatarguilds: list the servers a user is inemail: read the user’s email addressguilds.join: add the user to a serverwebhook.incoming: create a webhook in a channel the user picks
Permissions
Need a specific set? Build it in the permissions calculator and paste the integer.
Lock to one server
Skip the server dropdown, for example when you send the link to one server owner.
What each part does
- https://discord.com/oauth2/authorize
- Discord’s authorization page. It asks the person to pick a server and approve.
- client_id=…
- Your application ID, so Discord knows which bot is being added.
- permissions=84992
- The permissions the bot’s own role gets. The person can untick any of them on the approval screen.
- scope=bot%20applications.commands
- The bot scope adds the bot user to the server. The applications.commands scope lets it create slash commands there. %20 is an encoded space between the two.
How a bot invite link works
A bot invite is an OAuth2 authorization link on discord.com/oauth2/authorize. When someone opens it, Discord shows your bot's name, the server dropdown and the permissions you asked for. If they approve, the bot joins that server straight away. There is no code exchange and no redirect for a plain bot invite.
The scope part says what is being approved. bot adds the bot user itself, and applications.commands lets it create slash commands in the server. Most bots need both. The permissions number becomes the bot's own role; the person approving can untick any permission before they confirm, and an admin can change the role later.
guild_id is handy when you build a bot for one community: it pre-selects their server, and disable_guild_select=true stops anyone picking a different one. To add a bot, the person needs the Manage Server permission in that server.
Questions
Where do I find my bot’s client ID?
Open the Discord Developer Portal, pick your application and look at General Information. The Application ID there is the client ID. It is public and safe to share, unlike the bot token on the Bot page, which you should never paste anywhere.
Why does the invite say I do not have permission?
Only people with the Manage Server permission can add bots, and the server dropdown only lists servers where you have it. Ask a server admin to open the link, or have them give you that permission.
My bot joined but its slash commands are missing. Why?
The link probably left out the applications.commands scope, or the bot has not registered its commands yet. Invite it again with both bot and applications.commands; you do not need to kick it first.
Can I use Discord’s own URL generator instead?
Yes. The Developer Portal has one under OAuth2, URL Generator, and it produces the same kind of link. This page adds presets, checks your client ID and explains each part, which helps when something goes wrong.
More free Discord tools
- Embed builderDesign an embed with a live Discord preview and copy the JSON for a webhook or bot.
- Permissions calculatorTick the permissions your bot needs and get the integer and invite link.
- Timestamp generatorTurn a date into a timestamp that shows in each reader’s own time zone.
- Snowflake decoderPaste any user, server or message ID and see exactly when it was created.
- Intents calculatorPick gateway intents, see which events they send, and copy the bitfield.

No bot to invite yet?
Describe what it should do. We build it, host it and hand you the invite link when it is online.