Sign in

Your generated documents shouldn't need repair.

JSON in. Native PPTX, DOCX, XLSX, and PDF out. The only PPTX library with a flexbox layout engine. No LibreOffice. No Chromium.

[01] What breaks

Most document libraries are fine until the file has to survive real work.

The problems are consistent: files trigger repair dialogs, layouts drift when content gets longer, mainstream JavaScript spreadsheet libraries still cannot create the charts teams expect, and DOCX-to-PDF often means dragging LibreOffice into the stack.

Native office files. Structured JSON. Deterministic generation.

[02] Failure modes

Four problems teams hit first.

These are the points where document generation stops feeling like a utility and starts becoming product infrastructure.

CapabilityWhy it breaksPaperJSX angleGo deeper
Files that need repairOOXML packaging is brittle, and repair-dialog issues stay open across the ecosystem for years.Validation happens before build, with a stronger structural focus on output that opens cleanly.PptxGenJS repair comparison
Layouts that break when data changesMost PPTX libraries still require manual x/y/w/h coordinates that do not adapt when content length changes.Yoga drives PPTX and PDF layout, so elements reflow instead of forcing coordinate-first authoring.PPTX layout comparison
No way to create Excel charts in open-source JavaScriptExcelJS remains strong for workbook manipulation, but chart creation is still missing.XLSX generation includes native OOXML charts in free and expands from there in Pro.ExcelJS chart comparison
LibreOffice in Docker for DOCX to PDFConversion often gets pushed to an external office runtime with operational weight and layout risk.DOCX to PDF stays in JavaScript, using the same document pipeline instead of a separate office process.DOCX to PDF conversion

[04] Same API shape

One payload in. One native office artifact out.

The playground starts with a PPTX example, but the idea is the same across the engines: define the document as structured data and get a native file back.

Request
POST /api/playgroundContent-Type: application/json {"sourceSchema": "protocol_v2","document": {"version": "2.0","title": "Q2 Board Update","accentColor": "#5A7A9B","slides": [{"slideType": "title-body","title": "Q2 Board Update","body": ["Revenue up 34% QoQ","NRR reached 118%"]},{"slideType": "kpi-grid","title": "Key Metrics","items": [{ "label": "ARR", "value": "$2.4M", "trend": "up" },{ "label": "NRR", "value": "118%", "trend": "up" }]}]}}
Response
HTTP/1.1 200 OKContent-Type: application/json {"data": {"pptx": "<base64 native .pptx>","previews": ["<slide-preview>", "..."],"slideCount": 2}}

[05] Four engines

Four formats. One system.

Each engine is format-specific, but the buying idea is the same: structured input, native files out, and fewer post-generation fixes in the workflow.

PPTX

Flexbox layout and editable charts

Built for decks that have to reflow as content changes and still stay editable after handoff.

  • Yoga WASM flexbox layout
  • Knuth-Plass line breaking
  • 6 chart types in free, more in Pro
MITlite package

DOCX

Native DOCX generation without pretending Word is PDF

Built for generated Word files that need structure, templates, and page-aware behavior without collapsing into export hacks.

  • Paragraphs, tables, images, lists
  • Template hydration and HTML to DOCX
  • Pagination and TOC features in Pro
Apache-2.0custom render path

XLSX

Real spreadsheets, not CSV with styling

Built for spreadsheet deliverables that need native charts, formulas, and workbook structure instead of patched exports.

  • 5 native chart types in free
  • Conditional formatting support
  • 16-strategy repair pipeline in Pro
Apache-2.0native OOXML charts

PDF

Native PDF generation with the same discipline

Built for PDFs that need layout discipline, typography, and downstream business features instead of just printing cleanly.

  • Yoga layout and font subsetting
  • AES-128 in free, AES-256 in Pro
  • PDF/A-2a and signature workflows in Pro
Freenative PDF engine

[06] Differentiators

What is materially different here.

This is the shortest honest summary of where PaperJSX diverges from the rest of the category.

CapabilityPaperJSXCompetitors
PPTX layout engineYoga WASM flexboxManual positioning
PPTX line breakingKnuth-Plass in free tierBasic greedy wrapping
XLSX chart creation in open-source JS5 types in freeStill missing in ExcelJS
DOCX pagination engineWidow/orphan and table continuation in ProUsually deferred to Word on open
PDF typographyHarfBuzz WASM in ProLighter OpenType handling
DOCX to PDFPure JavaScriptOften LibreOffice-based
Multi-format MCP serverFirst-party package across 4 formatsUsually single-format or third-party

[07] Built for

Built for recurring report automation, SaaS exports, agent workflows, and replacing LibreOffice.

PaperJSX is strongest when the document itself is part of the product: recurring QBRs, customer-facing exports, governed PDFs, generated spreadsheets with charts, and workflows where agents need to hand back native office files instead of screenshots.

Not for one-off designed decks, real-time collaborative editing, or Google Slides output.

Paste a payload. Download the file.

Prove the workflow in Playground first. Move into the packages once the native file does what your current stack does not.