The free, open-source WordPress certificate plugin and builder

WP Certificates is a universal, white-label certificate engine for WordPress. Design any certificate with a live visual builder, then issue verifiable PDF certificates manually, on Tutor LMS course completion, or after a WooCommerce purchase. No baked template, no lock-in, no paid tier.

  • Free
  • Open source
  • MIT
  • No lock-in

What is WP Certificates?

WP Certificates is a free, open-source WordPress plugin that turns your site into a complete certificate engine. It auto-detects your brand, lets you design any certificate in a live visual builder, and issues verifiable PDF and PNG certificates - on demand, on Tutor LMS course completion, or after a WooCommerce order. It runs standalone or alongside your LMS or store, with no external services and no premium upsell.

The problem

Certificates should not be locked behind a paywall

Free LMS plugins, notably Tutor LMS, and most WooCommerce course or workshop setups have no built-in certificate engine, or they lock certificate design behind a paid tier. Site owners are forced to either pay for a pro LMS add-on, hand-make certificates in Canva and email them one by one, or hard-code a single baked template that only fits one brand.

There has been no free, open-source, design-flexible, brand-agnostic certificate tool that works standalone and with an LMS and with WooCommerce. WP Certificates fixes that with one free plugin that auto-detects your site identity, lets you design any certificate with no lock-in, and issues verifiable PDF certificates manually, on Tutor LMS completion, or after a WooCommerce purchase.

Features

Everything you need to design, issue, and verify

A complete, production-ready feature set in version 1.0.0 - all shipping, all open source.

Live visual builder

Form controls with a real-time, server-rendered preview. Reliable in pure PHP and GD, with no fragile drag-drop canvas.

No baked template

A fully dynamic canvas: solid, gradient, or background image with opacity, a double border, and your logo. Build any look you want.

Auto site identity

Brand name, logo, issuer, admin email, and an auto-derived certificate ID prefix are detected from your site. All overridable.

Layered text elements

Eyebrow, title, subtitle, recipient name, body, date, and ID lines, each with independent font, size, color, position, and alignment.

Auto text-fit

Long recipient names and titles shrink automatically to fit their box, and body copy wraps to a clean maximum width.

Merge placeholders

Tokens like {recipient_name}, {course}, {date}, and {certificate_id}, plus a wpcert_tokens filter for custom merge codes.

Signature blocks

Up to three signature blocks, each with an optional signature image, name, title, and adjustable horizontal position.

Verification QR code

A scannable QR with a white backing prints in any corner and links straight to the public verification page.

Issuing and triggers

Manual issue for anyone, issue for a WP user and course, auto-issue on Tutor LMS completion, and on WooCommerce orders.

PDF and PNG delivery

Print-ready PDF in A4 or US Letter, landscape or portrait, via a dependency-free JPEG-to-PDF writer, plus a PNG image.

Auto-email delivery

Send the certificate as a PDF, PNG, or both. Subject, heading, body, and accent are all fully customizable.

Public verification

A verify shortcode and an instant verify-by-code page, plus revoke and restore so revoked certificates show as invalid.

Custom fonts and Unicode

Upload your own .ttf or .otf fonts, including Unicode and right-to-left scripts, for true brand-matched typography.

Full white-label

No plugin branding on certificates or emails by default. An optional small "Powered by" credit is strictly opt-in.

Developer hooks

Filters and actions like wpcert_tokens, wpcert_render_data, wpcert_email_args, and wpcert_certificate_issued for full control.

How it works

From design to verified certificate in four steps

  1. 1

    Design with the live builder

    Set your canvas, borders, logo, text elements, signatures, and QR. Watch a real-time preview update as you go.

  2. 2

    Set your trigger or issue manually

    Issue to anyone by hand, or auto-issue on Tutor LMS course completion or WooCommerce order completion.

  3. 3

    Recipients get a verifiable PDF

    A print-ready PDF and PNG are generated and can be emailed automatically, each carrying a unique code.

  4. 4

    Anyone can verify by ID or QR

    The verification page confirms whether a certificate is valid, revoked, or not found, with the full record.

The builder

A live visual builder, not a baked template

WP Certificates renders your certificate on the server in real time as you adjust form controls. There is no single hard-coded layout to fight against. Paint a solid color, a vertical, horizontal, or diagonal gradient, or a full background image with opacity, then stack a double border and your logo on top.

Every text element is independent. Position each one by percentage, choose its font, size, color, alignment, line-height, letter-spacing, and uppercase transform. Long recipient names and titles auto-fit by shrinking to their box, while body copy wraps to a clean maximum width - so a certificate always looks right, whatever the name.

  • Solid, gradient, or image backgrounds with opacity
  • Double border with color, width, inset, and inner line
  • Auto text-fit shrink loop for any name length
  • Up to three signature blocks and a placeable QR
Integrations

Works standalone or with your stack

WP Certificates runs on its own, and connects to the tools you already use.

Verification

Every certificate is independently verifiable

Each issued certificate carries a unique, human-readable code such as ACME-0042-AB12 and an optional QR code. The QR and the email link point to a public verification page, which you place with the [wpcert_verify] shortcode or reach through the built-in verify-by-code URL.

The verification result shows a clear status of Valid, Revoked, or Not found, along with the recipient, course, certificate ID, issue date, and issuer. Revoke a certificate at any time and it immediately reads as revoked for anyone who checks it, then restore it just as easily.

  • Unique code plus a sequential, zero-padded number
  • Public verify page via shortcode or instant URL
  • Revoke and restore with status shown on verification
Developer friendly

Merge tags and filter hooks built in

Drop merge tags into any text element, then extend behavior with documented filters and actions.

Merge placeholders

{recipient_name} {course} {date} {certificate_id} {sequential_id} {issuer} {brand} {grade}

Add your own merge codes with the wpcert_tokens filter.

Filters and actions

wpcert_tokens wpcert_render_data wpcert_render_after wpcert_email_args wpcert_email_tokens wpcert_cert_code wpcert_id_prefix wpcert_qr_endpoint wpcert_qr_png_path wpcert_certificate_issued wpcert_status_changed

No Composer, no external PDF library, no paid service required.

Roadmap

Planned after version 1.0

These items are planned for future releases and are not yet shipping.

  • Bulk CSV issuing with duplicate detection
  • Expiry dates, auto-expire, and reminder emails
  • Social sharing and LinkedIn "Add to Profile"
  • REST API for full CRUD
  • Analytics dashboard for issued, verified, and viewed
  • True drag-and-drop JS builder
  • LearnDash, LifterLMS, and Sensei adapters
  • Open Badges export
  • Webhooks and Zapier support
FAQ

Frequently asked questions

Is WP Certificates really free and open source?

Yes. WP Certificates is completely free and licensed under the MIT license. There is no paid tier, no premium unlock, and no feature gating. Every capability, including the live builder, verification, and the Tutor LMS and WooCommerce triggers, ships in the one open-source plugin.

Do I need a learning management system to use it?

No. WP Certificates is fully standalone. You can issue a certificate to anyone manually, with no account required for the recipient. An LMS or WooCommerce is optional and only used if you want automatic issuing on course completion or purchase.

Does it work with Tutor LMS and WooCommerce?

Yes. WP Certificates can auto-issue a certificate when a student completes a Tutor LMS course, and when a WooCommerce order is completed for any product or a specific product-ID allowlist. It also includes a Tutor backfill tool to issue certificates to past students.

How does certificate verification work?

Every certificate has a unique human-readable code and an optional QR code printed on it. The QR and email link point to a public verification page. Anyone can verify a certificate by ID or QR and see whether it is Valid, Revoked, or Not found, along with the recipient, course, issue date, and issuer.

Can I use my own design and fonts?

Yes. There is no baked template. You design the full canvas with backgrounds, borders, a logo, layered text elements, signatures, and a QR using a live visual builder. You can upload your own .ttf or .otf fonts, including Unicode and right-to-left scripts, and the plugin auto-detects your brand name and logo to start.

Does it require any paid library or external service?

No. PDFs are generated by a dependency-free JPEG-to-PDF writer with no Composer package and no external PDF library, so it works on any host with GD. The QR code uses a cached image endpoint by default and is fully overridable with the wpcert_qr_png_path filter for offline or bundled generation.

What does WP Certificates need to run?

It requires WordPress 5.8 or newer, PHP 7.4 or newer, and the GD image library with FreeType. It is internationalization ready with the wp-certificates text domain and a translation template in the languages folder.

Start issuing verifiable certificates today

Free, open source, and yours to extend. Clone the repo and ship certificates this afternoon.