gitbrent

PptxGenJS: Generate PowerPoint Presentations with JavaScript

PptxGenJS creates editable PowerPoint files from JavaScript or TypeScript, for use in Node.js and browser-based applications. It suits developers who need to generate slides, charts, tables, and other presentation content in code.

Stars
6.2k
Forks
959
Stars, last 15 days
+62

Our take

Health score

27/100

How it is scored
Activity
20
Community
44
Issues
21
Pull requests
21

+62 stars in the last 15 days

Overview

PptxGenJS is a JavaScript and TypeScript library for creating PowerPoint presentations programmatically. It produces OOXML .pptx files, so developers can generate slides without requiring PowerPoint to be installed.

It is useful when presentations need to be created as part of an application, report, or automated workflow rather than assembled manually. The library supports Node.js and browser environments, including integrations with React and other modern web stacks.

Key Features

  • Add text, shapes, images, tables, charts, and media to slides.
  • Create reusable slide masters for consistent branding and layouts.
  • Generate output for PowerPoint, Keynote, LibreOffice Impress, and Google Slides import.
  • Run in Node.js or modern browsers, with CommonJS and ES module builds.
  • Export presentations as files, browser downloads, base64, Blob, Buffer, or Node streams.
  • Convert HTML tables into formatted PowerPoint slides.
  • Use TypeScript definitions and example demos to explore the API.

Use Cases

  • Generate recurring business or academic reports from application data.
  • Add presentation export to a web product or dashboard, useful when users need offline slides.
  • Create branded presentations from templates with reusable master layouts.
  • Turn web-based tables or data grids into slides for sharing and meetings.
  • Automate slide creation in Node.js scripts, APIs, or serverless functions.

Getting Started

Install the package with npm:

npm install pptxgenjs

See the README and official documentation for examples and API details.

Considerations

  • The library generates presentation files from code; it is not a visual slide editor.
  • Output compatibility depends on the application used to open the generated OOXML files. The project lists PowerPoint, Keynote, and LibreOffice Impress as compatible, and Google Slides via import.
  • The README recommends using its demos when troubleshooting and asks users to include a code example when reporting issues.
  • The repository is not archived and was last pushed on 2025-11-28, based on the provided repository data.

Found this useful?

Share it with someone who would like PptxGenJS.