GameDevGenie logo GameDevGenie

How to Make a Badge on Roblox

Updated

Badges reward players for milestones — beating a level, finding a secret, playing for the first time — and show up on their profile. Here is how to create one and award it with a script.

Step 1: Make the Badge Icon

Badge images use a 512×512 template, and Roblox crops them to a circle, so keep the important part in the middle. The Roblox Game Icon Maker makes badge icons with AI.

Step 2: Create the Badge

  1. 1 Go to create.roblox.com and open Creations.
  2. 2 Hover over your experience, click ⋯ and choose Create Badge.
  3. 3 Upload the icon, enter a name and a description, and choose whether the badge is enabled.
  4. 4 Click Create Badge.

You can create up to 5 badges for free per experience in each 24-hour period (GMT); after that, each badge costs 100 Robux.

Step 3: Award the Badge in a Script

Badges are awarded with BadgeService from a server Script. Put this Script in ServerScriptService and replace the ID with your badge’s ID — this example awards the badge when a player joins:

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")

local BADGE_ID = 0000000 -- your badge ID

local function awardBadge(player, badgeId)
	local success, badgeInfo = pcall(function()
		return BadgeService:GetBadgeInfoAsync(badgeId)
	end)
	if success and badgeInfo.IsEnabled then
		pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
	end
end

Players.PlayerAdded:Connect(function(player)
	awardBadge(player, BADGE_ID)
end)

To award it for reaching a spot instead, call awardBadge from a part’s Touched event and find the player with Players:GetPlayerFromCharacter(hit.Parent).

Roblox Badge FAQ

How much does it cost to make a badge on Roblox?

Up to 5 badges per experience in each 24-hour period (GMT) are free; after that each costs 100 Robux.

What size is a Roblox badge image?

512×512 pixels. Roblox crops it to a circle, so keep the important part in the middle.

Can I award a badge from a LocalScript?

No. Award badges with BadgeService from a server Script.

Why isn’t my badge being awarded?

Check that the badge is enabled, that the code runs in a server Script, and that the badge ID is correct.

More Roblox Guides