Skip to content

Harbour-Enterprises/SuperDoc


SuperDoc (online demo) is an open source document editor bringing Microsoft Word capabilities to the web with real-time collaboration, extensive formatting options, and easy integration. Self-hostable with Vanilla JS, React, Vue, and more (code examples).

πŸ–ΌοΈ Screenshot

✨ Features

  • πŸ“ Microsoft Word compatible: View and edit DOCX documents with great import/export, advanced formatting, comments, and tracked changes
  • πŸ› οΈ Easy to integrate: Open source, can be self-hosted, seamlessly integrates with React, Vue, vanilla JavaScript, and more
  • πŸ‘₯ Real-time collaboration: Features multiplayer editing, live updates, commenting, sharing, and revision history
  • πŸ“ Extensible architecture: Modular design makes it easy to extend, brand, and customize
  • βœ… Dual licensed: Available under AGPLv3 for community use and Commercial license for enterprise deployments

πŸ’‘ Quick start

Installation

npm install @harbour-enterprises/superdoc

Or install with CDN

<link rel="stylesheet" href="https://unpkg.com/@harbour-enterprises/superdoc/dist/style.css" />
<script type="module" src="https://unpkg.com/@harbour-enterprises/superdoc/dist/superdoc.umd.js"></script>

Basic usage

import '@harbour-enterprises/superdoc/style.css';
import { SuperDoc } from '@harbour-enterprises/superdoc';

// For CDN use - `SuperDocLibrary.SuperDoc`
const superdoc = new SuperDoc({
  selector: '#superdoc',
  toolbar: '#superdoc-toolbar',
  document: '/sample.docx', // URL, File or document config
  documentMode: 'editing',
  pagination: true,
  rulers: true,
  onReady: (event) => {
    console.log('SuperDoc is ready', event);
  },
  onEditorCreate: (event) => {
    console.log('Editor is created', event);
  },
});

For a list of all available properties and events, see the documentation or refer to SuperDoc.js

πŸ“– Documentation

Visit our documentation site and code examples. Key topics include:

  • Installation
  • Integration guides
  • Collaboration setup
  • Advanced customization
  • Best practices

🀝 Contribute

We love contributions! Here's how you can help:

  1. Check our issue tracker for open issues
  2. Fork the repository and create a feature/bugfix branch
  3. Write clear, documented code following our style guidelines
  4. Submit a PR with detailed description of your changes

See our Contributing Guide for more details.

πŸ’¬ Community

πŸ“„ License

πŸ™Œ Shout-outs

πŸ“± Contact


Created and actively maintained by Harbour and the SuperDoc community