Activities: Custom certificate

Maintained by Picture of Mark Nelson Mark Nelson
Enables the creation of dynamically generated certificates with complete customisation via the web browser.
3945 sites
127 fans

This plugin allows the generation of dynamic PDF certificates with complete customisation via the web browser.

Currently supported versions: 3.3, 3.4 and 3.5.

GDPR Compliant.

If you like this plugin feel free to donate. smile btn_donate_LG.gif


This plugin is part of set MoodleCloud.


Screenshot #0
Screenshot #1
Screenshot #2


Picture of Mark Nelson
Mark Nelson (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of FPV Learning
    Wed, 6 Jun 2018, 10:52 AM
    Hi Mark,

    Not sure if this has been asked, but I am having trouble getting the background image to show. Its there when repositioning elements, but then disappears in PDF mode.

    Any advice?

  • Picture of Mark Nelson
    Wed, 6 Jun 2018, 2:47 PM
    Hi all,

    Sorry for the delay in responding. I am getting a lot of feature requests/general emails in regards to this plugin and it is only something I work on in my spare time, for the most part.

    Glauco - Sorry, no. You would have to edit the code or alter your theme to hide it.

    Tim - Thanks for the report Tim.

    Arnel - That version is no longer supported, please upgrade. If you are stuck with using that version I suggest you turn on debugging so that there is a more meaningful message.

    Carlos - You can download the PDF and use it wherever you want. I am not familiar with Linkedin certificates, sorry.

    Edmund - No, there isn't, but that is a good idea. Feel free to create an issue at

    Ruth - Currently you can only get one issue per certificate per user. To remove that you could leave the string empty. I am not sure what the advantage of hiding an element on a certificate, rather than just deleting it would be.

    Richard - Yes, it is when the certificate gets downloaded. It can be issued to anyone who can access the activity and download the certificate.

    W Roes - I pulled that patch in and it is now available with the new releases.

    FPV Learning - This sounds like a bug. Could you create an issue at with more details (eg. type of image)?
  • Picture of Adan Garcia
    Fri, 8 Jun 2018, 1:49 AM
    Hi Mark, thank you very much for your work.
    I was using your past plugin for many time and I´ve been always very happy about its performance.
    Now I am configuring this one in a Moodle 3.4.2 and I was wondering if there is a way to set that the student name is always printed in capital letters no matter how the student was writing it. I got that in the past Certificate plugin by adding to the certificate.php the code below but I don´t find where to add the code in this version since the customization is via web browser, Will you be so kind to indicate me if this would be possible or if you are thinking in including this feature in the student name field of the plugin in coming updates?. Thanks again and kind regards. Adán

    Added code used to get the string fullname$USER in capital letters in the past version of the plugin: certificate

    $cadena_devuelta = strtoupper(fullname($USER));
    certificate_print_text($pdf, $x , $y + 35, 'C', 'Helvetica', 'B', 12, $cadena_devuelta);
  • Picture of Mark Nelson
    Mon, 11 Jun 2018, 3:21 PM
    Hi Adan,

    Feel free to create an issue at

    In the meantime, to achieve this in the current plugin you can edit the mod/customcert/element/studentname/classes/element.php file and in the render() function wrap the fullname in strtoupper() (like in your example above).
  • Picture of James Harvey
    Wed, 20 Jun 2018, 11:49 PM
    Hello Mark, I was wondering if it is possible to add more than just a background image. I need to add two smaller logos to the bottom of the certificate - instead of a singular background image. Is this possible?
  • Picture of Mark Nelson
    Fri, 22 Jun 2018, 12:13 PM
    Hi James, you can always use the 'Image' element to achieve this.
  • Picture of Paul Przemysław Polański
    Wed, 27 Jun 2018, 4:59 AM
    Hi Mark, for some reason, diacritic letters do not appear on custom certificate. I have numerous users who reported problems with Polish additional characters, such as 'ś" or "ć", which are being replaced by a question mark. Could you please double check if you are using UTF-8 standard everywhere?
  • Picture of Mark Nelson
    Wed, 27 Jun 2018, 4:24 PM
    Hi Paul, this is due to the font you are using and is out of my control. You will have to make sure the font you decide to use is UTF-8 compatible.
  • Picture of Jenny Harrison
    Wed, 4 Jul 2018, 6:52 PM
    Hi Mark, I'm having an issue with my background image moving every time I go to 'Reposition elements'. The whole image moves off center each time I view it - is there anything I can do to fix this?
  • Picture of Mark Nelson
    Thu, 5 Jul 2018, 3:46 PM
    Hi Jenny, please create an issue at with replication steps (the problem image as an attachment would be a bonus).
  • Picture of Jenny Harrison
    Thu, 5 Jul 2018, 6:10 PM
    Hi Mark, issue raised with images included. Thanks for your help.
  • Picture of Austin Powell
    Tue, 10 Jul 2018, 3:31 AM
    Not sure if I'm just missing this someplace or if it isn't a feature yet.
    Is it possible to export/import a template between sites or will I need to manually recreate the template on each of our sites?
  • Picture of Mark Nelson
    Tue, 10 Jul 2018, 10:09 AM
    Hi Austin,

    It's currently not possible to do that, sorry. However, it has been reported before (see and hopefully will get done in the future.
  • Picture of John Alexander Ramirez Rodriguez
    Sat, 14 Jul 2018, 12:57 AM
    Hi there

    Someone knows how I can add a QR Code in the certificates?
  • Picture of Mark Nelson
    Sat, 14 Jul 2018, 11:38 AM
    Hi John,

    This has not been implemented yet, but is a much asked for feature request. I hope to get onto it shortly.

    Please see
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Please login to post comments