@office-kit/pptx
@office-kit/pptx is a TypeScript library for reading, editing, and writing PowerPoint (.pptx) files in Node and the browser. MIT licensed, no native modules, single ESM bundle.
Visit office-kit/pptxOverview
Office Kit's @office-kit/pptx is a TypeScript library for reading, editing, and writing .pptx presentation files. It runs in Node.js and the browser from a single ESM bundle, and preserves unknown parts like SmartArt and OLE objects on round-trip. The library validates output with Open XML SDK and ECMA-376 schemas.
Key Features
- Read, edit, and write .pptx files in Node.js and the browser from a single ESM bundle.
- Preserves unknown parts such as SmartArt, OLE objects, video, and vendor extensions on round-trip.
- Validates output against Open XML SDK's OpenXmlValidator and ECMA-376 schemas in CI.
- Supports all 16 ECMA-376 chart plot types, shapes, tables, pictures, text, and review features.
- Tree-shakeable free-function API with side-effect-free exports; only one runtime dependency (fflate).
Use Cases
- Filling a designer-made .pptx template with data via token replacement or placeholder editing.
- Editing an existing presentation from Keynote, Google Slides, or other apps and saving it back.
- Auditing a deck: listing layouts, finding hyperlinks, or checking for empty titles.
- Creating slides with AI using Claude Code or Codex through TSX authoring and live preview.
Getting Started
- Install with npm install @office-kit/pptx. To edit a template, load the file with loadPresentation, modify it, and save with savePresentation. For AI-assisted authoring, run npx --yes @office-kit/pptx-dev@latest init my-slides to create a project with a live preview; Node.js
Deployment & Requirements
- The library runs in Node.js and modern browsers with no native modules. The AI authoring workflow requires Node.js 22.18 or later and Git alongside Claude Code.
Before You Adopt
- License: MIT. Review its terms before using, modifying, or distributing the project.