Introduction
Rustpad is a self-hosted collaborative text editor that lets multiple users edit the same document in real time. Built with Rust on the backend and React on the frontend, it uses operational transformation (OT) to resolve concurrent edits. Rustpad is designed as a lightweight, no-account-needed alternative to services like Google Docs for quick collaborative text editing.
What Rustpad Does
- Enables real-time collaborative text editing with multiple simultaneous users
- Uses operational transformation to merge concurrent changes without conflicts
- Supports both plain text and Markdown editing modes with syntax highlighting
- Generates unique shareable URLs for each document with no sign-up required
- Persists documents in memory with optional filesystem or database storage
Architecture Overview
Rustpad uses an Actix Web server written in Rust that manages document state and synchronization via WebSockets. The OT algorithm runs server-side to resolve concurrent edits deterministically. The frontend is a React application using the Monaco editor (the same editor that powers VS Code). Documents are stored in memory by default, with optional persistence to disk.
Self-Hosting & Configuration
- Deploy via Docker with a single command and no external dependencies
- Access any document by navigating to a unique URL path
- Configure persistence by setting the RUSTPAD_EXPIRY environment variable
- Place behind a reverse proxy with WebSocket support for HTTPS access
- Set the port and host binding through environment variables
Key Features
- Zero-friction collaboration with no accounts or sign-up required
- Operational transformation ensures consistent document state across all editors
- Monaco editor provides syntax highlighting for multiple languages
- Lightweight Rust backend with minimal memory and CPU footprint
- WebSocket-based sync delivers low-latency real-time updates
Comparison with Similar Tools
- Etherpad — mature pad-style editor with plugins; Rustpad is lighter with a modern code editor interface
- HedgeDoc — Markdown-focused with preview; Rustpad offers a code-editor experience with OT sync
- Google Docs — hosted with accounts; Rustpad is self-hosted and requires no login
- CryptPad — encrypted collaborative suite; Rustpad focuses on simplicity without encryption overhead
FAQ
Q: Are documents persistent? A: By default, documents are stored in memory and lost on restart. Set the RUSTPAD_EXPIRY variable and mount a volume for persistence.
Q: How many concurrent users can edit a document? A: Rustpad handles dozens of concurrent editors per document. Performance depends on server resources and network latency.
Q: Does it support rich text formatting? A: Rustpad supports plain text and Markdown with syntax highlighting. It does not provide WYSIWYG rich text editing.
Q: Is there end-to-end encryption? A: No. Rustpad transmits text in plaintext over WebSockets. Use HTTPS via a reverse proxy for transport encryption.