Make your first batch.

Start with an image and a list. This guide takes you through the details that turn them into certificates.

PDFs are made on your device. Sheets import and Gmail delivery use the API.

Follow along with your own design.
Take time for a preview

00 / Preparation

What you'll need

A design, a list, and room to place the details.

Desktop browser

Use a desktop for the field editor. Mobile is useful for returning to a prepared batch.

Certificate template

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

Participant data

A recipient list in a CSV or public Google Sheet. Include emails for Gmail delivery.

Know where the data goes

PDF generation is local. Public Sheets are read through the API; Gmail delivery relays messages and attachments through it to Google.

One thing to watch for

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

From inputs to finished files.

Set the layout once. Review it before making the batch.

1

Upload

Your certificate template (PNG/JPG)

Check the image
2

Import

Participant list (CSV or Google Sheets)

One recipient per row
3

Customize

Drag fields to the right positions

Preview short and long names
4

Generate

One PDF per imported row

Depends on your device
5

Send

Download ZIP or email directly

Gmail quotas apply
Timing: Depends on your design, device, and row count. Gmail quotas also affect delivery.
1

Choose what stays on the page.

The image holds the fixed parts: logo, border, title, and signatures. Leave room for the fields that change.

How it works

Use your preferred design tool. Keep the recipient name and any changing date or role out of the background image.

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

The image must be under 5 MB. Check the exported file size before importing.

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
Check the image preview before continuing.

What happens next

Check the image preview, then bring in the rows that will fill the blank areas.

2

Bring the people into the batch.

One row becomes one certificate. Review the names, remove unwanted rows, and check that each column has the details you need.

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.

For Sheets, use a public URL. The API reads the sheet when you import or refresh it.

Forms responses can feed a linked Sheet. Refresh your Certly import yourself after reviewing new responses.

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

Check the import preview. Then place the columns you want printed, such as name, date, or role.

3

Give each detail its place.

Choose the columns that belong on the certificate. Place and style them once, then check both short and long names.

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

Happy with the preview? Generate the batch using this image and field layout.

4

Make the collection.

Each row meets the same layout. Your device creates the PDFs and saves them with the local batch.

Generating Certificates
Local processing
42/50
Processing Alex Morgan...Illustrative progress
50 certificates ready

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

Local PDF generation. Public Sheets import and Gmail delivery use the API.

How it works

Select "Generate" after checking the layout preview.

The fields pull their values from each row while the background image stays the same.

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

Rendering time depends on the device, template size, and number of rows, not on Gmail delivery speed.

💡 Pro tip

Keep the tab open until rendering finishes. The saved batch lets you return later, but closing the tab can interrupt active work.

What happens next

Review the completed batch, then choose ZIP download or continue to Gmail delivery.

5

Download or send

Take the files with you, or pair each PDF with an email. Downloading does not remove the local batch.

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

You can download now and email later while the local session remains available. Saved sessions expire after 7 days.

What happens next

For email, connect Gmail next. For files, download the ZIP and share it using your usual tools.

Delivery / Authorization

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

06 / Delivery

Step 6: Send Emails

Write the note that accompanies the certificate. Preview the message and attachment before starting delivery.

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

Congratulations! 🎉
Thank you for participating.
Personalization: On
Sending Progress
Via Gmail
47/50
Illustrative delivery progress
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
Gmail quotas apply to sending, not certificate generation. Follow Google’s guidance if a quota error appears.
What happens next
The email includes a PDF attachment. A successful send status does not guarantee inbox placement; recipients may need to check spam.

Reference / Local data

Managing Local Data

The batch is saved in this browser. Sheets import and Gmail delivery share data through the API.

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)
Local generation
PDFs are rendered locally. The API reads public Sheets on import and relays email content to Google when you send.

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.

07 / Reference

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?

Check that anyone with the link can view the sheet, confirm its URL, and include a name column. Email is needed only for Gmail delivery. Export a CSV if the sheet should stay private.

Template too large?

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

Email sending interrupted?

Keep the tab open, check your connection, and review failed rows before retrying. If Google reports a quota limit, follow its guidance rather than repeatedly retrying.

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.

Which steps use the internet?

PDFs are generated on your device. The API reads public Google Sheets during import and relays messages and attachments to Gmail when you send.

Do I have to export a CSV?

No. You can import a publicly viewable Google Sheet by URL. Use a CSV instead if you do not want to make your sheet public.

Where should I set up the layout?

Use a desktop for placing and styling fields. The smaller mobile screen is better for returning to an already prepared batch.

What am I giving Google permission to do?

Connecting Google grants Certly send-only Gmail access for delivery from your account. You sign in on Google, not in a Certly password form.

What if I want files, not emails?

Choose the ZIP download after generation. Gmail is optional; share the PDFs however you normally share files.

Does generating a batch guarantee every email can be sent?

No. Gmail applies its own account quotas, separate from certificate generation. Review the sending status and any Google errors before retrying.

My design is a PDF. Can I use it?

Export it as a PNG or JPG first. Certly uses an image background and creates PDF files from the finished layout.

Can I leave while the batch is sending?

Keep the tab open and connected until sending stops. Refreshing or closing it can interrupt the queue.

How do I clear a batch?

Open Your local data in the tool or email header. Session settings also lets you remove a batch or clear all locally saved data.

Can I pick this up later?

Return in the same browser and continue the saved session when prompted. Sessions expire after 7 days, and clearing browser storage removes them sooner.

Are the PDFs still here after downloading?

Yes. Downloading leaves the local batch in place so you can download again or make corrections before starting another batch.

Put the guide into practice.

Open the workspace with your design and a few test rows.

Certly guide — from the first import to the finished batch.