Superdoc
🦋️ SuperDoc - modern document editing
Install / Use
/learn @superdoc-dev/SuperdocREADME
Quick start
npm install superdoc
React
npm install @superdoc-dev/react
import { SuperDocEditor } from '@superdoc-dev/react';
import '@superdoc-dev/react/style.css';
function App() {
return (
<SuperDocEditor
document={file}
documentMode="editing"
onReady={() => console.log('Ready!')}
/>
);
}
See the @superdoc-dev/react README for full React documentation.
Vanilla JavaScript
import 'superdoc/style.css';
import { SuperDoc } from 'superdoc';
const superdoc = new SuperDoc({
selector: '#superdoc',
toolbar: '#superdoc-toolbar',
document: '/sample.docx',
documentMode: 'editing',
});
Or use the CDN:
<link rel="stylesheet" href="https://unpkg.com/superdoc/dist/style.css" />
<script type="module" src="https://unpkg.com/superdoc/dist/superdoc.umd.js"></script>
For all available options and events, see the documentation or SuperDoc.js.
Using an AI coding agent?
Set up your project for AI agents and configure the MCP server:
npx @superdoc-dev/create # generates AGENTS.md for your framework
claude mcp add superdoc -- npx @superdoc-dev/mcp # connect agent to DOCX files
Features
- Real DOCX, not rich text — Built on OOXML. Real pagination, section breaks, headers/footers. Not a contenteditable wrapper with export bolted on.
- Self-hosted — Runs entirely in the browser. Your documents never leave your servers.
- Any framework — React, Vue, Angular, Svelte, vanilla JS. One component, zero lock-in.
- Real-time collaboration — Yjs-based CRDT. Multiplayer editing with comments, tracked changes, and automatic conflict resolution.
- Agentic tooling — Runs headless in Node.js. Bring your own LLM for document automation, redlining, and template workflows.
- Dual licensed — AGPLv3 for community use. Commercial license for proprietary deployments.
Examples
Starter projects to get you running quickly:
| Example | | |---------|--| | React | Vue | | Angular | Next.js | | Vanilla JS | CDN | | Comments | Track changes | | Custom toolbar | AI redlining | | Headless AI redlining | |
Documentation
docs.superdoc.dev — installation, integration guides, collaboration setup, API reference, and more.
Roadmap
See the SuperDoc roadmap for what's coming next. DOCX import/export fidelity is always a top priority.
Contributing
Check the issue tracker for open issues, or read the Contributing Guide to get started. Bug reports with reproduction .docx files are especially valuable.
Community
License
- Open source: GNU Affero General Public License v3.0
- Commercial: Enterprise License
Acknowledgments
Built on <a href="https://prosemirror.net" target="_blank">ProseMirror</a>, <a href="https://github.com/yjs/yjs" target="_blank">Yjs</a>, <a href="https://stuk.github.io/jszip/" target="_blank">JSZip</a>, and <a href="https://vite.dev" target="_blank">Vite</a>.
Community Contributors
Special thanks to these community members who have contributed code to SuperDoc:
<a href="https://github.com/financialvice"><img src="https://github.com/financialvice.png" width="50" height="50" alt="financialvice" title="financialvice" /></a> <a href="https://github.com/luciorubeens"><img src="https://github.com/luciorubeens.png" width="50" height="50" alt="luciorubeens" title="Lúcio Caetano" /></a> <a href="https://github.com/Dannyhvv"><img src="https://github.com/Dannyhvv.png" width="50" height="50" alt="Dannyhvv" title="Dannyhvv" /></a> <a href="https://github.com/henriquedevelops"><img src="https://github.com/henriquedevelops.png" width="50" height="50" alt="henriquedevelops" title="henriquedevelops" /></a> <a href="https://github.com/ybrodsky"><img src="https://github.com/ybrodsky.png" width="50" height="50" alt="ybrodsky" title="Yael Brodsky" /></a> <a href="https://github.com/icaroharry"><img src="https://github.com/icaroharry.png" width="50" height="50" alt="icaroharry" title="Ícaro Harry" /></a> <a href="https://github.com/asumaran"><img src="https://github.com/asumaran.png" width="50" height="50" alt="asumaran" title="Alfredo Sumaran" /></a> <a href="https://github.com/J-Michalek"><img src="https://github.com/J-Michalek.png" width="50" height="50" alt="J-Michalek" title="Jakub Michálek" /></a> <a href="https://github.com/gm1357"><img src="https://github.com/gm1357.png" width="50" height="50" alt="gm1357" title="Gabriel Machado" /></a> <a href="https://github.com/roncallyt"><img src="https://github.com/roncallyt.png" width="50" height="50" alt="roncallyt" title="Thomerson Roncally" /></a> <a href="https://github.com/gpardhivvarma"><img src="https://github.com/gpardhivvarma.png" width="50" height="50" alt="gpardhivvarma" title="G Pardhiv Varma" /></a> <a href="https://github.com/lucbic"><img src="https://github.com/lucbic.png" width="50" height="50" alt="lucbic" title="Lucas Bicudo" /></a> <a href="https://github.com/claudiu-ior"><img src="https://github.com/claudiu-ior.png" width="50" height="50" alt="claudiu-ior" title="Claudiu Iorgulescu" /></a> <a href="https://github.com/Branc0"><img src="https://github.com/Branc0.png" width="50" height="50" alt="Branc0" title="Rafael Rocha de Azevedo" /></a> <a href="https://github.com/Muhammad-Nur-Alamsyah-Anwar"><img src="https://github.com/Muhammad-Nur-Alamsyah-Anwar.png" width="50" height="50" alt="Muhammad-Nur-Alamsyah-Anwar" title="Alam" /></a>
Want to see your avatar here? Check the Contributing Guide to get started.
Created and maintained by <a href="https://www.superdoc.dev" target="_blank">Harbour</a> and the SuperDoc community
