Launched October 27, 2026
quario

quario

Declarative reports for JavaScript, by you or your agent.

SubscriptionAICodeMCP735 impressions#83 of its week5 comments

Comments

>log in to comment
  • Aditya Goel· 9d ago

    Declarative JSON report definitions that an AI agent can draft is a neat angle on report generation. Are early users replacing an existing reporting setup, or building reports for the first time? Search note: I googled "javascript reporting engine pdf excel word from json" (Google, US settings). Page 1 includes jsreport twice, Carbone twice (GitHub and its own site), Stimulsoft, CX Reports, SautinSoft and Hackernoon. quario isn't there yet. I run AI Knows Us, so this kind of search check is what I do.

    • Robin van der Vleuten[maker]· 9d ago

      Thanks Aditya, good question. Honest answer: it's early, so I can't point at a customer list yet. These are the two situations I built it for: 1. Replacing an existing setup. Usually a hand-maintained pdfmake or PDFKit script, or an HTML template pushed through Puppeteer, where every new report means more drawing code and a headless Chrome to run. The definition takes over the layout, and the same file also gives you the Excel and Word export that's usually a separate script. 2. Building reports for the first time, with an agent drafting them. That's where a JSON definition matters most: the model writes data, quario validates it and points at the exact path that's wrong, and nothing the model writes can execute. If you're in either camp, I'd love to hear which one. And thanks for the search check, that's fair. The site is a few months old, so I'm not expecting page 1 for the broad query yet. I've been writing comparison pages for the specific libraries people search for instead (pdfmake, PDFKit, Puppeteer, React-PDF, Gotenberg and a few more), which seemed a more realistic way in than the head term.

  • Robin van der Vleuten[maker]· 22d ago

    Hi DevHunt 👋 I'm Robin, and I build quario on my own from the Netherlands. I kept seeing two ways teams generate invoices and reports: hand-written PDF drawing code, or HTML pushed through headless Chrome. Neither works well once an LLM writes the report. You either run code the model wrote, or let it type numbers. quario makes the report data instead: a JSON definition the model drafts, the engine validates, and your own data fills. The same definition renders to a page, a PDF, an Excel workbook and a Word document. The homepage shows a real agent loop, with two mistakes caught and fixed before anything renders. Happy to answer anything, especially "why not just use pdfmake/Puppeteer?"

    • Fatisco Stack Industries· 2d ago

      One definition rendering to a page, a PDF, an Excel workbook and a Word doc sounds tidy until you hit layout — a flexible page and a grid-based workbook don't naturally agree. How much of the definition is shared across all four, and how much has to be expressed per format?

    • Robin van der Vleuten[maker]· 2d ago

      Good question. The definition is fully shared; nothing in it is per format. What differs is what each target does with a declaration, and that's explicit: every declaration is resolved, approximated or withdrawn per target. For example, column widths are exact in the PDF, but in the workbook the content sizes the column. Spacing and padding exist in PDF and Word, not in a grid. A group break is a new page in the PDF and a new worksheet in Excel. So the promise is the same structure and data, not the same pixels. plan() lists every approximation before you render, and marking a declaration required makes validation fail rather than quietly drop it. Full table: https://getquario.com/docs/reference/support-matrix

quario is a reporting engine for JavaScript. A report is a JSON definition you write by hand or let an agent draft: store it, review it in a pull request, and quario computes every total from your data. Expressions parse into closures, with no eval and no new Function, so a definition can never run code, whoever wrote it. One definition renders to four documents: an HTML page, a PDF without a headless browser, an Excel workbook where numbers stay numbers, and a Word document. It runs in the browser, Node, edge runtimes and workers. Agents get an MCP server (@quario/mcp) and a skill that teaches the loop: declare, validate, render. When a definition is wrong, the model gets the exact problems back and nothing renders until it passes. npm install quario. Free to evaluate with no time limit (output is watermarked). A license covers one production deployment, $199/year while pre-v1. Users, agents and renders are never counted.

More AI tools →74 free dev tools →

Looking for MCP servers to install? MCP servers list: 289 servers by category, official and community →

  • Declarative reports for the agentic age
  • One definition, four document shapes (HTML, PDF, XLSX, DOCX)
  • Runs in browser, Node, edge, and workers
  • Safe by construction – untrusted input handling
  • Render targets are runtime‑neutral, no headless browser needed

quario is a JavaScript reporting engine that renders declarative JSON definitions to HTML, PDF, Excel and Word.

for
Developers building data reports, especially with AI agents or serverless JavaScript runtimes
pricing
freemium
license
Apache-2.0
getquario/skills 0 0JavaScriptupdated a month ago
works withJavaScriptBrowserEdgeWorkers

Key features

6 features of quario
  • Declarative JSON definitions — Write or let an LLM draft a JSON report definition that describes data bindings, aggregates and layout.
  • Safe expression evaluation — Expressions are parsed into closures without eval or new Function, preventing code injection.
  • Four output formats — Render the same definition to HTML, PDF (no headless browser), XLSX and DOCX.
  • Runs everywhere JavaScript runs — Supports browser, Node, Edge runtimes and workers for flexible deployment.
  • Built-in validation loop — Validate definitions, receive exact problem paths, and only render when validation passes.
  • MCP server & skill integration — Expose validate and render functions to LLM agents via the @quario/mcp server and skill.

Use cases

  • Generate invoices or statements from JSON data with automatic totals
  • Integrate report generation into AI-driven chatbots or Slack/Teams bots
  • Schedule nightly financial reports in a serverless worker without a headless browser
  • EvaluateFreeAll features · Watermarked output · No time limit · Community support
  • Deployment$199/deployment per year (pre-vNo watermark · Unlimited users, agents, renders · Dev/staging/CI free · Email support (2-business-day)
  • Deployment (post-v1)$999/deployment per yearAll deployment benefits · Production use without watermark · Updates while licensed

quario FAQ

How do I buy a license?+

Click the Buy a license button, checkout via Stripe, specify the number of deployments, and receive the license key by email within one business day.

What does the Evaluate watermark look like?+

A small footer line reads “Rendered with quario (unlicensed)”; layout and features remain unchanged.

What counts as a deployment?+

One production service, app, bot, worker or MCP server; dev, staging, CI and test environments are free and not counted.

Do I need seats for agents or users?+

No; a single deployment license covers unlimited agents, users and renders.

Is there a usage tier for high-volume renders?+

No; renders are never metered regardless of volume.

What happens if I don’t renew?+

Existing deployments keep working; renewal only adds another year of updates and support.

Edited by the makers, based on getquario.com · Oct 14, 2026. Details may change; check the official site.

Around the web

Articles, videos and discussions