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.

Studio editing an invoice template, with its HTML on the left and the rendered invoice on the rightStudio editing an invoice template, with its HTML on the left and the rendered invoice on the right
Fig. 1An invoice with a payment QR code. Code on the left, the finished PDF on the right.

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.

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.

FeatureTypefoldjsreportCarboneDocRaptor
TemplatesHTML and HandlebarsHTML, several template languagesWord, Excel or LibreOffice filesNone, you send finished HTML
Renders withIts own engineHeadless ChromeLibreOfficePrince
Template editor with versions✓✓Word or LibreOffice files–
Excel workbook templates✓✓✓Tables only
PDF/APDF/A-2, 3 and 4PDF/A-1b, in betaLibreOffice templates✓
PDF/UA accessible PDFsPDF/UA-1 and 2In betaLibreOffice templates✓
Factur-X and ZUGFeRD e-invoices✓–Enterprise planNot documented
Certificate signatures✓✓Via e-sign services–
Self-hosted option✓✓✓–
.NET, Python and Node.js clients✓.NET and Node.jsPython 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.

invoice.ts
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",
  },
});
invoice.pdf 200 OK · application/pdf
Linden Office SupplyINVOICE

No. INV-2041

Bill 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/ month

Build templates and try the API.

  • Studio and the API
  • Free test renders
  • PDF and Excel output
Start building

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
Read the install guide

Render your first PDF today.

Start building