Create professional certificates in minutes.

Upload a template, add your participants, drag fields into place, and send.

Everything stays on your device. Your data never leaves your browser.

See how organizers do it in the steps below.

Content freshness: Last updated · First published

5–30 minutes

What you'll need

Three things. That's it.

Desktop browser

Chrome or Safari on Mac/Windows. Mobile works for downloading only.

Certificate template

PNG or JPG file under 5MB. Design in Canva or Figma first.

Participant data

CSV file or Google Sheets URL with names and emails.

Your data stays private

All certificate generation happens in your browser. Templates and participant data never leave your device. No servers involved in the core workflow.

One thing to watch for

PDF templates don't work. Convert them to PNG/JPG first. Canva exports directly as PNG — use that.

Here's how it works

Five simple steps. Most organizers finish in under 10 minutes.

1

Upload

Your certificate template (PNG/JPG)

1–2 min
2

Import

Participant list (CSV or Google Sheets)

1 min
3

Customize

Drag fields to the right positions

2–5 min
4

Generate

50+ certificates in your browser

1–2 min
5

Send

Download ZIP or email directly

2–3 min
Total time: 5–15 minutes
1

Prepare your template

Start with a design file — PNG or JPG. This becomes your certificate background. Everything else gets personalized on top.

How it works

Design in Canva, Figma, or any design tool. Leave some white space where names/dates will go.

Export as PNG or JPG. Most design tools have a direct export option.

Keep file size under 5MB. Canva exports are typically 1–2MB by default.

Use high resolution for crisp printing. 1920×1080 or higher works well.

⚠️ Important

Don't use PDF files. Export your design as PNG or JPG. If you have a PDF, convert it to an image first using any online converter.

Drag your template here
PNG, JPG up to 5MB
or click to browse
Once uploaded:
certificate-design.png
1.8 MB • 1920×1080
✓ Ready to use
Usually takes 1–2 minutes

What happens next

After uploading, you'll see a preview of your template. Next step: add your participant data (names, emails, etc.).

2

Organize your participants

Bring your participant list as CSV or Google Sheets. This data gets personalized into each certificate.

Choose your source:
CSV File
Drag & drop
Google Sheets
Paste URL
Data preview:
NameEmail
Alice Johnsonalice@example.com
Bob Smithbob@example.com
Carol Daviscarol@example.com
50 participants found

How it works

Use CSV: Download your data as a CSV file and drag it in. We'll auto-detect your headers.

Use Google Sheets: Paste a public sheet URL. We'll fetch the latest data each time.

Popular workflow: Google Forms → Sheets → MailMyCertificate. Forms responses auto-populate Sheets.

Required columns: You need at least a name column. Email is optional but recommended for sending.

Extra columns are okay. Only the fields you place in the editor will appear on certificates.

⚠️ Common issue

Google Sheets must be public. Right-click the sheet → Share → Change to "Anyone with the link can view" → Copy the URL and paste it here.

What happens next

After importing, you'll see a preview of your data. Next: drag your name and email fields onto the template to position them exactly where you want them.

3

Customize field placement

Position your name, email, date, and any other fields exactly where you want them on the certificate.

Certificate of Achievement
{name}
1
Select field
2
Drag
{name}
3
Position
Live previewAuto-saved

How it works

Click any field ({name}, {email}, {date}, etc.) to select it.

Drag it to exactly where it should appear on the certificate.

Preview updates in real-time. See exactly how names and dates will look.

Undo/redo works. Press Ctrl+Z (or Cmd+Z) to revert placement mistakes.

Tip

Zoom in/out for precise placement. Use the zoom controls in the editor toolbar to get a closer look at where fields should go.

Only {name} is required. Email, date, and position are optional—just don't place them if you don't need them on your certificate.

What happens next

After positioning fields, you'll generate all certificates at once. We'll take your template and participant data, then create personalized PDFs in your browser.

4

Generate certificates

Click generate and watch all your personalized PDFs appear in seconds — entirely in your browser, completely private.

Generating Certificates
Local processing
42/50
Processing Alice Johnson...~15 seconds remaining
50 certificates ready

All PDFs are stored in your browser. Next: download as ZIP or send by email.

100% Private. No data uploaded. All processing happens here.

How it works

Click the "Generate" button and MailMyCertificate springs into action.

We combine your template with each participant's data (name, email, etc.) to create personalized PDFs.

Processing happens entirely in your browser using Web Workers—no server involvement at all.

Usually takes 10–30 seconds depending on participant count and your internet speed.

💡 Pro tip

You can refresh the page or close your browser. Your progress is saved in local storage and you can resume generation later.

What happens next

Once generation completes, you'll see your certificates ready to download as a ZIP or send via email. Both options are always available.

5

Download or send

Choose your delivery method. You can do both now, or pick one — all certificates remain available for later.

Download ZIP

Manual distribution

All 50 certificates bundled into one ZIP file. Perfect for:

  • Sharing on email manually
  • Uploading to a shared drive
  • Printing & distributing in person
Example:
certificates-2024.zip
50 files • 24.5 MB

Send by Email

Automated delivery

Each participant gets a personalized email with their certificate attached. Perfect for:

  • Large batches (100+ recipients)
  • Personalized messages
  • Tracking delivery
Requires:
Gmail account connected via OAuth

Both always available

Your generated certificates stay available in the browser. Download the ZIP now, email later — or vice versa. Switch between methods anytime.

What happens next

If you're sending by email, the next step is setting up Gmail. If downloading, you're done — grab your ZIP and distribute.

Secure Gmail Integration

Official Google OAuth — no passwords collected

You
Click "Connect Gmail"
Google Login
Official authentication
Permission
"Send emails on your behalf"
Connected
Ready to send certificates
No passwords stored
Official Google OAuth
Temporary authorization

Step 6: Send Emails

Deliver certificates directly to participants' inboxes with personalized messages via Gmail.

Email Composer
Your Certificate - {event}
Hi {name},

Congratulations! 🎉
Thank you for participating.
Personalization: On
Sending Progress
Via Gmail
47/50
~8 seconds remaining
1
Personalize the message
Use {name}, {event}, or other placeholders for dynamic content
2
Enable attachments
Certificates attach automatically; check the preview before sending
3
Monitor delivery
Track each email in real-time—green checkmarks show successful sends
4
Gmail rate limits
Typically ~400 emails per batch; wait a few hours to send more
What happens next
Once sent, certificates land in inboxes within seconds. Participants can download PDFs directly or access them through email links.

Managing Local Data

Everything stays in your browser — templates, participant lists, and certificates are never uploaded.

Local Session Status
Template Image
Saved
Participant Data (CSV)
250 rows
Generated PDFs
250 files
Where to Find Controls
Tool header
Click "Your local data" anytime
/settings page
Full session & data controls
Return visit modal
"Previous session found" prompt
What stays in your browser
Certificate template (PNG/JPG)
Your design image
Participant data (CSV or Sheets)
Names, emails, all rows
Generated certificates (PDFs)
All personalized files
Wizard progress & field positions
Your current step and layout
Actions you can take
Continue this batch
Restore where you left off
Start fresh
Delete current batch, begin new event
Delete everything
Clear all batches (settings page)
Never uploaded
Your data stays on your device. We only touch Gmail API if you choose email delivery.

Auto-expires after 7 days

Old sessions clean up automatically so data doesn't pile up in your browser.

Download doesn't delete

After downloading ZIP, certificates stay saved. Re-download or regenerate anytime.

After email delivery

Optional 60-second prompt to clear session. Keep or remove data as you prefer.

Help & Answers

Solutions and FAQs in one place

Common Issues

Quick solutions for problems you might encounter.

Previous session stuck or confusing?

Open Your local data in the tool header → Continue this batch, or Delete data & start fresh. See the Managing local data section above.

Google Sheet not importing?

Make sheet public, check URL, and ensure required columns (name, email) exist in your spreadsheet.

Template too large?

Compress images, reduce dimensions, or use a smaller file. Maximum template size is 5MB.

Email sending interrupted?

Check your internet connection, avoid refreshing during send, and wait for Gmail API limits to reset (usually 1-2 hours).

Mobile limitations?

Use desktop for editing and field placement. Mobile works fine for downloading certificates after setup.

Frequently Asked Questions

Answers to questions about features, privacy, and limits.

Is my data uploaded to your servers?

No. Certificate generation happens locally in your browser. Participant lists and PDFs stay on your device unless you choose to send email through Gmail.

Can I use Google Sheets instead of CSV?

Yes. Provide a public Google Sheets URL — ideal for Google Forms → Sheets → certificate workflows.

Does this work on mobile devices?

The visual field editor works best on desktop. You can generate and download certificates on mobile after setup.

Why does Google ask for permissions?

MailMyCertificate uses official Google OAuth to send mail from your Gmail account. We never handle your Google password.

Can I only download certificates without email?

Yes. Download all certificates as a ZIP and distribute them manually if you prefer.

How many emails can I send at once?

We recommend about 400 emails per batch for reliability, subject to Gmail API limits and browser performance.

Are PDF templates supported?

Use PNG or JPG templates today. Convert PDF designs to images with any standard export tool.

Why should I avoid refreshing during email sending?

Refreshing mid-send can interrupt delivery. Keep the tab open until sending completes.

How do I delete my certificate data from this browser?

Use Your local data in the tool or email header, or open Session settings to clear a batch or all local data.

What happens when I return to the site later?

You may see a Previous session found prompt. Continue to resume or start a new batch. Sessions older than 7 days expire automatically.

Does downloading the ZIP delete my certificates?

No. Files remain in your browser so you can re-download, verify, or regenerate before starting a new batch.

Ready to create certificates?

Join thousands of organizers generating certificates for events worldwide

Written by Akshat Thakur — developer of MailMyCertificate and organizer of too many hackathons.