Answer: To create race certificates in bulk, upload a CSV of your race results to CertFusion, map the name, email and finish time columns to your certificate design, and issue the whole list in one click. Every runner gets a personalised certificate with their own finish time, credential ID and verification link.
A 500-person fun run produces 500 certificates. Doing that one at a time is a day of work. Doing it from a spreadsheet takes about two minutes, and this guide walks through exactly that — including how to print each runner's finish time on their own certificate.
Export your finishers from your timing system as a CSV. Three columns are enough:

A 500-row race results file. Column headers are name, email and finish_time.
Two things worth knowing:
dummy@example.com. You can choose not to send emails when you issue, and hand the certificate over yourself instead.In CertFusion, go to Certificate Templates and open the design you want to use.

Click Edit design on the certificate you want to issue in bulk.
The design editor opens with a Properties panel on the left. [recipient.name] is already available and, in this template, already placed on the certificate. That handles the runner's name. Now for the finish time.
Open the Texts panel and click Add text. A "Sample Text" box appears on the canvas.
This box is only the static label. Type Finish Time:, drop the font size down (18px works well against a 32px name), and drag it into position under the name line.
The label is static. The value needs to change per runner, which means a custom property.
Go back to Properties and click Add Custom Property. Type finishtime — letters only, no spaces or special characters.
CertFusion shows you the resulting placeholder: [custom.finishtime].
Click Add. The new property appears in your Properties list and can be dropped onto the certificate like any other field.
Place [custom.finishtime] next to your Finish Time: label, match the font size, and line the two up.
The design now has two dynamic fields: [recipient.name] and [custom.finishtime].
Click Save Design and wait for the "Changes have been saved" confirmation. Whatever ends up in that CSV column will now print here, for every runner.
[INTERNAL LINK: using custom fields on certificates → /blog/custom-certificate-fields]
Switch to the Recipients tab. It's empty, so click Add Recipients.
You get three routes: add people one at a time, import a CSV, or pull them from one of ten connected tools (Zoom, Webex, Typeform, Tally, Youform, Jotform, Luma, Google Forms, Kit, Zapier). For race results, CSV is the one you want.
Click Import CSV.
Click Choose file, pick your results file, then click Upload & Preview.
The sidebar confirms which custom fields this design can accept — here, [custom.finishtime].
CertFusion shows a preview of your file and asks what each column is. Name and email are required. Custom fields are optional.
Map column 1 to Recipient Name, column 2 to Email Address, and column 3 to [custom.finishtime].
That third mapping is the whole point of the custom field — it connects a spreadsheet column to a spot on the certificate.
Click Import Recipients.
500 created, 1 skipped. The skipped row is the CSV header.
Everyone lands in the recipients list with a Pending status. Nothing has been issued yet, so this is a good moment to spot-check a few rows.
Click Select all to select all 500 recipients, then click Issue Certificates.
The banner confirms how many recipients are selected before you issue.
CertFusion asks whether you want to email the certificates.
Choose Yes to email everyone a link automatically, or No to distribute the certificates yourself.
Pick No if your email column contains placeholders, or if you'd rather share links through your own results page. Then click Confirm.
Refresh the list and every row reads Issued. Each one now has its own certificate, credential ID and verification page.
Each certificate gets a public credential page: the runner's name, a credential ID, a download button, a share link and an Add to LinkedIn Profile button.
The credential page is what you link to from your results email or race website.
And the finish time is on the certificate itself, pulled straight from the spreadsheet row.
One CSV column, 500 different values, zero manual edits.
How many race certificates can I create at once? There's no per-import cap on rows — this walkthrough imports 500 in one file. What limits you is your plan's monthly certificate quota, which you can see in the top bar of your dashboard.
Can I add more than one custom field? Yes. Create a custom property for each extra column you want on the certificate — category, bib number, chip time, age group — and map them all during the CSV import.
What if some runners have no email address? Import them with a placeholder address and choose No when asked whether to email certificates. You'll still get a certificate and a shareable link for every runner, which you can distribute however you like.
Can I re-issue or fix a certificate after import? Yes. Recipients stay in the list after issuing, so you can correct a typo in a name or finish time and issue that individual certificate again.
Do runners need a CertFusion account to see their certificate? No. The credential page is public. Anyone with the link can view, verify and download the certificate.
Can I use the same design for next year's race? Yes. The design and its custom fields are saved on the template. Next year you upload a new CSV and issue again — the setup is one-time.
Schema suggestion: this post fits
HowToschema for the eight numbered steps plusFAQPageschema for the questions above. Mark up each step with itsname,textand the corresponding screenshot asimage.
The same eight steps, start to finish, in two minutes — from race results CSV to 500 issued certificates.
Discover more insights and stories that might interest you