Overview
Discover what makes Etherpad powerful
Etherpad is a lightweight, open‑source real‑time collaborative editor that can be self‑hosted on any web server. From a developer’s perspective, it exposes a RESTful API and WebSocket endpoints that allow programmatic creation, deletion, and manipulation of pads. The core data model is a *pad*—a text document stored as a series of operations (OT, Operational Transformation) that are broadcast to all connected clients. This design gives Etherpad low latency collaboration even when scaled to thousands of concurrent users, as demonstrated by the official *scale.etherpad.org* benchmark suite.
Backend
Data Persistence
Real‑time Engine
Front‑end
Overview
Etherpad is a lightweight, open‑source real‑time collaborative editor that can be self‑hosted on any web server. From a developer’s perspective, it exposes a RESTful API and WebSocket endpoints that allow programmatic creation, deletion, and manipulation of pads. The core data model is a pad—a text document stored as a series of operations (OT, Operational Transformation) that are broadcast to all connected clients. This design gives Etherpad low latency collaboration even when scaled to thousands of concurrent users, as demonstrated by the official scale.etherpad.org benchmark suite.
Architecture & Technical Stack
- Backend: Node.js (currently using the LTS 20.x series) with a custom event‑driven architecture. The server runs in a single process but can be horizontally scaled behind a reverse proxy that shares session state via Redis or memcached.
- Data Persistence: MongoDB is the primary datastore, storing pad contents, user sessions, and plugin metadata. For environments where MongoDB is not desired, a
filebackend can be used for prototyping. - Real‑time Engine: OT (Operational Transformation) is implemented in pure JavaScript and executed on the server. Clients communicate through WebSocket (
/socket.io) for low‑latency updates and a REST API for CRUD operations. - Front‑end: Vanilla JavaScript with jQuery for legacy support, plus a modular CSS system that allows theme overrides. The UI is intentionally minimal to keep bandwidth usage low and improve responsiveness on mobile browsers.
Core Capabilities & APIs
- Pad Management API:
POST /api/1/createPad,GET /api/1/getText?padID=…and similar endpoints enable automated pad lifecycle management. - Real‑time Collaboration: The WebSocket channel exposes
OTmessages (addText,removeText) that can be consumed or replayed by external services. - Export/Import: Pads can be exported to Markdown, HTML, PDF (via headless Chrome), and other formats using the
/api/1/exportendpoint. Import is supported for JSON, HTML, and plain text. - Plugins: A plugin system based on Node.js modules allows developers to hook into events (
padCreated,userJoined) and expose new REST endpoints. The plugin API is documented on the Etherpad wiki and supports both front‑end widgets and back‑end services. - Webhooks: Plugins can emit webhook events to external URLs, enabling integrations with CI/CD pipelines, chatops (Slack, Mattermost), or data pipelines.
Deployment & Infrastructure
Etherpad ships with a fully tested Docker image (etherpad/etherpad:latest) and supports Docker‑Compose out of the box. The container exposes a single port (9001 by default) and mounts two volumes: one for persistent data (/opt/etherpad-lite/src/data) and another for custom plugins (/opt/etherpad-lite/src/plugin_packages). For production, a reverse proxy (NGINX or Traefik) can provide HTTPS termination and sticky sessions. Horizontal scaling is achieved by running multiple instances behind a load balancer, sharing session state via Redis or memcached to keep the OT stream consistent.
Integration & Extensibility
- Plugin Ecosystem: Over 290 community plugins cover features such as Gantt charts, markdown preview, file upload, and authentication via OAuth.
- Authentication: Built‑in support for LDAP, SAML, and custom authentication plugins.
- Custom UI: The skinning system allows developers to override CSS and add custom JavaScript modules, enabling a branded experience without touching the core codebase.
- API Rate Limiting: Developers can configure per‑user or global rate limits through the
settings.jsonfile, ensuring that malicious clients cannot overwhelm the server.
Developer Experience
Etherpad’s documentation is split across a developer‑focused wiki and inline code comments. The community maintains an active Discord channel where developers can ask questions about plugin development or scaling strategies. Continuous integration pipelines (GitHub Actions) run unit tests, load tests, and Docker image builds on every push, providing confidence that custom changes will not break production. The open‑source license (MIT) allows unrestricted commercial use and modification.
Use Cases
- Educational Platforms: Embed Etherpad into LMSs (Moodle, Canvas) to provide live note‑taking during lectures.
- Enterprise Collaboration: Deploy behind a corporate VPN to give teams a lightweight alternative to heavier office suites.
- DevOps Documentation: Automate the creation of pads via CI pipelines for change logs or incident reports.
- Open‑Source Projects: Use Etherpad instances to coordinate writing of documentation or design documents in real time.
Advantages
Etherpad’s minimal footprint, pure JavaScript implementation, and proven OT algorithm make it highly performant on modest hardware. Its modular plugin architecture allows developers to extend functionality without forking the core. Licensing (MIT) removes any commercial barrier, and the active community ensures rapid bug fixes and feature updates. Compared to heavyweight alternatives like Google Docs or Microsoft 365, Etherpad offers full data ownership and the ability to run in isolated environments—an essential requirement for privacy‑conscious organizations.
Open SourceReady to get started?
Join the community and start self-hosting Etherpad today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
SolidInvoice
Effortless invoicing for freelancers and small businesses
IFM - improved file manager
Web‑based, self‑hosted file manager
Karakeep
Self-hosted AI‑powered bookmark manager

SPIP
Open-source CMS for collaborative, multilingual sites
ownCloud
Secure, self‑hosted file sharing and collaboration
Homepage
Fast, secure self‑hosted dashboard for over 100 services
