April 12, 2026 · 5 min read
Introducing NextReport Engine
If you have ever wrestled with JasperReports XML files, fought FastReport’s designer on Linux, or tried to generate a PDF from a legacy tool inside a container — you know the pain. Reporting engines were designed for a different era: thick clients, Windows desktops, and Java applets. The web moved on. Reporting tooling did not.
NextReport Engine is our answer: a modern, open-source, schema-driven reporting engine built for the web from day one.
What shipped in v0.1.0
The first release includes everything you need to design, render, and integrate reports:
- Visual Designer — A drag-and-drop canvas for building report templates in the browser. No desktop software required.
- Headless API — Generate reports programmatically via a clean TypeScript API. Feed it a schema and data, get back HTML or PDF.
- Expression Engine — Bind data fields, computed values, and conditional logic directly inside report definitions.
- HTML + PDF Rendering — Two rendering backends ship out of the box. HTML for previews and web embedding, PDF for print and export.
- 346 tests across 8 packages — Every module is tested. The CI pipeline runs on every commit.
Schema as contract
At the heart of NextReport is a JSON-based report definition. Instead of opaque binary formats or sprawling XML, your report template is a plain JSON document validated by Zod schemas. This means:
- Version control works naturally — diffs are readable, merges are predictable.
- Type safety comes free — TypeScript types are inferred directly from the schema.
- AI agents can generate reports — JSON is the native output format of LLM function calling.
The schema is the contract between the designer, the developer, and the rendering engine. Everyone speaks the same language.
Get started
Try the Playground to see the designer in action, or check the Quick Start guide to integrate NextReport into your project in under five minutes. The engine is published on npm as @nextreport/engine-core.
We are building this in the open. Star the repo on GitHub, file issues, and tell us what reporting pain points you want solved next.