Key takeaways

  • Moodle has native Open Badges 2.0 support, no plugin required for basic issuance on Moodle 4.x.
  • Badges can be triggered automatically by course completion, activity completion, grade thresholds, or manual award.
  • Every Moodle badge embeds verifiable metadata (issuer, recipient, criteria, date) in a signed JSON-LD assertion.
  • Moodle's built-in tools are functional but limited in design customisation, analytics, and LinkedIn sharing experience.
  • Dedicated platforms like IssueBadge.com, Badgr, or Credly can complement Moodle via API or manual export for richer credential experiences.

If you run a Moodle site, you already have a badge engine sitting inside it, most admins just never turn it on. Moodle introduced Open Badges support back in version 2.5 (2013), and the feature has been quietly improved across every major release since. By Moodle 4.x, the badging module is mature, stable, and genuinely useful for issuing verifiable credentials to learners without buying additional software.

That said, Moodle badges have real limitations. The design editor is basic, the analytics are thin, and the learner experience around sharing on LinkedIn is rougher than it should be. So this guide covers both sides: how to get Moodle's native badging working properly, and when it makes sense to extend it with a dedicated platform.

What are Moodle digital badges?

Moodle digital badges are Open Badges 2.0-compliant credentials issued to learners directly from the Moodle LMS. They contain embedded, cryptographically signed metadata identifying the issuer, recipient, criteria, and issue date, making them independently verifiable by any third party.

Unlike a PDF certificate, a Moodle badge carries machine-readable proof. An employer or institution receiving the badge can verify it against the assertion URL hosted on the issuing Moodle server.

What "Verifiable" actually means in the Moodle context

The word "verifiable" gets thrown around a lot in credentialing, so it is worth being precise. Moodle badges are verifiable in the IMS Global Open Badges 2.0 sense. When Moodle issues a badge, it creates a badge assertion, a JSON-LD document hosted on your Moodle server, that contains:

Anyone can take a badge PNG issued by Moodle, upload it to an Open Badges validator (such as the one at openbadgesvalidator.io), and confirm whether it is genuine. That is what makes it verifiable. The badge cannot be meaningfully faked because the assertion lives on a URL that only your server controls.

What Moodle badges are not, at least not natively, is W3C Verifiable Credentials (VC). That standard, which uses Decentralised Identifiers (DIDs) and cryptographic key pairs held by the recipient, goes further. As of Moodle 4.5, native VC support is not in the platform. If you need W3C VC compliance, you would need a third-party integration or a separate credentialing platform.

Open Badges 2.0 vs. Open Badges 3.0: IMS Global released the Open Badges 3.0 specification in 2023, which aligns more closely with W3C Verifiable Credentials. Moodle's current implementation targets OB 2.0. Watch for community plugin development or future core updates that add OB 3.0 support, it is on the roadmap for future Moodle releases but has not shipped in core as of early 2026.

Step-by-Step: enabling Moodle digital badges

Before any badge can be created or issued, you need to confirm that the feature is enabled at both the site level and the course level. These are separate switches and both must be on.

1

Enable badges at the site level

Log in as a site administrator. Navigate to Site Administration → Advanced Features. Scroll to the "Badges" section and check "Enable badges". Save changes. This exposes the Badges menu in the Site Administration panel and enables the badge engine globally.

2

Configure badge issuer information

Go to Site Administration → Badges → Badge settings. Enter your institution's name, contact email, and URL. This information is embedded in every badge assertion your site issues, it is what tells the world who issued the credential. Use an institutional email address, not a personal one.

3

Enable course completion tracking

If you plan to award badges on course completion (the most common use case), make sure completion tracking is on. Go to Site Administration → Advanced Features → Enable completion tracking and check it. Then in each relevant course, go to Course Administration → Edit Settings → Completion tracking and set it to "Yes".

4

Enable badges in the course

Inside the course, go to Course Administration → Edit Settings → Appearance and make sure "Enable badges" is checked. Once saved, a "Badges" link appears in the course navigation for instructors with editing rights.

5

Create the badge

Navigate to the course, then Badges → Add a new badge. Fill in the badge name, description, and image (minimum 90×90 px; PNG or SVG recommended). Set an expiry date if relevant. The image is baked into the credential, so use a clean, professionally designed graphic, a blurry screenshot will undermine the badge's credibility.

6

Set award criteria

After saving the badge details, click the Criteria tab. Choose from: Manual award by role, Course completion, Activity completion, or Competency completion. You can combine multiple criteria, for example, require the learner to complete three specific activities AND achieve a minimum grade. Save the criteria.

7

Enable the badge (make it active)

Newly created badges are in Draft status. You must click Enable access to activate the badge. Once active, Moodle will begin evaluating learners against the criteria, but note that learners who already met the criteria before the badge was enabled will not be automatically awarded retroactively unless you use the "Award badge" bulk tool.

8

Test the issuance

Use a test student account to complete the criteria, then check Badges → Manage badges to confirm the badge was awarded. Have the test student log in, view their badge in Profile → Badges, and attempt to download the baked PNG. Verify the badge at openbadgesvalidator.io before rolling out to real learners.

Understanding Moodle badge criteria in detail

Criteria are the heart of any automated badge system. Moodle gives you several types, and understanding the nuances prevents headaches later.

Course completion

This is the most straightforward trigger. When a learner meets all the conditions set in the course completion rules, activity completion, grade, self-completion, Moodle awards the badge. The badge evaluates whenever a completion event fires, so there is usually no perceptible delay between the learner finishing and the badge appearing in their profile.

Activity completion

You can require completion of one or more specific activities (quizzes, assignments, lessons, SCORM packages) with optional grade conditions. The criteria editor lets you choose whether any one of the selected activities must be completed (OR logic) or whether all of them must be completed (AND logic). This is useful for multi-module credentials.

Manual award

A teacher or manager with the appropriate role can award a badge manually. This is the right approach for credentials where human judgment matters, peer presentations, capstone projects, observable skills. You can configure which roles are permitted to issue each badge under the criteria settings.

Competency completion

If your Moodle site uses the competency framework (under Site Administration → Competencies), you can tie badges to demonstrating one or more competencies. This is the most sophisticated option and works well for skills-based programmes where a single course does not tell the full story.

Common gotcha: Moodle does not re-evaluate badge criteria retroactively when you enable a badge. If 40 learners already completed the course and you create the badge afterwards, you need to go to Badges → Manage badges → Recipients and use the bulk award tool, or manually award each learner. Build and enable badges before the course launches to avoid this.

Site badges vs. course badges

Moodle supports two distinct badge scopes, and choosing the right one matters for your credential architecture.

Feature Course Badge Site Badge
Managed from Inside the course Site Administration → Badges
Criteria scope Activities and completion within one course Profile completion, multiple courses, site-wide competencies
Best for Single-course completion credentials Programme-level or institutional credentials
Who can create Teachers (with editing rights) Site administrators only
Cross-course criteria No Yes

If you are building a programme badge that requires learners to complete three separate courses, use a site badge with multiple course completion criteria. Course badges cannot reach outside their own course.

How the verification chain works

When Moodle issues a badge, it bakes the assertion data into the PNG image file using steganography, specifically, the Open Badges specification's baking approach that stores a JSON-LD assertion URL (or the assertion itself) in the image metadata. Here is what happens end to end:

  1. Learner earns badge, Moodle creates a BadgeAssertion JSON-LD object and stores it in the database, hosted at a unique URL on your Moodle server.
  2. Badge is baked, Moodle embeds the assertion URL into the badge PNG. The learner downloads this baked PNG from their profile.
  3. Learner shares badge, They upload the PNG to LinkedIn, their portfolio, or an email signature.
  4. Employer or institution verifies, They upload the PNG to an Open Badges validator. The validator extracts the assertion URL from the image, fetches the JSON-LD from your Moodle server, and checks the issuer, recipient hash, and signature.
  5. Verification confirmed, As long as your Moodle server is live and the assertion URL is accessible, the badge verifies successfully.

Implication for long-term validity: Moodle badge verification depends on your server remaining accessible. If your institution migrates or decommissions the Moodle instance, previously issued badges will fail verification. For credentials that need to remain valid for years, a dedicated credentialing platform with its own persistent hosting is more solid.

Designing effective Moodle badge images

Moodle's built-in badge image editor is minimal, you upload an image file, and that is essentially it. The platform does not have a badge design canvas. This is one of the more significant gaps for institutions that want credentials to look credible and branded.

A few practical rules for badge images:

If your team has design capacity, create badge templates in Figma or Illustrator and export them as SVG. If not, free tools like Canva have badge templates that can be adapted, just make sure the final export is clean and the institution name is legible.

Moodle badges vs. dedicated credentialing platforms

Native Moodle badges work well for straightforward use cases. But they have real gaps that become apparent once you start scaling or when recipients want a better sharing experience. Here is an honest comparison.

Capability Moodle Native IssueBadge.com Badgr / Canvas Credentials Credly
Open Badges 2.0 compliant Yes Yes Yes Yes
Badge design tools Upload only Template editor Basic Rich editor
Recipient dashboard Basic (Moodle profile) Dedicated portal Backpack dashboard Full dashboard
LinkedIn sharing (1-click) Manual, clunky Direct share link Partial Native
Issuance analytics None Views, clicks, shares Basic Advanced
Bulk issuance (CSV upload) Limited Yes Yes Yes
API for LMS integration , REST API REST API REST API
Persistent hosting (post-Moodle) Server-dependent Platform-hosted Platform-hosted Platform-hosted
Free tier Yes (included in Moodle) Free starter plan Free tier Paid only

For small institutions or single educators issuing a few dozen badges a year, Moodle's native tools are perfectly adequate. For larger programmes, or anywhere the learner experience and credential longevity genuinely matter, layering a dedicated platform on top of Moodle is worth the investment.

Platforms like IssueBadge.com offer a free starter plan that lets you test the workflow before committing. The typical integration pattern is: Moodle triggers the award (via course completion or a grade threshold), and a webhook or manual CSV export sends that data to the credentialing platform, which handles the hosted badge page, recipient email, and sharing.

Issuing badges at scale: practical considerations

Once your badge setup is working for a handful of learners, you will inevitably face scale questions. Here are the issues that trip up most institutions when they move from pilot to production.

Cron job frequency

Moodle evaluates badge criteria via its cron scheduler. By default, Moodle's cron runs every minute, but badge processing may be batched. On busy servers, there can be a lag of minutes to hours between a learner meeting the criteria and the badge actually appearing. If learners expect their badge immediately on completing a course, test your cron setup thoroughly. Increasing cron frequency or manually running php admin/cli/cron.php can help during high-volume periods.

Email deliverability

Moodle sends badge award notifications via email. If your server's outbound email is not configured with proper SPF, DKIM, and DMARC records, these notifications will land in spam. This is a system administration issue, not a badge issue, but it affects the perceived quality of the credential programme significantly. Use a transactional email service (Mailgun, Postmark, SendGrid) connected to Moodle's SMTP settings to ensure reliable delivery.

Backpack integration

Moodle lets learners push badges to an Open Badges backpack. The original Mozilla Backpack was discontinued; the current standard is Badgr Backpack (now Canvas Credentials). In Moodle 4.x, you can configure the backpack URL under Site Administration → Badges → Backpacks. Learners can then export their Moodle badges to their backpack and include them in cross-institutional displays.

Badge expiry and revocation

Moodle supports expiry dates on badges, which is important for credentials that need renewal (CPD, compliance training, first aid certification). When a badge expires, the assertion remains on the server but carries an expiry date in the metadata, validators will show the badge as expired. Moodle does not currently support revocation of individual badge assertions from the admin UI without direct database intervention. For credentials where revocation is important, a dedicated platform with proper revocation tooling is a better fit.

A real-World configuration example

Consider a university running a 10-week online data science course in Moodle. Here is how a reasonably sophisticated badge setup might look.

Scenario: University runs "Introduction to Python" on Moodle 4.3. The course has five graded quizzes, one peer-reviewed assignment, and one final exam. The institution wants to issue a "Python Fundamentals" badge to learners who score at least 70% overall and complete the peer review assignment.

Badge configuration:

After enabling the badge, the institution tested with three dummy accounts and verified the badges at openbadgesvalidator.io. They also set up their Moodle SMTP to route through Postmark, so badge notification emails arrive reliably. Learners receive an email notification, log in to Moodle, and download their baked badge PNG from their profile. The institution added a note in the course completion message pointing learners to a guide on adding the badge to LinkedIn.

This setup required about two hours of configuration, cost nothing beyond the existing Moodle server, and has been running reliably for two cohorts. That is what Moodle native badging looks like at its best.

FAQ: Moodle digital badges

Does Moodle support digital badges natively?

Yes. Moodle has had built-in Open Badges support since version 2.5, released in 2013. Moodle badges comply with the IMS Open Badges 2.0 specification and can be pushed to a learner's backpack or downloaded as a PNG with embedded metadata. As of Moodle 4.x, the badging module is maintained and enabled by default on most installations.

Are Moodle badges verifiable credentials?

Moodle badges are verifiable in the Open Badges 2.0 sense: they contain signed JSON-LD metadata asserting the issuer, recipient, criteria, and issue date. Anyone with the badge file can verify it against the issuing institution's hosted assertion URL. They are not W3C Verifiable Credentials (VC) by default, that standard requires a DID-based identity layer, which Moodle does not implement natively as of version 4.5.

How do I enable badges in Moodle?

Go to Site Administration → Advanced Features and enable "Enable badges." Also enable completion tracking. Inside each course, go to Course Administration → Edit Settings → Appearance and check "Enable badges." Once both are on, the Badges menu appears in the course navigation for editing users.

What criteria can trigger automatic badge issuance in Moodle?

Moodle can issue badges automatically when a learner meets one or more of: course completion, completion of a specific activity (quiz, assignment, SCORM, etc.), earning a minimum grade, achieving a competency, or being manually awarded by an instructor. Multiple criteria can be combined with AND/OR logic.

What is the difference between Moodle badges and a dedicated badge platform?

Moodle's native tools handle basic issuance well but are limited in badge design, analytics, LinkedIn sharing, and long-term persistence. Dedicated platforms like IssueBadge.com, Credly, and Badgr offer richer design tools, recipient dashboards, real-time analytics, and smoother LinkedIn integration. Many institutions use Moodle to trigger issuance and a third-party platform to manage the credential experience.

Need more than Moodle's built-in badges can offer?

IssueBadge.com works alongside Moodle, design professional badge templates, issue with one click, and give recipients a clean sharing experience with LinkedIn integration and a persistent credential page.

Try IssueBadge Free
SM

Sarah Mitchell, Senior Content Strategist, Credentialing & EdTech

Sarah covers LMS configuration, digital credentials, and skills-based learning for IssueBadge.com. She has worked with university credentialing teams and corporate L&D departments on Open Badges implementations since 2018. This article was reviewed against Moodle 4.5 documentation and the IMS Global Open Badges 2.0 specification before publication.

Published: March 16, 2026  ·  Reviewed: March 16, 2026

Sources & references

  1. Moodle Documentation. "Badges." docs.moodle.org/en/Badges. Accessed March 2026.
  2. IMS Global Learning Consortium. "Open Badges Specification v2.0." imsglobal.org. Published 2018.
  3. IMS Global Learning Consortium. "Open Badges 3.0 Specification." imsglobal.org/spec/ob/v3p0. Published 2023.
  4. W3C. "Verifiable Credentials Data Model 2.0." w3.org/TR/vc-data-model-2.0/. Published 2024.
  5. Moodle Documentation. "Course completion." docs.moodle.org/en/Course_completion. Accessed March 2026.
  6. Moodle Documentation. "Badge settings." docs.moodle.org/en/Badge_settings. Accessed March 2026.