Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

PDF Mail Merge (Bulk Certificates & Letters)

Your PDF design plus a spreadsheet: one certificate, letter or badge per person.

PDF No upload Free to try, no sign-up Business tool Business pass from ₹249

Template PDF

No template to hand?

List of people

Next steps

About the PDF Mail Merge (Bulk Certificates & Letters)

Turn one PDF design and a list of people into a personalised PDF for each of them: course and award certificates, event badges, invitations, offer or admission letters, or pre-filled forms. Open your template — a certificate designed in Canva, Word or InDesign and saved as PDF, or a fillable PDF form — then open or paste your list from Excel, Google Sheets or a CSV file, and say where each column goes: into the form’s own fields, or into text boxes you place on the page with the font, size, colour and alignment you choose. Long names shrink to fit their box.

Preview any row before you start and check one file exactly, then download one PDF per row in a ZIP — named from a column, such as “Asha Verma.pdf” — or one combined PDF ready to print, with a bookmark for each person. Everything runs in your browser: the template and the list never leave your device.

How to use it

  1. Choose your template PDF — or press Try the sample to see the tool work with a sample certificate and list.
  2. Open your list (CSV, TSV, Excel or OpenDocument) or paste rows copied from a spreadsheet. The first row should hold the column names, such as Name, Course and Date.
  3. If the template has form fields, choose the column for each field (fields named like a column are matched for you). Otherwise press Add text box, drag it to where the name goes and type {{Name}}, or pick the column from Insert column. Choose the font, size, colour and alignment, and keep Shrink to fit on so long names stay inside the box.
  4. Step through a few rows in the preview — the longest name especially — and press This row as PDF to check one file exactly as it will be made.
  5. Choose One PDF per row (ZIP) with a file-name pattern such as {{Name}} certificate, or One combined PDF, whose bookmarks are titled the same way, then press Make PDFs and download the result.

Examples

Course completion certificates
Input
Template: certificate.pdf (A4 landscape) · List: Name, Course, Date (120 rows) · Boxes: {{Name}} in Great Vibes 48 pt, {{Course}} in Times Bold 20 pt, {{Date}} in Helvetica 12 pt
Result
A ZIP with 120 PDFs named “Asha Verma.pdf”, “Liam O’Brien.pdf” …

A name that is too wide for its box, such as “Dr. Konstantinos Papadopoulos-Weber”, is drawn smaller (down to the smallest size you allow) instead of running off the design.

Pre-filled forms
Input
A fillable form with fields full_name, email and course · A list with the columns Full Name, Email and Course
Result
Each field is matched to the column with the same name. Keep the fields fillable so each person can complete the rest, or flatten them so the values can’t be changed.
Personal letters
Input
A box with “Wrap onto several lines” on and the text: Dear {{Name:first}}, thank you for joining {{Course}} on {{Date}}. …
Result
One letter per row; the paragraph wraps inside the box and is made smaller if a row’s text is too long for it.
Name badges for printing
Input
200 names on a badge-sized template · One combined PDF
Result
One 200-page PDF with a bookmark per person. The template’s logo and fonts are stored once, so the file stays small. Print several badges per sheet with [Pages per Sheet](/tools/pdf-pages-per-sheet/).

Common uses

  • Schools, colleges and training centres issuing participation, merit or completion certificates to a whole class or batch.
  • Event organisers making name badges, entry passes and invitations from a registration sheet.
  • HR teams preparing offer, appointment or experience letters from their own letterhead for several people at once.
  • Offices pre-filling a fillable PDF form (name, ID, department) for every employee or member before sending it out.

Placeholders you can use

Write column names between double braces anywhere in a text box, a form field’s custom text or the file-name pattern. Names match without regard to case, spaces, hyphens or underscores, so {{first_name}} finds “First Name”.

  • {{Name}} — the row’s value
  • {{Name|Participant}} — “Participant” when the cell is empty
  • {{Name:upper}}, :lower, :title, :trim, :first — capitals, small letters, Title Case, extra spaces removed, or only the first word
  • {{#}} — the row number (1, 2, 3 …), handy for certificate numbers such as CERT-{{#}}
  • \{{ — writes a literal “{{”

So that every column can be named, a column called # is listed as No., and braces or | in a column name become brackets and /.

Form fields or text boxes?

If your template is a fillable PDF form, mapping columns to its fields is the most precise: the values go exactly where the form’s author intended, with the form’s own text size and alignment. Check boxes are ticked by cells that say yes, true, 1 or x; radio buttons and drop-down lists take the option’s name. Signature, button and read-only fields are left as they are in each PDF, so an empty signature field can still be signed (one combined PDF flattens them with the rest). Any other PDF — a certificate exported from Canva or Word, a scanned letterhead — gets text boxes: draw one where each value should appear. You can combine both on the same template.

How “Shrink to fit” works

Each box has a font size and a smallest size. For every row the text is laid out at the full size first; when it is wider (or, with wrapping, taller) than the box, the largest size that fits is used instead, to a tenth of a point — never below the smallest size. With Wrap onto several lines on, a smaller size is preferred to splitting a word. Rows whose text still doesn’t fit are listed when the files are ready, with the row and box number, so you can widen the box or allow a smaller size.

One PDF per row, or one combined PDF?

One PDF per row gives each person their own file to e-mail, named from your pattern; form fields can stay fillable. The ZIP stores the PDFs as they are (they are already compressed).

One combined PDF puts every row’s pages in one file for printing or for review, with a bookmark per row, titled from the same pattern as the file names. The template’s pages are stored once and shared by every row — only the names and values are added per page — so 300 certificates from a 2 MB design make a file of roughly 2 MB, not 600 MB. Form fields in a combined PDF are always flattened.

Fonts and characters

Helvetica, Times and Courier are the PDF standard fonts: nothing is embedded and every PDF reader has them, but they only cover Western European letters. Noto Sans also covers ₹, Central European letters (Ł, ő, ș), Greek, Cyrillic and Vietnamese. Montserrat, Poppins, Great Vibes, Dancing Script, Caveat and Bebas Neue (all under the SIL Open Font License) cover Western and Central European letters and ₹; Poppins lacks a few rarer ones, such as the Maltese ħ and the Esperanto ĉ. Embedded fonts are reduced to the characters actually used.

Before any file is made, every row is checked against the glyphs the chosen font really has: a name it can’t show is listed with its row number and a font that can show it, instead of coming out as empty boxes. Invisible characters that come with text copied from Word or web pages (soft hyphens, zero-width joiners, direction marks) are dropped, and non-breaking hyphens and special spaces are drawn as ordinary hyphens and spaces.

Limitations

  • Hindi, Marathi, Tamil, Bengali and other Indian scripts, and Arabic and Hebrew, can’t be drawn yet: they need text shaping (joined letters, vowel signs, right-to-left order), which this PDF writer doesn’t do. Rows with such text are reported before anything is made.
  • Up to 10,000 rows per run, and a ZIP of up to 2 GB (if a run would make more, you are told after the first file, with a row range that fits). The finished files stay in your browser’s memory until you download them, so very large runs need a computer with plenty of memory; split the list if the browser struggles.
  • Text boxes hold text only — no per-row photos, signatures or QR codes.
  • Password-protected or restricted templates must be unlocked first with Unlock PDF. Form JavaScript is never run, so calculated fields aren’t updated, and dynamic XFA forms can’t be filled.
  • The combined PDF keeps the template’s web links, but not its comments or links to other pages. Digital signatures in a template become invalid once it is changed — sign the finished files instead.
  • The files are only downloaded, never sent: e-mail them with your own e-mail program.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

Is my list or my template uploaded?

No. The template is read, filled and saved by your browser, and the list is read on your device. Nothing is sent to MySmartCoPilot or anyone else; the only downloads are this page’s own code, its PDF engine and the font files a text box uses, all from this site.

How do I make certificates from an Excel sheet?

Open your certificate design as a PDF, then open the Excel file (or paste the rows). Press Add text box, drag the box over the blank line for the name, type {{Name}} and choose a font such as Great Vibes. Preview a few rows, choose One PDF per row (ZIP) and press Make PDFs.

Can it fill a fillable PDF form for every row?

Yes. When the template has form fields, each one gets a list of your columns (fields named like a column are matched automatically). Text fields take the cell’s text, check boxes are ticked by yes, true, 1 or x, and radio buttons and drop-down lists take the option’s name. Choose Keep fillable to leave the other fields open for the recipient, or Flatten to fix the values.

What happens when a name is too long for the box?

With Shrink to fit on (the default), that row’s text is drawn at the largest size that fits the box, down to the smallest size you set. If it still doesn’t fit, it is drawn at the smallest size and the row is listed after the run so you can fix the box.

How are the files in the ZIP named?

From the file-name pattern, for example {{Name}} gives “Asha Verma.pdf” and {{Name}} - {{Course}} gives “Asha Verma - Data Science Basics.pdf”. Characters that aren’t allowed in file names are replaced, an empty name becomes “row-12.pdf”, and repeated names get “(2)”, “(3)”.

Can I print several badges or labels on one sheet?

Make One combined PDF with a badge-sized template, then put several pages on each sheet with Pages per Sheet.

How are dates from an Excel sheet written?

As the sheet formats them, for example 14-10-2026 for a column formatted dd-mm-yyyy. Cells in Excel’s default short-date format, which Excel shows differently in each country, are written as 12 October 2026 so they can’t be misread. To get another style, give the column a custom date format in Excel, or type the dates as text.

Why does it say a character can’t be shown?

Each font covers a set of characters. Helvetica, Times and Courier have no ₹ or Ł, for example; choose Noto Sans for those. The message names the row and the character (invisible ones by their code, such as U+00AD) and suggests a font that has it. Indian scripts such as Devanagari can’t be drawn by any font here yet, because they need text shaping.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.