Zurück zum Ranking

gitbrent/PptxGenJS

TypeScriptgitbrent.github.io/PptxGenJS/

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

powerpointpowerpoint-generationpowerpoint-libraryjavascript-powerpointnode-powerpointhtml-to-powerpointreact-powerpointtypescript-powerpointes6-powerpointpowerpoint-presentationspptxjavascript
Sterne-Wachstum
Sterne
5.9k
Forks
930
Wochenwachstum
Issues
223
2k4k
Aug. 2016Nov. 2019März 2023Juli 2026
Artefaktenpmnpm install pptxgenjs
README

PptxGenJS

PptxGenJS Sample Slides

jsdelivr downloads NPM Downloads GitHub Repo stars GitHub License TypeScript defs

🚀 Features

PptxGenJS lets you generate professional PowerPoint presentations in JavaScript - directly from Node, React, Vite, Electron, or even the browser. The library outputs standards-compliant Open Office XML (OOXML) files compatible with:

  • ✅ Microsoft PowerPoint
  • ✅ Apple Keynote
  • ✅ LibreOffice Impress
  • ✅ Google Slides (via import)

Design custom slides, charts, images, tables, and templates programmatically - no PowerPoint install or license required.

Works Everywhere

  • Supports every major modern browser - desktop and mobile
  • Seamlessly integrates with Node.js, React, Angular, Vite, and Electron
  • Compatible with PowerPoint, Keynote, LibreOffice, and other OOXML apps
  • Create all major slide objects: text, tables, shapes, images, charts, and more
  • Define custom Slide Masters for consistent academic or corporate branding
  • Supports SVGs, animated GIFs, YouTube embeds, RTL text, and Asian fonts

Simple & Powerful

  • Ridiculously easy to use - create a presentation in 4 lines of code
  • Full TypeScript definitions for autocomplete and inline documentation
  • Includes 75+ demo slides covering every feature and usage pattern

Export Your Way

  • Instantly download .pptx files from the browser with proper MIME handling
  • Export as base64, Blob, Buffer, or Node stream
  • Supports compression and advanced output options for production use

HTML to PowerPoint Magic

🌐 Live Demos

Try PptxGenJS right in your browser - no setup required.

Perfect for testing compatibility or learning by example - all demos run 100% in the browser.

📦 Installation

Choose your preferred method to install PptxGenJS:

Quick Install (Node-based)

npm install pptxgenjs
yarn add pptxgenjs

CDN (Browser Usage)

Use the bundled or minified version via jsDelivr:

<script src="https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs/dist/pptxgen.bundle.js"></script>

Includes the sole dependency (JSZip) in one file.

📁 Advanced: Separate Files, Direct Download

Download from GitHub: Latest Release

<script src="PptxGenJS/libs/jszip.min.js"></script>
<script src="PptxGenJS/dist/pptxgen.min.js"></script>

🚀 Universal Compatibility

PptxGenJS works seamlessly in modern web and Node environments, thanks to dual ESM and CJS builds and zero runtime dependencies. Whether you're building a CLI tool, an Electron app, or a web-based presentation builder, the library adapts automatically to your stack.

Supported Platforms

  • Node.js – generate presentations in backend scripts, APIs, or CLI tools
  • React / Angular / Vite / Webpack – just import and go, no config required
  • Electron – build native apps with full filesystem access and PowerPoint output
  • Browser (Vanilla JS) – embed in web apps with direct download support
  • Serverless / Edge Functions – use in AWS Lambda, Vercel, Cloudflare Workers, etc.

Vite, Webpack, and modern bundlers automatically select the right build via the exports field in package.json.

Builds Provided

📖 Documentation

Quick Start Guide

PptxGenJS PowerPoint presentations are created via JavaScript by following 4 basic steps:

Angular/React, ES6, TypeScript

import pptxgen from "pptxgenjs";

// 1. Create a new Presentation
let pres = new pptxgen();

// 2. Add a Slide
let slide = pres.addSlide();

// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide
let textboxText = "Hello World from PptxGenJS!";
let textboxOpts = { x: 1, y: 1, color: "363636" };
slide.addText(textboxText, textboxOpts);

// 4. Save the Presentation
pres.writeFile();

Script/Web Browser

// 1. Create a new Presentation
let pres = new PptxGenJS();

// 2. Add a Slide
let slide = pres.addSlide();

// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide
let textboxText = "Hello World from PptxGenJS!";
let textboxOpts = { x: 1, y: 1, color: "363636" };
slide.addText(textboxText, textboxOpts);

// 4. Save the Presentation
pres.writeFile();

That's really all there is to it!

💥 HTML-to-PowerPoint Magic

Convert any HTML <table> into fully formatted PowerPoint slides - automatically and effortlessly.

let pptx = new pptxgen();
pptx.tableToSlides("tableElementId");
pptx.writeFile({ fileName: "html2pptx-demo.pptx" });

Perfect for transforming:

  • Dynamic dashboards and data reports
  • Exportable grids in web apps
  • Tabular content from CMS or BI tools

View Full Docs & Live Demo

📚 Full Documentation

Complete API reference, tutorials, and integration guides are available on the official docs site: https://gitbrent.github.io/PptxGenJS

🛠️ Issues / Suggestions

Please file issues or suggestions on the issues page on github, or even better, submit a pull request. Feedback is always welcome!

When reporting issues, please include a code snippet or a link demonstrating the problem. Here is a small jsFiddle that is already configured and uses the latest PptxGenJS code.

🆘 Need Help?

Sometimes implementing a new library can be a difficult task and the slightest mistake will keep something from working. We've all been there!

If you are having issues getting a presentation to generate, check out the code in the demos directory. There are demos for browser, node and, react that contain working examples of every available library feature.

🙏 Contributors

Thank you to everyone for the contributions and suggestions! ❤️

Special Thanks:

PowerPoint shape definitions and some XML code via Officegen Project

🌟 Support the Open Source Community

If you find this library useful, consider contributing to open-source projects, or sharing your knowledge on the open social web. Together, we can build free tools and resources that empower everyone.

@gitbrent@fosstodon.org

📜 License

Copyright © 2015-present Brent Ely

MIT

Ähnliche Repositories
hugohe3/ppt-master

AI turns documents or topics into real, native PowerPoint decks—with native shapes, transitions and animations, data-backed charts and tables on demand, audio narration from speaker notes, and support for your own .pptx templates. · by Hugo He

PythonPyPIMIT Licenseai-agentpowerpoint
hugohe3.github.io/ppt-master/
40.4k3.4k
pipipi-pikachu/PPTist

PowerPoint-ist(/'pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing for the editing and presentation of PPT online. It also supports AIPPT and local PPTX file preview.

VueGNU Affero General Public License v3.0pptslide
pipipi-pikachu.github.io/PPTist/
9.2k1.8k
QuivrHQ/MegaParse

File Parser optimised for LLM Ingestion with no loss 🧠 Parse PDFs, Docx, PPTx in a format that is ideal for LLMs.

PythonPyPIApache License 2.0docxllm
megaparse.com
7.4k419
unidoc/unioffice

Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents

GoGo ModulesOthergogolang
unidoc.io/unioffice/
4.9k505
ningzimu/codex-ppt-skill

GPT-Image-2 PPT Generator Skill for Creating Image-Based PowerPoint Presentations in Codex and Other Skill-Compatible Agents

PythonPyPIMIT Licenseagent-skillsclaude-code
ppt-skill.ningzimu.vip
4k186
open-xml-templating/docxtemplater

Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents), from Node.js or the browser. Demo: https://www.docxtemplater.com/demo. #docx #office #generator #templating #report #json #generate #generation #template #create #pptx #docx #xlsx #react #vuejs #angularjs #browser #typescript #image #html #table #chart

JavaScriptnpmOtherdocxjavascript
docxtemplater.com
3.6k383
apache/poi

Mirror of Apache POI gitbox. The Java API for Microsoft Documents.

JavaMavenpoicontent
poi.apache.org
2.3k840
ningzimu/image-to-editable-ppt-skill

Codex skill for converting slide images, PDFs, and image-based PPTX files into editable PowerPoint decks.

PythonPyPIMIT Licensecodexcodex-skill
ppt-skill.ningzimu.vip
1.4k76
PHPOffice/PHPPresentation

A pure PHP library for reading and writing presentations documents

PHPPackagistOtherphplibreoffice-impress
phpoffice.github.io/PHPPresentation
1.4k543
wzpan/BeamerStyleSlides

🌈Beamer风格的幻灯片模板集。包含了PowerPoint和Keynote两套格式。

TeXMIT Licensebeamerpowerpoint
hahack.com/BeamerStyleSlides/
1.3k173
NyxTides/ppt-image-first

PPT image-first skill for Codex/Claude Code/Opencode CLI

PythonPyPIApache License 2.0officepowerpoint
1.2k89
baotlake/office-website

Web Office: Local-First & Private. Professional-grade Word, Excel, and PowerPoint editing powered by WebAssembly. Zero data uploads, 100% client-side for uncompromising privacy. 🛡️ 纯本地浏览器 Office,数据零上传,隐私安全。⚡️ Wasm 採用、ローカル完結で究極のプライバシー。🚀 Полная приватность: Wasm-офис без загрузки данных.

TypeScriptnpmGNU Affero General Public License v3.0docxoffice
office.ziziyi.com
1.2k144