Skip to content

superdoc-dev/superdoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,389 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A JavaScript library that renders and edits DOCX files in the browser, headless on the server, and within agentic workflows.
Tracked changes, complex tables, headers/footers, real-time collaboration — the features your users actually need.
Self-hosted. Open source. Works with React, Vue, and vanilla JS.

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.

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.
  • Extensible — 60+ built-in extensions. Write custom plugins with full ProseMirror access.
  • 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

Browse all examples

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

  • Discord — Chat with the team and other contributors
  • Email — Reach the team directly

License

Acknowledgments

Built on ProseMirror, Yjs, JSZip, and Vite.

Community Contributors

Special thanks to these community members who have contributed code to SuperDoc:

financialvice luciorubeens Dannyhvv henriquedevelops ybrodsky icaroharry asumaran J-Michalek

Want to see your avatar here? Check the Contributing Guide to get started.


Created and maintained by Harbour and the SuperDoc community