How to create, send & verify event certificates

Everything you need to go from a participant list to a professional, verifiable certificate in every attendee's inbox. It works for workshops, webinars, FDPs, conferences, hackathons and courses.

Create event→Add participants→Design→Preview PDF→Generate→Send→Verify

Every certificate gets a unique number (like AIWS24-00012), a QR code and a public verification link, so anyone can confirm it's genuine.

1. Quick start: your first certificate in 10 minutes

  1. Sign up at certgen.app with your organisation name, name, email and password. Then click the link in the verification email.
  2. Events → New event. Enter the name and dates, then save.
  3. Participants → pick the event → Add yourself as a test participant.
  4. Certificates → Design: choose a background colour, click Add field and type {{ParticipantName}}, make it large, drag it to the centre, add your logo and a signature, then Save and Preview sample PDF.
  5. Generate (accept the issuer agreement the first time), then Send emails. Open the email, scan the QR code and check that it verifies.
  6. Happy? Bulk upload the real participants, then Generate and Send again. Only the new people are processed.

Always test on yourself first. Finding a typo on one certificate is free. Finding it on 200 certificates that are already in inboxes means sending an apology.

2. Your account and workspace

3. Create an event

Go to Events → New event.

FieldWhat to enterWhy it matters
Event namee.g. Online Workshop on Agentic AIPrinted via {{EventName}}. Long names wrap automatically.
Event codeOptional, e.g. AIWS24Becomes the certificate number prefix (AIWS24-00001). Leave it blank to auto-generate one.
Start / end dateEvent datesPowers {{EventDate}} ("12–14 March 2026") and {{EventDuration}} ("3 days").
Venue, OrganizerOptionalAvailable as {{EventVenue}} and {{EventOrganizer}}.
Role optionsParticipant, Speaker, Volunteer…Type each one and press Enter. These become dropdowns for participants and decide which design each person gets.
Certificate title optionsCertificate of Participation, of Appreciation…The heading for each person, via {{CertificateTitle}}.
Public verificationOn (default) or OffOff means there's no QR code and the verify link reveals nothing. Use Off if names must not appear on a public page.

Plan roles before you design. If speakers and participants need different certificates, add both roles now.

4. Add participants

One at a time

Participants → choose the event → Add. Only Full name and Email are required. The participant ID is created for you.

Bulk upload from Excel

  1. Click Template. The spreadsheet comes with dropdowns for this event's roles and certificate titles.
  2. Fill in one row per person:
    ColumnRequiredUsed for
    Full Name✅{{ParticipantName}}
    Email✅Sending (must be unique within the event)
    Organization, Designation, Phone{{Organization}}, {{Designation}}
    RoleChooses the design; {{Role}}
    Certificate Title{{CertificateTitle}}
    Completion Hours{{CompletionHours}}
  3. Bulk upload → Choose .xlsx file. The preview highlights every problem: missing name, invalid or duplicate email, or a role that isn't one of the event's options.
  4. Fix highlighted cells directly in the preview, then click Import.

Names print exactly as typed. Check capitalisation ("Priya Sharma", not "PRIYA SHARMA"), titles such as "Dr.", and stray spaces before you import.

5. Design the certificate

Certificates → choose the event → Design. The controls are on the left and the live preview is on the right.

The sample PDF is the source of truth. The on-screen preview is close but approximate. Click Preview sample PDF after every layout change.

Choose the orientation (landscape or portrait) first, because changing it later moves everything.

Background and border

Text fields

Each piece of text is a field. Click Add field and set:

ControlWhat it does
TextFixed words plus variables, e.g. has successfully completed {{EventName}} on {{EventDate}}
Insert variableAdds a variable without typos
FontSans (modern) or Serif (traditional, formal)
Size, Colour, Bold, ItalicStyling
AlignLeft, Center or Right. This is the anchor point: a centred name stays centred however long it is.
X / YExact position, for pixel-perfect alignment

Positioning precisely

Variables you can use

VariablePrints
{{ParticipantName}}Full name
{{CertificateTitle}}e.g. Certificate of Participation
{{Role}} · {{Organization}} · {{Designation}} · {{Email}}From the participant's details
{{CompletionHours}}e.g. 8
{{EventName}} · {{EventVenue}} · {{EventOrganizer}}From the event
{{EventDate}}Smart range, e.g. 12–14 March 2026
{{EventStartDate}} · {{EventEndDate}} · {{EventDuration}}Individual dates, and e.g. "3 days"
{{IssueDate}}Date the certificate was generated
{{CertificateID}}Certificate number, e.g. AIWS24-00012
{{VerificationURL}}The verify link (the QR code already contains it)

If a participant has no value for a variable, it prints blank, so write sentences that still read well without it.

Logos and signatures

Image tips: use PNGs with transparent backgrounds. CertGen trims empty margins automatically, so the box hugs the visible ink. For a signature: sign in dark ink on white paper, photograph it in good light, remove the background, and save it as a PNG. Use logos at least ~600 px wide so they stay sharp in print.

Verification QR

Set the QR code's size with the slider (keep it to at least ~10% of the page width so phones can scan it from a printout), then drag it into place, usually a bottom corner away from signatures. The QR code appears only when public verification is on.

Different designs for different roles

  1. Add design and give it a name, e.g. Speaker.
  2. Set Applies to role to the matching role. Leave it blank for the default design everyone else gets.
  3. Click Save details. When you generate, each person gets the design that matches their role.

The role must be spelled the same on the design and on the participant (capitalisation doesn't matter). "Speaker" is not the same as "Guest Speaker". If they don't match, the person silently gets the default design, so download one PDF per role to check.

A design recipe that always looks professional

ElementVertical positionStyle
Logo(s)~12%Centred, or left and right for two organisations
{{CertificateTitle}}~25%Serif, 30–36 pt, bold, brand colour
"This is to certify that"~37%Sans, 13–15 pt, grey
{{ParticipantName}}~47%Serif, 30–40 pt, bold or italic, the largest text
Description with {{EventName}}~58%Sans, 13–15 pt, centred
Signatures~78%Spread evenly, all at the same height
QR + {{CertificateID}}Bottom cornerSmall and unobtrusive

6. Generate certificates

7. Send certificates

Emails not arriving at a university or company address? Strict mail filters sometimes quarantine mail from services they don't recognise. Ask recipients to check Junk or Quarantine and mark it safe, or use Export links and send the links from your own institutional mailbox. Internal mail isn't filtered the same way. Always send to yourself first.

8. What recipients see

9. Common workflows

SituationSteps
Single workshopCreate event → bulk upload → design → test on yourself → Generate → Send → Export links as a backup
Participants and speakers with different certificatesAdd both roles → default design + a "Speaker" design → upload everyone with the right role → Generate → check one PDF of each role → Send
Latecomers after you've sentAdd them → Generate (only they're processed) → Send emails (only they're emailed)
A typo after sendingFix the participant or design → Regenerate (filter by role if needed) → Resend. Their link and QR code stay the same.
A certificate issued by mistakeRevoke it with a reason. The verify page shows it as revoked and the download stops.

10. Troubleshooting

ProblemFix
The app takes up to a minute to loadIt's waking up after a quiet period. Wait a moment; after that it's fast.
"Generated 0, skipped N"Everyone already has a certificate. Use Regenerate to re-render, or add new participants.
Speakers got the participant designThe role on the design doesn't match the participants' role. Fix it, then Regenerate (role: Speaker) and Resend.
Name overlaps a signature in the PDFMove or shrink elements and check the sample PDF with your longest name.
Logo has a big empty box around itRe-upload it as a PNG with a transparent background.
Bulk upload rejects rowsRead the highlighted cell (invalid or duplicate email, or a role or title not in the event's options), fix it in the preview, and import again.
No QR code on certificatesPublic verification is off for this event. Turn it on in Edit event.

Ready for your next event?

Create, email and verify certificates in minutes. Free for small events.

Create your free account