Introduction
Browser-based WYSIWYG PPTX editor for React and Vue 3, built on the ECMA-376 standard.
Embed a presentation editor in your React or Vue application. Open .pptx bytes, edit slides, and save the presentation in the browser.
Use the packaged editor first. Compose its parts when you need custom controls or a different layout. Use the Editing API for server automation.
Install an editor
Install an adapter and the engine:
npm install @pptx-editor.dev/react @pptx-editor.dev/corenpm install @pptx-editor.dev/vue @pptx-editor.dev/coreRender the editor in a container with a height:
import { PptxEditor } from '@pptx-editor.dev/react';
import '@pptx-editor.dev/core/styles/editor.css';
export default function App({ bytes }: { bytes: Uint8Array }) {
return (
<div style={{ height: '100vh' }}>
<PptxEditor document={bytes} mode="edit" />
</div>
);
}<script setup lang="ts">
import { PptxEditor } from '@pptx-editor.dev/vue';
import '@pptx-editor.dev/core/styles/editor.css';
defineProps<{ bytes: Uint8Array }>();
</script>
<template>
<div style="height: 100vh">
<PptxEditor :document="bytes" mode="edit" />
</div>
</template>To open and save files, continue with the quickstart.
Check packages and licenses
| Package | Purpose | License |
|---|---|---|
@pptx-editor.dev/react | React adapter: PptxEditor, its parts, and hooks | Apache 2.0 |
@pptx-editor.dev/vue | Vue 3 adapter: PptxEditor, its parts, and composables | Apache 2.0 |
@pptx-editor.dev/core | Framework-independent engine: open, cascade, layout, paint, save, and the editor facade | Apache 2.0 |
@pptx-editor.dev/i18n | Shared interface strings | Apache 2.0 |
@pptx-editor.dev/editor-api | Presentation automation with an Office.js-shaped API | EigenPal Pro License |
@pptx-editor.dev/pro | Review, real-time collaboration, and advanced drawing effects as editor modules | EigenPal Pro License |
@pptx-editor.dev/pptx-to-pdf | PPTX to PDF on Node.js with the editor's own layout | EigenPal Pro License |
All packages release together with one version. The packages that use the EigenPal Pro License permit evaluation. Production use requires a commercial agreement; see each package's LICENSE.md.
Find a task guide
| Task | Guide |
|---|---|
| Check feature support and round-trip behavior | PPTX fidelity |
| Change controls, colors, menus, and dialogs | Customization |
| Supply your own fonts | Fonts |
| Translate the interface | Language |
| Set up Vite or Next.js | Vite, Vite with Vue, Next.js |
| Use the React adapter | @pptx-editor.dev/react |
| Use the Vue adapter | @pptx-editor.dev/vue |
| Automate presentation edits | Editing API |
| Add comments or collaboration | Pro |
| Convert a presentation to PDF | PDF export |
| Insert and edit tables | Tables |
| Prepare the host page, and check keyboard and screen reader support | Accessibility |
Next steps
- Quickstart: open, edit, and save a
.pptx. - Installation: check requirements, styles, and bundler setup.