Bulk Certificate & Diploma PDF Generator
Pricing
from $4.10 / 1,000 certificate / diploma pdfs
Bulk Certificate & Diploma PDF Generator
Turn a list of names (Google Sheet, CSV or JSON) into print-ready PDF certificates and diplomas. 3 designs or your own HTML, QR verification codes, ZIP and merged PDF output. Full Unicode: Latin, diacritics, Cyrillic.
Pricing
from $4.10 / 1,000 certificate / diploma pdfs
Rating
0.0
(0)
Developer
Argentin Vazdautan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Turn a list of names into print-ready PDF certificates and diplomas in seconds. Paste a Google Sheet link, pick a design, and get one PDF per person, plus a ZIP of everything and (optionally) one merged PDF for printing.
Built for schools, online course creators, training companies, event organizers, coding clubs and HR teams who hand out certificates in batches.
What it does
- π One PDF per row of your Google Sheet, CSV or JSON list
- π¨ 3 ready designs: Classic certificate, Modern certificate, Kids diploma, or your own HTML/CSS
- βοΈ Personalize any text with
{{column}}placeholders:{{name}},{{course}},{{hours}},{{grade}}, anything in your sheet - π QR verification codes and unique certificate IDs (e.g.
SCHOOL-2026-0001) - π Full Unicode: accents and diacritics (Γ©, ΓΌ, Θ, Θ, Δβ¦) and Cyrillic render correctly, with embedded fonts
- π¦ ZIP download of all PDFs and an optional merged PDF for one-click printing
- π¨οΈ A4 or US Letter, landscape or portrait
- β‘ About 200 certificates per minute
How to use it
- Put your list in a Google Sheet. First row = column names, e.g.
name | course | date. - Share the sheet: Anyone with the link β Viewer.
- Paste the link into Google Sheet or CSV link.
- Choose a design, write your title and text (use
{{course}}etc. to insert columns). - Click Start. Download the ZIP or the individual PDFs from the Output tab.
Input example
{"csvUrl": "https://docs.google.com/spreadsheets/d/XXXX/edit#gid=0","template": "certificate-classic","title": "Certificate","subtitle": "of completion","body": "Awarded for successfully completing {{course}} ({{hours}} hours).","date": "{{date}}","issuer": "Bright Minds Academy","signature1Name": "Jane Doe","signature1Title": "Director","accentColor": "#1f4e8c","addQrCode": true,"verifyUrlTemplate": "https://brightminds.example/verify?id={{certificateId}}","certificateIdPrefix": "BMA-2026-","mergeIntoOnePdf": true}
You can also pass rows directly with records (JSON array), csvText (pasted CSV), or datasetId (items from another Apify Actor).
Output
Each generated document appears in the dataset:
{"name": "Maria Popescu","fileName": "Maria Popescu.pdf","certificateId": "BMA-2026-0001","pdfUrl": "https://api.apify.com/v2/key-value-stores/.../records/0001-maria-popescu.pdf"}
The run's key-value store also contains:
all-documents.zip: every PDF in one ZIPall-documents-merged.pdf: all certificates in one file (if enabled)OUTPUT: summary with links
Pricing
Pay per document. You only pay for PDFs that are actually generated. Empty rows are skipped for free. You can set a maximum spend per run, and the Actor stops cleanly when it is reached.
Your own design
Choose Custom HTML and write your page with placeholders:
<div class="page" style="padding:30mm; font-family:'Playfair Display'"><h1>{{name}}</h1><p>completed {{course}} on {{date}}</p><img src="{{qrDataUrl}}" style="width:25mm"></div>
Available fonts: Montserrat, Playfair Display, Great Vibes (script), Lora. All values are HTML-escaped automatically.
Automate it
Run it from Make, Zapier, n8n or the Apify API. For example, when a student finishes a course in your LMS, add a row and generate the certificate automatically. The pdfUrl in the output can be emailed directly.
FAQ
My Google Sheet link doesn't work. Set sharing to Anyone with the link can view. You can also use File β Share β Publish to web β CSV.
Can I use a different name column? Yes, set Name column (e.g. full_name).
Can each person get a different course or date? Yes. Add a column and reference it with {{column}}.
Is my data stored? Only in your own Apify storage for this run, under your account's retention settings.
n8n template
Send every person their certificate by email straight from a Google Sheet: import this ready-made n8n workflow (Workflows β Import from file). It calls this Actor with an HTTP Request node, so no community node is needed.