Create a simple digital badge system for students using SharePoint
If your school already uses Microsoft 365, you can build a lightweight digital badge and rewards system using SharePoint Lists with no third party tools and no complex development. It is a practical way to celebrate academic, pastoral, and extracurricular achievements inside the platforms staff and students already use.
This approach is intentionally simple. It is ideal for schools that want something quick to set up, easy to maintain, and low cost.
What you will build
You will create:
- A document library to store badge images
- A Badges list to hold your badge catalogue (name + image link)
- A My Badges list where staff award a badge to a student using a lookup
- A gallery view that displays badges nicely
- An optional homepage web part so students can see their badges on the SharePoint home page
Benefits of a SharePoint based badge system
Uses tools you already have
No new platform to procure, no new vendor onboarding, and no additional sign in for staff and students.
Fast to roll out
A SharePoint admin or power user can build this in an afternoon, then iterate as the school refines categories and rules.
Easy for staff to award badges
Teachers select a student and choose a badge from a list, which keeps data consistent and reduces manual entry.
Flexible for different badge types
You can add badges for attendance, effort, house points, reading milestones, sports contributions, behaviour, clubs, and more.
Can be displayed where students already are
Because it is SharePoint, you can embed the view on the student homepage as a List web part.
Why you might not want to use this approach
This method is brilliant for simple recognition, but it is not a full digital badging platform.
It is not security trimmed
A key limitation is that the “show me my badges” view is filtered, not truly secured. With the right access and know how, users may still be able to view other students’ items behind the scenes.
If your safeguarding, privacy, or policy requirements demand strict per student access controls, you should consider a purpose built solution.
No MIS integration or points calculations
If you need MIS integration, automated points totals, calculations, reporting, or an e portfolio style record, you will likely need a third party badge solution.
Governance and consistency need thought
If lots of people can add badges, you can quickly end up with duplicates, inconsistent naming, or unapproved badge designs unless you lock it down.

Step by step: Build the badge system in SharePoint
Step 1: Create a document library for badge images
- Go to your SharePoint site
- Open Site contents
- Select New then Document library
- Name it Badge Images (or similar)
- Upload your badge images (drag and drop works well)
Tip: If you do not have badge artwork yet, you can create simple badge images using Microsoft Copilot or an image generator, then upload them.
Step 2: Copy the direct URL for each badge image
For each image you upload:
- Open the image in the library
- Choose View original
- Copy the direct URL of the image
You will paste this into your badge catalogue list in the next step.
Step 3: Create a Badges list (your badge catalogue)
- Go back to Site contents
- Select New then List
- Choose Blank list
- Name it Badges
- Keep the default Title column, this will be the badge name
- Create a new column:
- Type: Single line of text
- Name: Badge Image URL
- Important: use text, not a URL column
Now add one item per badge:
- Title:
Star Student - Badge Image URL: paste the copied image link
Repeat for each badge.
Step 4: Create a My Badges list (awarded badges)
- Go to Site contents
- Select New then List
- Choose Blank list
- Name it My Badges
Add these columns:
A) Rewarded To
- Column type: Person
- Name: Rewarded To
- Require this column (recommended)
B) Badge (lookup)
- Column type: Lookup
- Name: Badge
- Lookup list: Badges
- Lookup column: Title
- Also select the additional field Badge Image URL so it is brought into My Badges
- Require this column (recommended)

Step 5: Tidy the list for staff entry
In My Badges, you can hide the default Title column from the view to keep it clean.
Staff only need to pick:
- Rewarded To
- Badge

Step 6: Create a “My Badges” gallery view filtered to the current user
- In My Badges, create a new view
- Choose Gallery
- Name it My Badges
- Add a filter:
- Rewarded To is equal to [Me]
This makes the default experience “show me my badges”.
Important: this is a view filter, not full security trimming.

Step 7: Add formatting so the badge image shows nicely
Without formatting, the gallery view will not automatically render your image URL as an image. You can fix that with SharePoint view formatting.
- In the gallery view, choose Format current view
- Select Advanced mode
- Paste in the JSON below
Gallery view formatting JSON (example)
Replace the field names in the JSON to match your internal column names:
BadgeImageURLshould point to the text column that contains the image URL in My Badges (the one brought across from the lookup)Badgeshould point to the lookup value (badge name)
{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/tile-formatting.schema.json", "height": 230, "width": 200, "hideSelection": true, "formatter": { "elmType": "div", "style": { "width": "100%", "height": "100%", "display": "flex", "flex-direction": "column", "align-items": "center", "justify-content": "center", "border-radius": "16px", "background-color": "#ffffff", "box-shadow": "0 2px 10px rgba(0,0,0,0.10)", "padding": "12px", "box-sizing": "border-box" }, "children": [ { "elmType": "img", "attributes": { "src": "=if([$Badge_x003a__x0020_BadgeImageUrl] != '', [$Badge_x003a__x0020_BadgeImageUrl], '')", "alt": "=[$Badge.lookupValue]", "title": "=[$Badge.lookupValue]" }, "style": { "width": "140px", "height": "140px", "object-fit": "contain", "margin-bottom": "10px" } }, { "elmType": "div", "txtContent": "=[$Badge.lookupValue]", "style": { "font-weight": "600", "font-size": "14px", "text-align": "center" } } ] }}
If your image does not show after pasting, it is almost always because the internal field name differs. A quick fix is to use the formatting panel to insert dynamic values, then copy the token names SharePoint provides.

Step 8: Add the badge gallery to a SharePoint page
To show badges on a student homepage:
- Edit the SharePoint page
- Add the List web part
- Select My Badges
- Choose the My Badges gallery view you formatted
- Click Apply
Now students see their badges right on the homepage.

Permissions and access (recommended)
To keep this manageable:
- Students: Read access to My Badges
- Teachers: Add items to My Badges (award badges)
- A small admin group: Manage the Badge Images library and the Badges list (so badge designs stay consistent)
If you need stricter privacy, consider alternatives rather than trying to force SharePoint into per item confidentiality for every student.
When a third party badge platform is a better fit
Choose a dedicated badge solution if you need:
- MIS integration
- House points and calculations
- Automated awarding rules
- Detailed analytics and reporting
- Evidence attachments and e portfolio workflows
Next steps
This simple SharePoint badge system is a great starting point for schools that want quick wins using Microsoft 365. If you want to go further and provision a complete education intranet and learning environment in Microsoft 365, Cloud Design Box can help.