Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

I replaced JasperReports with JavaScript – and it's 4 faster

Description and use

ReportWright replaced JasperReports, speeding report generation 4–5× and supporting PDF, Excel, Word, PowerPoint, and interactive HTML in a JavaScript environment.

Problem

JasperReports, SSRS, and Crystal Reports require JVM/.NET and paid servers, and do not fit a JavaScript stack.

Outcome

ReportWright is 4–5× faster than JasperReports for grouped reports, 2× faster than QuestPDF for single invoices, and streams a million rows in 53 s with flat memory.

Workflow

  • Install ReportWright packages via npm
  • Define report schema in JSON
  • Provide data sources and datasets
  • Render report with render()
  • Export PDF with exportPdf()
  • Write output to file

Evidence

I benchmarked it on GitHub Actions (4 vCPU) against other engines, checking every output file.

Source

0.91 s vs 3.9 s vs 2.7 s for 10,000 rows

Source

A million rows streams in 53 s with flat memory.

Source

  • Record date: 2026-10-11T11:56:01.816Z