finds.dev← search

// the find

pdfme/pdfme

★ 4,406 · TypeScript · MIT · updated Jun 2026

Open-source PDF generation library built with TypeScript and React. Features a WYSIWYG template designer, PDF viewer, and powerful generation capabilities. Create custom PDFs effortlessly in both browser and Node.js environments.

pdfme is a TypeScript library for generating PDFs from JSON templates, with a WYSIWYG designer UI built in React. It runs in both browser and Node.js, stores templates as plain JSON, and targets teams that need repeatable document generation — invoices, certificates, forms — without writing PDF layout code by hand. The plugin system lets you extend it with custom schema types.

The template-as-JSON approach is genuinely useful: templates are diffable, storable in a database, and portable across environments without binary blobs. The plugin architecture is well-designed — you can register custom schema types that integrate cleanly into both the designer UI and the generator. The image snapshot test suite for the generator is thorough and catches rendering regressions across a wide range of real-world templates (Japanese government forms, invoices, certificates). The CLI's `doctor` and `validate` commands before generation catch font and path issues early rather than silently producing a broken PDF.

The library leans heavily on pdf-lib under the hood, which means you inherit its limitations: no SVG support, limited form field types, and no proper color management. Dynamic layouts — text that reflows across pages, tables that grow to fit content — require significant workaround; the template model is fundamentally fixed-position, so anything that needs to flow is painful. The designer depends on Ant Design and several other heavy UI packages, which makes embedding it into an existing React app a dependency conflict waiting to happen. There is also a hosted cloud product pushing against the open-source project, and the README's 'custom features for a fee' section is a yellow flag for long-term open-source sustainability.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →