PDF document creation is stuck in the past, from clunky Word docs to complex LaTeX to outdated tools. htmldocs brings document generation into 2025 with a modern developer experience using React, TypeScript, and Tailwind.
To see htmldocs in action, hereβs a simple example of a dynamic invoice template:
Creating multiple invoices is as simple as passing different customer information through props. Hereβs how you can generate a new invoice by updating the customer details:
Use the CLI tool to quickly set up htmldocs in your project with minimal configuration.
Integrate htmldocs step-by-step into your existing TypeScript project.
htmldocs comes with a set of standardized components that makes it easy to build documents.
The root wrapper component representing a document.
A single page within a document.
Add custom content to the top of your document pages.
Add vertical space between document pages.
Position content in the margins of printed pages.
Add page numbers and custom footers to your documents.