gitbrent/PptxGenJS

Build PowerPoint presentations with JavaScript. Works with Node, React, web browsers, and more.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 18 minutes ago
Added to GitGenius on September 10th, 2026
Created on February 23rd, 2016
Open Issues & Pull Requests: 296 (+0)
GitHub issues: Enabled
Number of forks: 954
Total Stargazers: 6,149 (+0)
Total Subscribers: 76 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.8 days
Mean response time: 142.7 days
90th percentile: 347.1 days
Tracked items: 78

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 1% of issues opened in the past year have been closed. Three people close 77% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 76
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 767 days
Stale 30+ days: 68
Stale 90+ days: 31

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 2

Top labels

  • triage:needs-investigation (12)
  • help-wanted (7)
  • issue:bug (7)
  • enhancement (4)
  • triage:question (3)
  • enhancement-shape (2)
  • feature:auto-paging tables (2)
  • issue:integration (2)

Detailed Description

PptxGenJS is a JavaScript library that generates PowerPoint presentations programmatically without requiring Microsoft Office or a license.

The library solves the problem of creating presentations dynamically by building standards-compliant Open Office XML files directly from code. It works across Node.js, React, Vite, Electron, and web browsers, outputting PPTX files compatible with PowerPoint, Keynote, LibreOffice Impress, and Google Slides. Developers can define slides, charts, images, tables, shapes, and custom slide masters through a JavaScript API, then export the result as a downloadable file, base64 string, Blob, Buffer, or Node stream. The library includes a distinctive HTML-to-PowerPoint feature that converts HTML tables into slides with a single function call.

Adopt this tool if you need to generate presentations from code without manual PowerPoint work or server-side Office installations. It suits applications that build reports, dashboards, or templated presentations on demand, as well as browser-based presentation builders. The library handles SVGs, animated GIFs, YouTube embeds, RTL text, and Asian fonts. TypeScript definitions provide full autocomplete and inline documentation, and the project includes 75 demo slides covering every feature.

The project maintains active development with regular updates addressing user requests and edge cases. The codebase shows consistent attention to cross-platform compatibility, with dual ESM and CJS builds and zero runtime dependencies beyond JSZip. Documentation is comprehensive, including live browser-based demos that require no setup, and the library prioritizes ease of use alongside feature completeness, allowing presentations to be created in just four lines of code.