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/core

Render 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>
  );
}

To open and save files, continue with the quickstart.

Check packages and licenses

PackagePurposeLicense
@pptx-editor.dev/reactReact adapter: PptxEditor, its parts, and hooksApache 2.0
@pptx-editor.dev/vueVue 3 adapter: PptxEditor, its parts, and composablesApache 2.0
@pptx-editor.dev/coreFramework-independent engine: open, cascade, layout, paint, save, and the editor facadeApache 2.0
@pptx-editor.dev/i18nShared interface stringsApache 2.0
@pptx-editor.dev/editor-apiPresentation automation with an Office.js-shaped APIEigenPal Pro License
@pptx-editor.dev/proReview, real-time collaboration, and advanced drawing effects as editor modulesEigenPal Pro License
@pptx-editor.dev/pptx-to-pdfPPTX to PDF on Node.js with the editor's own layoutEigenPal 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

TaskGuide
Check feature support and round-trip behaviorPPTX fidelity
Change controls, colors, menus, and dialogsCustomization
Supply your own fontsFonts
Translate the interfaceLanguage
Set up Vite or Next.jsVite, Vite with Vue, Next.js
Use the React adapter@pptx-editor.dev/react
Use the Vue adapter@pptx-editor.dev/vue
Automate presentation editsEditing API
Add comments or collaborationPro
Convert a presentation to PDFPDF export
Insert and edit tablesTables
Prepare the host page, and check keyboard and screen reader supportAccessibility

Next steps