⚠️
@eigenpal/docx-js-editoris deprecated. It has been renamed to@eigenpal/docx-editor-react, with breaking API changes (component renames, a removed prop, new i18n imports), so it is not a drop-in find/replace. This0.xline receives critical fixes only.Install the new package:
npm install @eigenpal/docx-editor-react, then follow the migration guide before upgrading.
Open-source WYSIWYG .docx editor for React with canonical OOXML, tracked changes, and real-time collaboration. Agent-ready. Live demo | Documentation
Quick Start
npm install @eigenpal/docx-js-editor
import { useRef } from 'react';
import { DocxEditor, type DocxEditorRef } from '@eigenpal/docx-js-editor';
import '@eigenpal/docx-js-editor/styles.css';
function Editor({ file }: { file: ArrayBuffer }) {
const editorRef = useRef<DocxEditorRef>(null);
return <DocxEditor ref={editorRef} documentBuffer={file} mode="editing" onChange={() => {}} />;
}
Next.js / SSR: Use dynamic import — the editor requires the DOM.
Packages
| Package | Description |
|---|---|
@eigenpal/docx-js-editor | React UI — toolbar, paged editor, plugins. Install this. |
@eigenpal/docx-editor-vue | Vue.js scaffold — contributions welcome |
Plugins
import { DocxEditor, PluginHost, templatePlugin } from '@eigenpal/docx-js-editor';
<PluginHost plugins={[templatePlugin]}>
<DocxEditor documentBuffer={file} />
</PluginHost>;
See the plugin documentation for the full plugin API.
Development
bun install
bun run dev # localhost:5173
bun run build
bun run typecheck
A live preview of main is auto-deployed at latest.docx-editor.dev — useful for trying out changes before they ship to npm.
Examples: Vite | Next.js | Remix | Astro | Vue
Documentation | Props & Ref Methods | Plugins | Architecture
Contributing
Contributions welcome. See CONTRIBUTING.md for setup, tests, and the one-time CLA signature.
Translations
| Locale | Language | Coverage |
|---|---|---|
en | English | 100% |
de | German | 100% |
pl | Polish | 100% |
pt-BR | Portuguese (Brazil) | 100% |
Help translate the editor into your language! See the full i18n contribution guide.
bun run i18n:new de # scaffold German locale
bun run i18n:status # check translation coverage
Commercial Support
[!TIP] Questions or custom features? Email [email protected].