SheetRender Blog

Bulk Certificate Generator for Events: From a CSV

By Josh ·

The webinar ended at 4. Two hundred people stayed long enough to count, and they expect a certificate tonight. A bulk certificate generator for events turns the attendee CSV into one named PDF each.

If you ran a training cohort over several weeks, use the certificates-from-a-spreadsheet guide instead. This page is the event job: conferences, workshops, webinars, hackathons, and races.

What's the fastest way to generate certificates from CSV after an event? Export the list from the registration platform, drop the people who did not attend, then merge the remaining rows into a certificate. Most bulk certificate generator write-ups skip the filter. The filter is the job.

How to generate certificates from CSV after an event

Eventbrite holds registrations. Zoom records join times. Luma's guest list may or may not be checked in, and none of those is a certificate roster until you export it and cut it down.

Eventbrite

For a ticketed in-person event, start from check-ins, not from the registration list.

  1. Open the event dashboard.
  2. Go to Reporting, then Event reports.
  3. Choose Check-ins (under Box office).
  4. Export as CSV or Excel and grab the file from the Exports tab.

Only scanned tickets appear. The Attendees report next to it is who bought a ticket.

Eventbrite online events that run on Zoom have no check-in data unless the Zoom side is set up to require registration. For a straight webinar, skip Eventbrite and export from Zoom.

Zoom, Luma, and Google Forms

Zoom's account reports list each participant with join and leave times; export that as CSV. You get name, email, and duration in minutes. Certificates of attendance want this history file. The registration report includes people who never joined.

On Luma, Manage > Guests > Download CSV. Dedupe on email if you used group registration. A meetup checked in with Google Forms has only the response sheet.

Keep only the people who earned one

A certificate of attendance for someone who joined for six minutes is a liar on letterhead. Decide the rule before you open the generator. A common webinar rule is duration of at least 80 percent of the session: 72 minutes on a 90-minute webinar. With a Zoom export that already has one row per person, add a helper column =D2>=72, filter to TRUE, and copy the surviving rows to a clean tab. If the file has several rows per email (one per join), sum duration by email first.

In-person Eventbrite and Luma exports: filter to checked-in and stop. Do this on a copy. The live registration list is still changing while you merge, and a row that flips between preview and send is the one that goes out wrong.

Attendance, completion, and CPD are different claims

The PDF does not know the difference. You have to. A certificate of attendance says the person was there, which is what a filtered event list can support. A certificate of completion says they finished the work; if you did not measure completion, do not print the word. A CPD or CE certificate (continuing professional development, or continuing education) often needs a credit-hour number and a provider ID on the page. You can print those fields. That does not make you an accredited provider. If a board publishes a required layout, use it. Omitting the ID they asked for gets the attendee a rejection from the board.

Four ways to turn the attendee export into certificates

Build the certificate design before the event. Same-day turnaround is export, filter, generate, send.

Event attendees expect the file in their own inbox. A shared folder of 200 PDFs is a training-cohort habit. The delivery half of this job is emailing each person their own PDF.

Canva Bulk Create

If the event branding is already a Canva design, this keeps the certificate looking like the event.

  1. Finish one certificate, with the name and event title as text boxes.
  2. Open Bulk Create, connect the filtered CSV, and map each box to a column.
  3. Set output to individual designs and name the files from the name column.
  4. Generate, then export.

Bulk Create needs a paid Canva plan that includes it, and it's desktop only. Each run caps at 300 rows. Canva hands you a zip. Emailing those files, one per inbox, is still your evening.

Certify'em, if check-in was a Google Form

Certify'em is a Google Forms add-on: someone submits, a PDF certificate goes out from your Gmail. For a workshop that used a Form as the door, it issues during the event.

It only reads Form responses. If the list already lives in a spreadsheet, pick a different tool. Free allows 60 email recipients a day and prints a "Made for free with Certify'em" line; paid plans lift the cap and drop the line, and their quota page has the current figures.

Autocrat from Google Slides

If the filtered CSV is going into Google Sheets anyway, this is the free batch path. Design the certificate as a slide, drop <<Name>>, <<Event>>, and <<Date>> where the values go, then run Autocrat in multiple-output mode as PDF and point the email step at the address column. Right size for a 40-person Saturday workshop. On a 400-row webinar it inherits Apps Script quotas and can die mid-batch. Those quotas and the other Google-native options are in the Google Sheets mail merge guide.

SheetRender, when the design is already a PDF

SheetRender is ours.

You upload the filtered CSV (or an .xlsx, or a connected Google Sheet) and one example certificate: last year's PDF, a photo of a printed one, or HTML. Export a .docx to PDF first. A model rebuilds the layout, maps your columns, and each remaining row renders as its own PDF. Set the filename from a column so the zip contains maria-santos.pdf. Pick the email column and each row's PDF goes to that address; subject and body take placeholders such as {{ name }}. Build the template on Tuesday. Thursday at 4:10 is upload the filtered export and generate.

Look at the rebuild before you trust it, especially a crest or a name box that a long surname will overflow. Building the template sends column headers, a small sample of row data, and the example file to the AI model that reconstructs the layout. Attendee names and emails are in that sample. If that is a blocker, Autocrat keeps the merge inside Google.

Free is 50 documents a month, 2 active templates, 30 days of file retention, and no scheduled runs, with a "Made with SheetRender" footer on every page from document one. A 40-person meetup fits. A 200-person conference does not, and the footer should not be on an event certificate. Starter is $19 a month for 1,500 documents with the footer off, when I last checked. The certificates use-case page is the fuller walkthrough.

When the certificate has to be verifiable

A conference badge an employer can look up is a credential, not a PDF. That is a different product; the spreadsheet certificate post names the two that do it.

Bottom line

  • Check-in ran through a Google Form, and each submit can trigger a certificate: Certify'em. Stay inside the daily email cap.
  • Event branding already sits in Canva and the list is under 300: Canva Bulk Create. You still mail the zip yourself.
  • Under a hundred attendees and the roster is already a Google Sheet: Autocrat.
  • You run this every month and the certificate design is already a PDF: SheetRender.
  • Someone has to look the credential up later: Certifier or Accredible.

The certificate that lands tonight is only as true as the filter you ran this afternoon. Pick a generator that names the files after people and mails each file to the address on that row. Then look at the duration column one more time. No template will catch that part for you.

Ready to turn every row into its own polished PDF?

Free plan · No credit card required