{"name":"PptxGenJS: Generate PowerPoint Presentations with JavaScript","description":"PptxGenJS is a powerful JavaScript library that enables developers to programmatically create professional PowerPoint presentations. It supports various environments, including Node.js, React, and web browsers, offering a comprehensive set of features for designing custom slides, charts, tables, and more. This library simplifies the process of generating .pptx files without requiring a PowerPoint installation.","github":"https://github.com/gitbrent/PptxGenJS","url":"https://osrepos.com/repo/gitbrent-pptxgenjs","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/gitbrent-pptxgenjs","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/gitbrent-pptxgenjs.md","json":"https://osrepos.com/repo/gitbrent-pptxgenjs.json","topics":["pptxgenjs","powerpoint-generation","javascript","typescript","presentation-library","web-development","node.js","react"],"keywords":["pptxgenjs","powerpoint-generation","javascript","typescript","presentation-library","web-development","node.js","react"],"stars":null,"summary":"PptxGenJS is a powerful JavaScript library that enables developers to programmatically create professional PowerPoint presentations. It supports various environments, including Node.js, React, and web browsers, offering a comprehensive set of features for designing custom slides, charts, tables, and more. This library simplifies the process of generating .pptx files without requiring a PowerPoint installation.","content":"## Introduction\n\nPptxGenJS is a robust JavaScript library that empowers developers to programmatically create professional PowerPoint presentations. Compatible with Node.js, React, Angular, Vite, Electron, and web browsers, this tool eliminates the need for a PowerPoint installation or license. With PptxGenJS, you can design custom slides, charts, images, tables, and templates, generating standards-compliant Open Office XML (OOXML) files that are compatible with Microsoft PowerPoint, Apple Keynote, LibreOffice Impress, and Google Slides. The library also offers full TypeScript support, ensuring an enhanced development experience with autocomplete and inline documentation.\n\n## Installation\n\nTo get started with PptxGenJS, choose your preferred installation method:\n\n### Quick Install (Node-based)\n\nbash\nnpm install pptxgenjs\n\n\nbash\nyarn add pptxgenjs\n\n\n### CDN (Browser Usage)\n\nUse the bundled or minified version via jsDelivr:\n\nhtml\n<script src=\"https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs/dist/pptxgen.bundle.js\"></script>\n\n\n## Examples\n\nCreating presentations with PptxGenJS is a straightforward four-step process.\n\n### Angular/React, ES6, TypeScript\n\ntypescript\nimport pptxgen from \"pptxgenjs\";\n\n// 1. Create a new Presentation\nlet pres = new pptxgen();\n\n// 2. Add a Slide\nlet slide = pres.addSlide();\n\n// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide\nlet textboxText = \"Hello World from PptxGenJS!\";\nlet textboxOpts = { x: 1, y: 1, color: \"363636\" };\nslide.addText(textboxText, textboxOpts);\n\n// 4. Save the Presentation\npres.writeFile();\n\n\n### Script/Web Browser\n\njavascript\n// 1. Create a new Presentation\nlet pres = new PptxGenJS();\n\n// 2. Add a Slide\nlet slide = pres.addSlide();\n\n// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide\nlet textboxText = \"Hello World from PptxGenJS!\";\nlet textboxOpts = { x: 1, y: 1, color: \"363636\" };\nslide.addText(textboxText, textboxOpts);\n\n// 4. Save the Presentation\npres.writeFile();\n\n\n### HTML to PowerPoint Magic\n\nOne of the most powerful features is the ability to convert any HTML `<table>` into fully formatted PowerPoint slides with a single line of code:\n\njavascript\nlet pptx = new pptxgen();\npptx.tableToSlides(\"tableElementId\");\npptx.writeFile({ fileName: \"html2pptx-demo.pptx\" });\n\n\n## Why Use PptxGenJS\n\nPptxGenJS stands out for its versatility and comprehensive feature set:\n\n*   **Works Everywhere**: Supports all major modern browsers, Node.js, React, Angular, Vite, Electron, and even serverless functions.\n*   **Full-Featured**: Create all major slide objects, including text, tables, shapes, images, charts, and more. Define custom Slide Masters for consistent branding and support SVGs, animated GIFs, YouTube embeds, RTL text, and Asian fonts.\n*   **Simple & Powerful**: Ridiculously easy to use, allowing you to create a presentation in just a few lines of code. It includes full TypeScript definitions for autocomplete and inline documentation, plus over 75 demo slides.\n*   **Flexible Export**: Instantly download `.pptx` files from the browser or export as base64, Blob, Buffer, or Node stream.\n*   **HTML to PowerPoint Conversion**: Effortlessly transform dynamic HTML tables, data reports, and tabular content into PowerPoint slides.\n\n## Links\n\nExplore more about PptxGenJS through the following resources:\n\n*   [Official Documentation](https://gitbrent.github.io/PptxGenJS)\n*   [Live Demos - Basic Slide](https://gitbrent.github.io/PptxGenJS/demos/)\n*   [Live Demos - Full Feature Showcase](https://gitbrent.github.io/PptxGenJS/demo/browser/index.html)\n*   [GitHub Repository](https://github.com/gitbrent/PptxGenJS)\n*   [GitHub Issues Page](https://github.com/gitbrent/PptxGenJS/issues/new)\n*   [StackOverflow Questions](https://stackoverflow.com/questions/tagged/pptxgenjs?sort=votes&pageSize=50)","metrics":{"detailViews":17,"githubClicks":10},"dates":{"published":null,"modified":"2026-05-25T11:32:06.000Z"}}