Introduction

Browser-based WYSIWYG DOCX editor for React and Vue 3, with tracked changes, comments, content controls, and custom nodes.

docx-editor is a what-you-see-is-what-you-get (WYSIWYG) DOCX editor for React and Vue 3.

It parses Office Open XML (OOXML), renders paginated pages, and saves the edited state as a DOCX file. Browser editing needs no upload or conversion service.

Packages

PackagePurposeLicense
@docx-editor.dev/reactReact adapter and composition hooksApache 2.0
@docx-editor.dev/vueVue 3 adapter and composablesApache 2.0
@docx-editor.dev/coreFramework-independent OOXML, document, layout, paint, and editor engineApache 2.0
@docx-editor.dev/editor-apiBrowser and server automation through a documented Office.js-compatible subsetEigenPal Pro License
@docx-editor.dev/docx-to-markdownDOCX to Markdown conversion with pages and mediaApache 2.0
@docx-editor.dev/docx-to-pdfDOCX to PDF conversion on Node.jsEigenPal Pro License
@docx-editor.dev/proTracked changes, comments, and custom nodesEigenPal Pro License
@docx-editor.dev/i18nShared interface translationsApache 2.0
@docx-editor.dev/fontsOpen-licensed substitutes for common Word fontsApache-2.0 AND OFL-1.1 AND LicenseRef-GUST-Font-License
@docx-editor.dev/fonts-cjkOptional Chinese, Japanese, and Korean fallback font for PDF conversionApache-2.0 AND OFL-1.1

Compare EigenPal Pro License and support options on the pricing page.

The Nuxt module is a private workspace package. For external applications, follow the Nuxt guide.

Select packages

GoalPackages
Convert DOCX to Markdown@docx-editor.dev/docx-to-markdown and @docx-editor.dev/core
Convert DOCX to PDF on Node.js@docx-editor.dev/docx-to-pdf and @docx-editor.dev/core; add @docx-editor.dev/fonts-cjk for Chinese, Japanese, and Korean text
React editor@docx-editor.dev/react and @docx-editor.dev/core
Vue editor@docx-editor.dev/vue and @docx-editor.dev/core
Tracked changes, comments, or custom nodesAdd @docx-editor.dev/pro
Server-side editing through the documented Office.js-compatible subset@docx-editor.dev/editor-api and @docx-editor.dev/core
Browser automation through the same subsetAdd @docx-editor.dev/editor-api and use its /browser entry

Install the React editor:

npm install @docx-editor.dev/react @docx-editor.dev/core

For Vue, replace @docx-editor.dev/react with @docx-editor.dev/vue.

Document capabilities

AreaExamples
TextFormatting, fonts, theme colors, paragraph styles, and character styles
StructureTables, lists, numbering, footnotes, endnotes, and content controls
Page layoutSections, columns, headers, footers, margins, and pagination
ContentImages, hyperlinks, bookmarks, and fields
ReviewTracked changes and comments with @docx-editor.dev/pro

Support differs by feature and operation. See Word fidelity for editing, rendering, and round-trip status. Use the live demo to test a document.

Find a guide for your task

TaskGuide
Check pagination, table layout, and drawing limitsWord fidelity
Set paragraph direction for Arabic or Hebrew textRight-to-left text
Scroll to and highlight an external paragraph referenceNavigate a document
Configure PDF fonts, including Chinese, Japanese, and Korean fallbackPDF fonts
Configure interface translations, including Spanish@docx-editor.dev/i18n

Document direction, interface language, and font selection have separate settings. Use the corresponding guide to configure each setting.

Round-trip behavior

Saving preserves untouched package content and unsupported OOXML.

ContentBehavior
Modeled document structuresUses typed nodes for layout and editing.
Unsupported or misplaced XMLKeeps generic nodes in the document tree.
Media, fonts, macros, and VBA projectsCopies package payloads through save.
Custom XML and add-in markupPreserves structural content.

For the preservation contract and test method, see Word fidelity. For engine details, see Architecture.

Next steps