Introduction
Open source WYSIWYG DOCX editor for React and Vue. Runs in the browser: .docx in, .docx out, with tracked changes, comments, and AI tools.
docx-editor is an open-source WYSIWYG DOCX editor for React and Vue. It parses OOXML in the browser, renders paginated pages, and serializes the current document back to .docx. You do not need an upload service or conversion backend for normal browser editing.
Get it running
Install the adapter, import the stylesheet, load a .docx from a file input, and save it back.
Evaluate fidelity
Feature support, round-trip behavior, security model, API stability, and known limits.
Add AI tools
Connect model tool calls to the editor or to server-side DOCX review.
Packages
| Package | What's in it |
|---|---|
@eigenpal/docx-editor-react | React adapter. <DocxEditor> with toolbar, dialogs, hooks (history, find/replace, autosave, clipboard), plugin host. |
@eigenpal/docx-editor-vue | Vue 3 adapter. Same <DocxEditor>, same props and ref methods; hooks become composables. |
@eigenpal/nuxt-docx-editor | Nuxt 3 & 4 module wrapping the Vue adapter. Auto-imports an SSR-safe <DocxEditor>. |
@eigenpal/docx-editor-core | Framework-agnostic core: OOXML parser/serializer, document model, ProseMirror schema, layout engine. |
@eigenpal/docx-editor-agents | Agent toolkit: DocxReviewer (headless), live-editor bridge, AI SDK adapters, MCP server, chat UI. |
@eigenpal/docx-editor-i18n | Locale data for both adapters. Ships en, de, fr, he, hi, pl, pt-BR, tr, zh-CN. |
All packages are Apache 2.0 and released together in a fixed version group.
Which package do I need?
React app. Install -react. It pulls in -core and -i18n.
npm install @eigenpal/docx-editor-reactVue 3 app. Same shape, swap the adapter. On Nuxt, install @eigenpal/nuxt-docx-editor instead.
npm install @eigenpal/docx-editor-vueServer-side parsing or batch review. No UI needed: -core for the document model, -agents for DocxReviewer.
npm install @eigenpal/docx-editor-core @eigenpal/docx-editor-agentsAI on top of an existing editor. Add -agents next to -react or -vue. Use /mcp from the same package when your client already speaks MCP.
What it handles
The editor models common Word constructs and writes them back through OOXML:
- Text formatting, fonts, theme colors, paragraph styles
- Tables (including merged cells and page-spanning rows), lists and numbering
- Headers, footers, sections, page layout
- Tracked changes and suggesting mode, comments with replies
- Images (inline and anchored), hyperlinks, bookmarks, fields
- Footnotes, endnotes, content controls
- Real-time collaboration over Yjs
Feature-by-feature coverage and known limits: Word fidelity. You can also open one of your own documents in the live demo.
Next steps
- Quickstart: load, edit, and save a
.docx - Installation: Next.js, Vite, Remix, Astro, Vue, Nuxt
- Word fidelity: feature support and round-trip behavior
- Examples: runnable starters and live demos