Discord Custom Widgets allow you to add extra information to your Discord profile, including images, GIFs, text, statistics, collections, and progress bars. These widgets can completely change the look of your profile and give you more ways to display custom content. This guide explains how to create a Discord widget, customise its design, publish it, and add it to your profile. Unfortunately, this process is pretty involved and anything but simple, so you might want to have a quick read through the steps before you get started. It isn't really a beginner thing.
Takeaways:
- How do you make your own Discord Widgets?
- What's the quickest and easiest way to make your own Discord Widgets?
Table of Contents
Create a Discord Developer Application
Discord widgets are created through the Discord Developer Portal, so the first step is creating an application.
- Open the Discord Developer Portal and sign in.
- Open the Applications section from the sidebar.
- Click New Application.
- Enter a name for your application.
- Accept the confirmation checkbox and click Create.
The application name will appear at the top of your widget. You can change it later if needed.
Before creating widgets, you need to enable Discord Social SDK.
- Open your application.
- Go to Games > Social SDK in the sidebar.
- Complete the form.
The information does not need to represent a real company, you can fill it with junk data if you want. So long as each section has data, it will work.
- Company Name
- Team Location
- Full Name
- Work Email
- Role
Accept the consent checkbox at the bottom and click Submit.
Unlock the Hidden Widget Editor
The Widget section won't appear automatically because it is currently hidden behind a Discord experiment. It's essentially in beta.
- Return to your application page.
- Open your browser developer tools: Windows: Press F12 or Ctrl + Shift + I
- Open the Console tab.
- Paste the widget unlock code from your setup source.
- Press Enter to run it.
Note: If Discord blocks pasting, type: allow pasting
then paste the code again.
After running the code:
- Refresh the page.
- Return to your application.
- Look under Games in the sidebar. You should now see the Widget section.
- Click Create Widget to begin.
How to Create and Add Custom Discord Profile Widgets
This is where things can get a little complicated, so you will need to get used to how the entire process works. Discord widgets are divided into several sections:
- Widget Top
- Widget Bottom
- Widget Preview
- Mini Profile
Each section controls a different part of your profile display.
Customise the Widget Top
The Widget Top controls the main section people see when opening your full profile.
There are two main designs:
Hero: Hero uses a large faded background image.
Contained: Contained displays a smaller square image beside your content.
Pick whichever style fits your profile design.
Add Images to Your Widget
Images can be added in multiple areas of the widget.
- Open the Content tab.
- Select Image.
- Change Value Type to Application Asset.
- Click the image button next to Asset Key.
- Select Add Asset.
- Upload your image.
- Select the uploaded image.
- Click Make Public.
The Make Public option is required. Without it, other Discord users will not be able to see your images. You can also upload GIFs for animated images.
Add Text and Labels
- Open a text section such as Title or Subtitle.
- Set Presentation Type to Text.
- Set Value Type to Custom String.
- Enter your desired text.
Subtitles also allow extra customisation:
- Labels
- Icons
- Additional text
A label appears before the text with a colon.
Customise the Widget Bottom
The Widget Bottom is required and provides additional information below the main widget. There are three available layouts:
- Stats Grid
- Progress
- Collection
Create a Stats Grid
Stats Grid allows you to display multiple pieces of information.
- Select Stats Grid.
- Fill each available block.
- Add values and labels.
- Add icons if required.
The Stats Grid contains six blocks. Each block needs a value before the widget can be published. You can leave sections empty by using blank custom strings.
Create a Progress Bar
The Progress option creates a customizable progress display.
- Select Progress.
- Add a name.
- Add a description.
- Add an image if required.
Progress bars use User Data values.
Create two variables:
- Current value
- Maximum value
Create a Collection
Collections display multiple items in a grid.
- Images
- Names
- Descriptions
This works similarly to adding images and text elsewhere in the widget editor.
Complete the Widget Setup
Before publishing, two additional sections need to be set up.
Add Widget Preview
The Widget Preview is only visible to you when selecting the widget.
- Open Widget Preview.
- Choose a layout.
- Add an uploaded image.
Configure Mini Profile
The Mini Profile appears when someone clicks your profile without opening the full profile. You can choose between:
- Hero Stat
- Contained Stat
Hero displays a faded image style.
Contained displays a smaller image.
Add:
- Text
- Images
- Optional icons
Validate and Publish
At the bottom of the editor:
- Open the Validation tab.
- Fix any missing requirements.
- Click Save Changes.
- Click Publish.
Your widget is now ready to add to your account.
How to Add a Custom Widget to Your Discord Profile
Return to the application overview.
- Open OAuth2.
- Under Redirects, click Add Redirect.
- Enter any HTTPS address.
- Save the changes.
- Scroll to OAuth2 URL Generator.

Enable:
- OpenID
- SDK Social Layer
- Choose your redirect URL and copy the generated link.
- Before opening it, edit: response_type=code to: response_type=token
- Open the link and authorize the application.
Equip Your Widget
- Return to Overview > General Information.
- Copy your Application ID.
- Generate the widget activation code using your Application ID.
- Open Discord.
- Press F12 or Ctrl + Shift + I.
- Open the Console tab.
- Paste the code.
- Press Enter.
Nothing obvious will happen, but the widget is now available.
To add it:
- Open Discord User Settings.
- Select Edit Profiles.
- Open Profile Widgets.
- Click Add Widget.
- Select your widget.
- Save changes.
Your custom widget should now appear on your profile.
Fix Progress Bars and Syncing Issues
After adding the widget, you may see messages such as:
Your game stats are still syncing. Keep playing!
This happens because Discord does not have real game data connected to your custom widget.
To update the data manually, you need:
- Application ID
- Discord User ID
- Bot Token
- Widget JSON Data
Find Your Required Information
You can find your Application ID under:
- Overview > General Information > Application ID
You can find your Discord User ID under:
- Open User Settings.
- Enable Developer Mode.
- Click your username.
- Select Copy User ID.
You can find your Bot Token under: The Developer Portal
- Open Bot.
- Click Reset Token.
- Confirm the reset.
- Copy your token.
Keep your bot token private.
How to Generate Widget JSON
- Games > Widget
- At the bottom:
- Open Sample Data.
- Click Generate JSON.
- Copy the generated JSON.

How to Update Discord Widget Data
Browsers cannot send this request directly because of security restrictions, so the update command must run from your computer.
Windows
Use PowerShell:
- Open Start Menu.
- Search for PowerShell.
- Paste the generated command.
Invoke-RestMethod -Uri 'https://discord.com/api/v9/applications/APPLICATION_ID/users/DISCORD_USER_ID/identities/0/profile' -Method PATCH -Headers @{
'Content-Type' = 'application/json'
'Authorization' = 'Bot BOT_TOKEN'
'User-Agent' = 'DiscordBot (https://github.com/discord/discord-api-docs, 1.0.0)'
} -Body 'JSONHERE'
- Press Enter.
macOS and Linux
- Run the generated curl command in Terminal.
curl -X PATCH 'https://discord.com/api/v9/applications/APPLICATION_ID/users/DISCORD_USER_ID/identities/0/profile' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bot BOT_TOKEN' \
-H 'User-Agent: DiscordBot (https://github.com/discord/discord-api-docs, 1.0.0)' \
--data-binary @- <<'JSON'
JSONHERE
JSON
After running the command, your progress bar and custom values should update.