Design any document. Send it from your app today.
Invoices, reports, tickets and certificates as PDF or real Excel files, with PDF/A, PDF/UA and e-invoices built in. Design them in Studio, send them with one API call.








Everything a business document needs.
Studio to build and publish templates, an API for the app that sends them, and the features business documents need already built in.
- Preview with real dataSee the finished file, in any language, before anyone gets it.
- Publish when it's readyEdit drafts freely. Your app only gets the version you publish.
- Undo anythingEvery save is kept. Compare two versions and restore either one.
- Standards checkOne click checks PDF/A and PDF/UA and shows what a screen reader will miss.
- Real Excel workbooksDesign the sheet in Excel. Formats, formulas and charts stay.
- E-invoicesFactur-X and ZUGFeRD invoices, the hybrid format France and Germany use.
- Signed and protectedSign with your own certificate, or lock a file with a password.
- PDF/A and PDF/UAPDF/A-2, 3 and 4 for archives. PDF/UA-1 and UA-2 for screen readers.
- QR codes and barcodesPayment, check-in and tracking codes straight from your data.
- Fillable formsPDFs people can type into, sign and send back.
- One template, every languageKeep translations next to the template, not in your code.
- Covers, terms and watermarksBuild them once and add them to any document.
- Batches and webhooksUp to 100 documents per request. We call you when they're ready.
- Every environmentPromote templates from test to production in your normal deploy.
- Your servers or oursSelf-host the same product so documents never leave your network.
- Teams and audit logRoles, invitations, two-factor sign-in and a record of every change.
Faster renders. Smaller files.
Typefold lays out pages with its own engine, compiled to WebAssembly. No browser starts for a document. Here is the same invoice, rendered by Typefold and by headless Chrome on the same server.
- Invoice render speed
- Up to 6×Faster: 24 ms, against 90 to 150 ms in Chrome
- File size
- 4× smaller20 KB, against 77 KB from Chrome
- Memory after 1,000 renders
- 280 MBChrome reusing one page: 1.4 GB, and growing
- 10,000-row Excel workbook
- 2.6 sFormatted, through the API
Same invoice, same server. Chrome speed is with a new page per document; Chrome memory is with one page reused.
How Typefold compares.
The other tools teams use for templates and PDFs, side by side.
| Feature | Typefold | jsreport | Carbone | DocRaptor |
|---|---|---|---|---|
| Templates | HTML and Handlebars | HTML, several template languages | Word, Excel or LibreOffice files | None, you send finished HTML |
| Renders with | Its own engine | Headless Chrome | LibreOffice | Prince |
| Template editor with versions | ✓ | ✓ | Word or LibreOffice files | – |
| Excel workbook templates | ✓ | ✓ | ✓ | Tables only |
| PDF/A | PDF/A-2, 3 and 4 | PDF/A-1b, in beta | LibreOffice templates | ✓ |
| PDF/UA accessible PDFs | PDF/UA-1 and 2 | In beta | LibreOffice templates | ✓ |
| Factur-X and ZUGFeRD e-invoices | ✓ | – | Enterprise plan | Not documented |
| Certificate signatures | ✓ | ✓ | Via e-sign services | – |
| Self-hosted option | ✓ | ✓ | ✓ | – |
| .NET, Python and Node.js clients | ✓ | .NET and Node.js | Python and Node.js | .NET and Python |
Checked in October 2026 against each vendor's own documentation. Coming from jsreport? Import your templates and keep rendering them by name.
One call from your app.
Design it once, preview it with real data, then call it by name with your JSON and get the file back. No browser to run, no HTML to build in your app. Official clients for .NET, Python and Node.js, or plain HTTP. Try it: edit the highlighted values.
const client = new TypefoldClient({ baseUrl, apiKey });
const pdf = await client.renderReport({
template: TemplateRef.byName("Invoice"),
data: {
number: "INV-2041",
customer: "Jane Doe",
total: "1,380.00",
},
});client = TypefoldClient(base_url, api_key)
pdf = client.render_report(
RenderReportRequest(
template=TemplateRef.by_name("Invoice"),
data={
"number": "INV-2041",
"customer": "Jane Doe",
"total": "1,380.00",
},
)
)var client = new TypefoldClient(baseUrl, apiKey);
byte[] pdf = await client.RenderReportAsync(new RenderReportRequest
{
Template = TemplateRef.ByName("Invoice"),
Data = new
{
number = "INV-2041",
customer = "Jane Doe",
total = "1,380.00",
},
});curl $TYPEFOLD_URL/v1/reports/render \
-H "x-api-key: $API_KEY" \
-H "content-type: application/json" \
-d '{
"format": "pdf",
"template": { "name": "Invoice" },
"data": {
"number": "INV-2041",
"customer": "Jane Doe",
"total": "1,380.00"
}
}' -o invoice.pdfBill to
Jane Doe
Total €1,380.00
Pricing
Test renders are free on every plan. You only pay for the documents you send.
Free
$0$0/ month
Build templates and try the API.
- Studio and the API
- Free test renders
- PDF and Excel output
Pro
Coming soon
For apps sending documents to customers. Optional overage past the limit, with a spend cap.
- Everything in Free
- Production renders
- Batches and webhooks
- Signing, PDF/A and PDF/UA
- 99.5% uptime SLA
Self-hosted
Coming soon
The same product on your servers. Documents never leave your network.
- Everything in Pro
- Runs on your own servers
- Teams, roles and audit log