Note: You are currently viewing documentation for Moodle 3.2. Up-to-date documentation for the latest stable version of Moodle is probably available here: Simple certificate module.

Simple certificate module

From MoodleDocs


This module is based on certificate module, maintained by Mark Nelson, but simpler to use, no needs to change any code to add a new certificate format, and moodle's administrator don't need to upload image files or change language variables. The certificate text are full customizable, using special text marks that will be replaced by variables (like student name, course name, grade, ...).


Using git repository

If you do not have git installed, please see the below link. Please note, it is not necessary to set up the SSH Keys. This is only needed if you are going to create a repository of your own on

Information on installing git -

Once you have git installed, simply visit the Moodle mod directory and clone git://, remember to rename the folder to certificate if you do not specify this in the clone command.

Eg. Linux command line would be as follow -

git clone git:// simplecertificate

Once cloned, checkout the branch that is specific to your Moodle version. eg, MOODLE_22 is for Moodle 2.2, MOODLE_23 is for 2.3, ...

Use git pull to update this branch periodically to ensure you have the latest version.

If you don't want install git you can visit, choose the branch that matches your Moodle version (eg. MOODLE_22 is for Moodle 2.2, MOODLE_23 is for 2.3) and download the zip, uncompress this zip and extract the folder. The folder will have a name similar to bozoh-moodle-mod_simplecertificate-c9fbadb, you MUST rename this to simplecertificate. Place this folder in your mod folder in your Moodle directory.

Using the plugins

This plugin is design to be simple to create a certificate, without any PHP knowledge In this plugins you can create:

  • One or Two pages certificate
  • Verification code
  • QRCode with verification URL
  • Multi language support, using Multi Language content filter
  • Bulk operations (send certificate via email to the users, ...)
  • and more ...

To create a custom certificate, you add a simple certificate activity, in the Certificate Text you will type you custom certificate text, and you will use some Text marks which will be replace to right values in the certificate creation process.

For exemple, Certificate of Achievement {COURSENAME}



The texts marks {COUSENAME} and {USERNAME} will be replaced to course full name and user full name, respectively .

Here a more complete example image:

Simple certificate example 01.png

First page editing with a background image

and this will be created: Simple certificate example 02.jpg

A sample pdf file File:Simple certificate example 01.pdf

How to report a bug

You can report in:

Text marks

In this version other user profile data can be added, like email, first name, country, and the custom profile data too.

Text Mark Description Since version
{USERNAME} Full user name 1.x.x
{COURSENAME} Full course name (or what is in Alternate course name option) 1.x.x
{GRADE} Formatted Grade 1.x.x
{DATE} Formatted Date 1.x.x
{OUTCOME} Outcomes 1.x.x
{HOURS} Defined hours in course 1.x.x
{TEACHERS} Teachers List 1.x.x
{IDNUMBER} User id number 2.x.x
{FIRSTNAME} User first name 2.x.x
{LASTNAME} User last name 2.x.x
{EMAIL} User e-mail 2.x.x
{ICQ} User ICQ 2.x.x
{SKYPE} User Skype 2.x.x
{YAHOO} User yahoo messenger 2.x.x
{AIM} User AIM 2.x.x
{MSN} User MSN 2.x.x
{PHONE1} User 1° Phone Number 2.x.x
{PHONE2} User 2° Phone Number 2.x.x
{INSTITUTION} User institution 2.x.x
{DEPARTMENT} User department 2.x.x
{ADDRESS} User address 2.x.x
{CITY} User city 2.x.x
{COUNTRY} User country 2.x.x
{URL} User Home-page 2.x.x
{PROFILE_xxxx} User custom profile fields 2.x.x
{CERTIFICATECODE} Unique certificate code text 2.1.x
{USERROLENAME} User role name in course 2.2.0
{TIMESTART} User Enrollment start date in course 2.2.0
{USERIMAGE} User profile image 2.2.0
{USERRESULTS} User results (grade) in others course activities 2.2.0

In order to use custom profiles fields you must use "PROFILE_" prefix, for example: you has created a custom profile with shortname of "birthday," so the text mark used on certificate must be {PROFILE_BIRTHDAY}

Languages with special character

Some languages has non latin character, like Russian or Japanese, in order to work these languages properly you must use: style="font-family: freeserif;" or something as font style, for example:

<span style="font-family: freeserif;">простой сертификат</span>

<span style="font-family: hysmyeongjostdmedium;">かんたん証明書</span>

<span style="font-family: kozgopromedium;">かんたん証明書</span> (it is better for Japanese characters, but under lib/tcpdf/fonts/ you need kozgopromedium.php which is included in the latest version of TCPDF)

See also