
2.6k stars · MIT | v4.7.1, 12 Oct 2026 | [tiptap.dev](https://tiptap.dev/docs/hocuspocus/introduction) · v4.7.1 (2026-10-12) · Track this in Rising ↗
The ready-made server Yjs needs to share one document between people.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 27 Oct 2026, the same day before this check.
Latest release v4.7.1 on 12 Oct 2026.
Public since November 2020, a little over 5 years.
2,634 stars and 223 forks.
44 commits and 18 new issues in the last 90 days.
95 contributors. 32 pull requests merged in 90 days.
A security policy says how to report a problem. 2 published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 15.
▶Repo detailsthe review · specs · pros & cons · install
What it does
Hocuspocus is a collaboration server built on Yjs, the library that merges edits from several people without conflicts. It speaks WebSocket, a connection that stays open so changes travel in both directions as they happen. It holds each open document in memory and relays every change to everyone connected. Hooks run at the points that matter, such as when somebody connects, which is where access rules belong. An add-on stores documents in SQLite with one line of configuration, and the published documentation covers other storage. The example listens on one port and only on the local address, so a reverse proxy belongs in front of it. The project also points to a hosted service for anyone who would rather not run it. It is not an editor: the editing interface stays in the browser, and this carries changes between copies of it.
Why it matters
Who it suits. Anyone who has adopted Yjs — see yjs/yjs (Edition 13 #9) — and discovered that browsers still need something to connect to. It is the exact piece a small team loses a week to, and it brings the parts that get forgotten: who may open a document, and when to write it back to storage. Skip it if one person opens one document, because then there is nothing to share and the week is spent on nothing.
Verdict. Worth an afternoon if shared editing is genuinely in the plan, and worth nothing at all if it is a maybe. It comes from the team behind Tiptap, so the documentation is real and current, and v4.7.1 on 12 October 2026 matches the published package. One caution about sizing: long-lived connections mean memory grows with the number of open documents rather than with the number of requests, which is a different shape from an ordinary web service. yjs/y-websocket is the smaller alternative when hooks and storage are not needed.
Summary (Key Points)from the README
Key features
- Plug and play backend: Hocuspocus is described as a collaboration backend built on Y.js.
- WebSocket server: The README's usage section shows how to start a WebSocket server.
- Local default address: By default the server listens on ws://127.0.0.1.
- Full documentation: Detailed docs are hosted on hocuspocus.dev.
- Managed hosting option: Tiptap Collab is offered for users who don't want to run their own hosting.
- Community support: A Tiptap Discord server is available for help and best-practice discussion.
- Open source license: The project is released under the MIT License.
Important
- Usage code missing: The README refers to a usage example, but the example code does not appear in the text provided, so check the full documentation before setup.
- Default binding is local: The default address is 127.0.0.1, so the server is reachable only from the local machine unless you change the configuration.
- Hosting is optional but separate: Self-hosting is the default path; the managed Tiptap Collab offering is a separate paid-or-otherwise service the README mentions without pricing details.
- Sparse README: The README is short and defers most details to the external documentation site.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- MIT, actively released, and the published package matches the repository.
- Saving to storage is a few lines: the SQLite add-on takes a file path and nothing more.
- It comes from the Tiptap team, so the documentation is maintained alongside the code.
- It is a Node.js service. If the rest of the application is written in something else, that is a second thing to deploy and restart.
- Memory grows with open documents, not with requests, so capacity planning works differently.
- The README is thin: storage, scaling and the other add-ons are only on the documentation site.
mkdir myapp-collab && cd myapp-collab
npm init -y
npm install @hocuspocus/server @hocuspocus/extension-sqlite
# server.js
# import { Server } from '@hocuspocus/server'
# Server.configure({ port: 1234 }).listen()
node server.js
