Stars
Forks
Watchers
Developer links
Carbone
Document-generation code is the worst kind of code in your backlog - Carbone kills it. Its insight is separating design from data - templates are ordinary office documents (DOCX, ODT, XLSX, PPTX, HTML, even custom XML) built in LibreOffice, Microsoft Office, or Google Docs, with mustache-like markers such as {d.companyName} typed directly into the text. Send a template plus JSON from your existing APIs to the HTTP API, and Carbone returns the finished document - exported as-is or converted to PDF, XLSX, CSV, HTML, PNG, EPUB, and more via its integrated LibreOffice converter (Chromium and OnlyOffice engines are also supported for HTML-fidelity and office-format conversions). The template language goes well beyond substitution: loops over arrays render dynamic table rows, filters and aggregations run inside the document, and built-in formatters handle dates, numbers, currencies, timezones, and locales, with custom JavaScript formatters when needed. One template serves multiple languages through translation markers with auto-maintained translation files. The XML-agnostic engine means anything your document editor can design - pagination, headers, footers, nested tables, charts - survives generation intact, and Carbone guarantees no breaking changes in template syntax. Node.js-based, fast via multi-threaded LibreOffice conversion. The invoices, contracts, and reports your product owes its users become template edits, not sprints.
Benefits
- Designers Design, APIs Deliver
- Templates are normal Word or LibreOffice files - non-developers own the layout.
- No More PDF Code
- Invoices, contracts, and reports become template edits instead of rendering libraries.
- Your JSON, Unchanged
- Data structures from existing APIs plug straight into markers - no reshaping layer.
- Future-Proof Templates
- A no-breaking-change guarantee on template syntax protects years of documents.
Features
- Office-Document Templates
- DOCX, ODT, XLSX, PPTX, HTML, and custom XML with {d.} markers in the text.
- Format Conversion
- PDF, CSV, PNG, EPUB, and more via LibreOffice, Chromium, or OnlyOffice engines.
- Loops and Aggregation
- Dynamic table rows, array filtering, and calculations inside the document.
- Data Formatters
- Dates, numbers, currencies, and timezones - extensible with custom JavaScript.
- Multilingual Output
- One template, many languages, with auto-updated translation files.
- HTTP API
- Template upload, render with JSON, and dynamic report naming over REST.