Showing results for 
Show  only  | Search instead for 
Did you mean: 
New Member

Ideas for creating a Certificate of Completion

I understand the Certificate of Completion idea is currently under consideration, but was wondering if anyone has had success with using a free third party tool to generate a certificate, inside a Canvas course?  Our hope it to create a Module that students can only enter after completing a set of requirements, and inside the Module is an option to download a basic certificate that includes their name, credits, etc...  Any help/advice is greatly appreciated!  Thanks! 

15 Replies
Community Coach
Community Coach

Hi  @jenny_hopf 

I would love to see a native Certificate feature in Canvas, but I have been getting along just fine without one by doing exactly what you described - I create a certificate and upload it into a restricted module based on student scores or completion of activities. The students then download the Cert and add their name into a specified field.

This is not 100% secured, because students who have actually achieved the certificate, can then redistribute it.

There is an LTI tool available in the EduAppCenter that integrates nicely with Canvas, that can also help meet your need. You can check it out at Edu App Center 

You should consider making this a feature idea request to add support to Canvas building this. You can learn more at How does the feature idea process work? 


Instructure Alumni
Instructure Alumni

 @jenny_hopf , I preface this suggestion with the warning that I have not yet tried this approach, but you might get some ideas for issuing certificates from "Hacking" Canvas Using G Suite .

Community Champion

I would like a tool like that.  We currently do one of two options. One is what  @kmeeusen  suggests above and second involves going to our system where teachers sign up for workshops and having  them just do a short quiz there because it will generate a certificate.  I really don't like the two system option.  

I would want the LTI tool to read the user information so that it automatically adds their names and we could build the certificate with the number we are required to use for training that is acceptable for Continuing Ed towards certification renewal.  

Community Contributor

Hi  @jenny_hopf ‌,

We too had a need to have a certificate for certain courses, so I created a simple LTI tool that dynamically creates a PDF certificate with the student name, course name and completion date.

This tool requires a server with PHP and the FPDF library as well as setting up the tool in Canvas. The code will require some customization in order to adjust the text as necessary (based on how you want the certificate to look). The customization isn't anything too difficult, but you will want to read the examples and tutorials for FPDF.

If you are interested, I can share the code and the setup for the LTI in Canvas.


Community Champion


I would definitely be interested.   It would be a great improvement for us.  

I'd be interested as well!

Hi tross‌ and  @kona ‌,

Here is the PHP code:



$pdf = new FPDF('L', 'in', 'Letter');

$pdf->SetMargins(0, 0);

$pdf->Image('images/cert.png', 0, 0, 11, 8.5);


$pdf->setFont('Times', 'B', 24);
$pdf->Cell(4.5, 1, date('F j, Y', time()), 0, 1, 'L');

$pdf->setFont('Times', 'B', 24);
$pdf->SetXY(5, 4.15);
$pdf->MultiCell(5, .75, $_POST['custom_user_name'], 0, 'C');

$pdf->setFont('Times', 'B', 18);
$pdf->SetXY(5, 5.9);
$pdf->MultiCell(5, .75, $_POST['custom_course_name'], 0, 'C');




The LTI is setup is as follows:

(Whatever you want)
Consumer keyShared Secret
(Doesn't matter; script doesn't use it)(Doesn't matter; script doesn't use it)
Launch URL
(Whatever the URL for the script is)
Custom Fields
(Whatever you want)

After that, you will be able to add it to a course module under the 'External Tools' option.

Thank you!

@akkaufmann I actually implemented this today and got it working. Really cool concept for doing this. Thanks for sharing.

I know this is a few years old, but I have one question...

Along with the name and course name, is it possible to also pull the module name? We have a course with safety training in it. Each module is a different safety video and quiz in itself and each one doesn't apply to everyone. So you might just be assigned two quizzes of the 12. And I'd like to generate a specific certificate for each module and print the module name on the cert.  I'll play around with the custom fields and PHP but was wondering if you knew a way. 

0 Kudos

Hi akkaufmann‌ ,

I am really exited to work with FPDF concept of generating certificate , but could you please assist me with the file location where i need to upload this pdf file . & do i need to restart my server later? 

further to inform you i am using self hosted canvas lms on Azure VM .


Hi  @jenny_hopf ‌,

Have you given any thought to Accredible, Badgr or Credly as options for third-party LTI's who offer badging/ certification capabilities. Might be worth taking a look if you haven't already had the chance! Smiley Happy badging digital badging certificates #certification

- Am

This shouldn't require 3rd party support, it should be built in. If Canvas is aimed as a complete learning tool, certificates are an obvious outcome.

Heck, moodle has a plugin freely available to do this that installs easily.

Hi  @dave_perry ‌,

Thanks for your feedback! There is an awesome Feature Request online at the moment which I think would be of interest to you:" modifiedtitle="true".... It would be fantastic if you could up-vote the idea, and provide any additional feedback in the comments section. The more support the better! Smiley Happy

- Am

Where do we go to see that and vote for this feature?



0 Kudos
New Member

We can use Google form/Quiz with Certify'em extension and share link here in our course, so the students can get certificate automatically as they submit the quiz. But I am not sure whether it is permitted on this platform or not.  

0 Kudos