CertiBatch is a portable Windows desktop app for generating personalized certificates and diplomas in bulk.
You load an image template (PNG/JPG), load a multi-document YAML file with recipient data, draw text (or photo) areas on a preview canvas, assign YAML keys to text areas, optionally link a folder of portrait photos, and export one high-resolution certificate per record.
No installer. One self-contained .exe. Designed for designers who need to ship batches of certificates without repeating the same manual work twenty or thirty times.
As a designer, batch certificate work is a common pain: same layout, different names, IDs, and dates — often 20 or 30 files for a single event or course.
Doing that by hand in Photoshop, Illustrator, or Canva means:
- opening the same file again and again
- swapping text fields carefully
- exporting and renaming each file
- hoping nothing drifts out of alignment
It works, but it is slow and mentally draining. CertiBatch was built to accelerate that workflow: place the boxes once, map them to YAML keys (and photos by ID), and generate the full batch in one run.
Times below assume a finished certificate design and a ready list of recipients. They are realistic designer estimates, not lab benchmarks.
| Scenario | Manual (Photoshop / Illustrator / Canva) | With CertiBatch |
|---|---|---|
| 20 certificates | ~45–90 minutes (edit → export → rename × 20) | ~5–10 minutes (load template + YAML, place boxes once, export) |
| 30 certificates | ~70–120 minutes | ~6–12 minutes |
| Extra batch, same layout | Almost the same time again | ~1–3 minutes (new YAML, same boxes if you keep the session) |
For larger lists, the gap grows: manual cost scales roughly with every certificate; CertiBatch cost stays close to “one setup + one export.”
- Load PNG / JPG / JPEG certificate templates (horizontal or vertical)
- Automatic orientation detection with pixel size
- Load multi-document YAML (records separated by
---) - Dynamic YAML key discovery for field assignment
- Interactive canvas editor:
- click-and-drag to draw boxes
- move / resize / delete
- per-box Type: Text or Image
- Zoom the preview with Ctrl + mouse wheel (export coordinates stay correct)
- Text options: font size, alignment, color
- Photo folder: match each record’s photo by a YAML key (e.g.
dni→100025226.jpg) - Missing photos are skipped safely (certificate still exports without that image)
- Bulk export with progress bar
- Coordinate and font-size scaling from preview → original resolution
- Theme: Automatic (system) / Light / Dark — toggle under the app title
- Portable single-file Windows
win-x64executable
- Load template — choose your certificate design image.
- Load YAML — one document per recipient.
- (Optional) Photos — choose a folder of portraits and a match key (
dni,cc,id, …). - Draw areas — boxes for name, ID, date, photo, etc. Use Ctrl + mouse wheel to zoom the preview if needed.
- Configure each box — Type = Text (assign YAML key + style) or Image (uses the photo folder).
- Create reproduction — pick an output folder; one PNG per YAML record.
- Deliver — filenames prefer the first YAML key value when possible.
Template + YAML (+ photos folder)
↓
place text / image boxes
↓
scale preview → real pixels
↓
render text + matched photos
↓
PNGs in output folder
Boxes are drawn on the on-screen preview. On export, position, size, and font size are scaled to the original image pixels.
Each YAML document (separated by ---) is one certificate. Missing text keys render as empty strings without stopping the batch.
- Select a folder containing portrait files.
- Choose a match key from the YAML (ideally a unique numeric ID such as
dni). - Name each file
{value}.{jpg|jpeg|png}— e.g.100025226.jpg. - Draw an Image box on the template. At export time, CertiBatch looks up the match-key value for that record and places the photo (cover / center-crop) inside the box.
- If a file is missing or unreadable, that certificate is generated without the photo; the rest of the batch continues.
Under the CertiBatch title: a short label and an icon button cycle Automatic → Light → Dark. Automatic follows Windows app theme. Preference is saved in %AppData%\CertiBatch\settings.json.
- Windows 10/11 (x64)
- Download the portable
.exefrom Releases — no installer and no .NET runtime install required
Accepts horizontal and vertical images (PNG, JPG, JPEG). Orientation is detected automatically.
Multi-document YAML (.yaml / .yml). Each document is one certificate; documents are separated by ---.
Rules:
- Flat key/value mapping per document.
- Key names are flexible (
nombre,dni,fecha, …). - Missing keys on a record leave text empty; export continues.
- For photos, pick one unique key as the filename (prefer numeric IDs).
Example:
---
nombre: Nombre1 Nombre2 Apellido1 Apellido2
dni: 100025225
fecha: 2025-08-10
---
nombre: Juan Carlos Pérez
dni: 100025226
fecha: 2025-08-11
---
nombre: María Fernanda López
dni: 100025227
fecha: 2025-08-12With match key dni, place files like 100025225.jpg, 100025226.jpg, 100025227.png in the photos folder.
- .NET 10 / WPF
- YamlDotNet — YAML parsing
- WPF imaging (
DrawingVisual/RenderTargetBitmap) — text and photo rendering