Liveblocks
The best products for the AI era aren’t solo experiences—they’re collaborative, like Notion and Figma. Liveblocks provides ready‑made features that make your app multiplayer, engaging, and AI‑ready.
Liveblocks
Readme
Liveblocks gives you the building blocks and infrastructure to enable people and AI to work together inside your app.
Ready-made features
Liveblocks includes a set of collaboration building blocks you can use individually or together. These ready-made features provide pre-built components, hooks, and APIs that handle the complexity of realtime collaboration, allowing you to focus on building your product’s unique experience.
- Comments - Add contextual comments directly inside your product
- Multiplayer - Add realtime collaboration to your product experience
- AI Agents - Add AI collaborators to your product
- Notifications - Add notifications to your app to keep users coming back
SDKs and packages
Packages for specific libraries and frameworks to add Liveblocks-powered collaborative experiences to your product. Integrations are designed to serve various collaboration use cases such as collaborative text editors, comments, notifications, and more.
@liveblocks/client@liveblocks/react@liveblocks/react-ui@liveblocks/react-tiptap@liveblocks/react-blocknote@liveblocks/node-prosemirror@liveblocks/react-lexical@liveblocks/node-lexical@liveblocks/redux@liveblocks/zustand@liveblocks/yjs@liveblocks/node@liveblocks/emails@liveblocks/emails@liveblocks/chat-sdk-adapter- Python SDK
REST API
Developers
Community and support
- GitHub issues to file bugs and errors you encounter using Liveblocks.
- Discord to get involved with the Liveblocks community, ask questions and share tips.
- Email to contact us directly for support and sales enquiries.
- X to receive updates, announcements, blog posts, and general Liveblocks tips.
License
Most of this repository is licensed under the Apache License 2.0, Copyright © 2021-present Liveblocks. Some components are licensed under AGPL-3.0-or-later.
See LICENSE for details.
Blog posts
- What's new in Liveblocks: May 2026
- How humans and AI will work together in the next generation of apps
- Money is multiplayer: how Fragment powers collaboration with Liveblocks
- How CRDTs and sync engines keep realtime lists ordered with fractional indexing
- Why WebSocket gets hard in multiplayer apps
- Official n8n nodes for Liveblocks
- Unveil Week recap: Realtime collaboration for humans and agents
- Agent skills for Liveblocks
- Python SDK for Liveblocks
- Chat SDK adapter for Liveblocks
- Multiplayer SDK for React Flow: Realtime collaboration between humans and agents
- AI agents are becoming native users of software
- Introducing Feeds and APIs for Agent Workflows
- What's new in Liveblocks: February 2026
- New React components for adding realtime presence and contextual commenting to your app
- How Rippling built a 1:1s tool that rivals the UX of Google Docs
- Introducing Zen Router: our open-source type-safe router compatible with Cloudflare Workers
- Open sourcing the Liveblocks sync engine and dev server
- What's new in Liveblocks: January 2026
- How Magic Patterns powers its collaborative AI design experience
- Understanding sync engines: How Figma, Linear, and Google Docs work
- What's new in Liveblocks: November 2025
- Building an AI copilot inside your Tiptap text editor
- What's new in Liveblocks: October 2025
- Why we built our AI agents on WebSockets instead of HTTP
- What's new in Liveblocks: August 2025
- What's the best vector database for building AI products?
- Mock up AI agents in your product with the Liveblocks Collaboration Kit for Figma
- What’s new in Liveblocks: July 2025
- What’s new in Liveblocks: June 2025
- People and AI working together, in any app — the story behind Liveblocks 3.0
- Meet Liveblocks 3.0, the fastest way to let people collaborate with AI in your product
- What’s new in Liveblocks: April 2025
- Introducing fairer billing with first day free
- Rethinking product strategy in the age of AI with Melissa Perri
- How Artefact reinvented collaborative workspaces for technical teams
- What’s new in Liveblocks: March 2025
- Add Notion-style collaborative text editing to your app with Liveblocks BlockNote
- We’ve open-sourced our customizable React emoji picker
- What’s new in Liveblocks: February 2025
- How to build notifications that encourage collaboration
- Configure each user’s notification settings for email, Slack, and more
- Liveblocks is now SOC 2 Type 2 and HIPAA compliant
- How to build an engaging in-app commenting experience
- Why collaborative features will define your product’s success
- What’s new in Liveblocks: January 2025
- Which rich text editor framework should you choose in 2025?
- Great agent experience starts with great collaboration
- Introducing AI Copilots, ready‑made interfaces for human‑like collaboration
- What’s new in Liveblocks: December 2024
- A better way to email your users about unread content
- What’s new in Liveblocks: November 2024
- Easy collaborative text editing with Liveblocks Tiptap
- What's new in Liveblocks: October 2024
- What's new in Liveblocks: September 2024
- Increase in-app commenting with attachments
- Next.js Template Week recap
- What's new in Liveblocks: August 2024
- Dashboard enhancements to improve observability and developer experience
- How Agility CMS leveraged collaboration to grow their customer base
- How Hashnode added collaboration to their text editor to sell to larger organizations
- Mock up collaborative experiences with the Liveblocks kit for Figma
- How Zapier added collaborative features to their Canvas product in just a couple of weeks
- What's new in Liveblocks: July 2024
- What's new in Liveblocks: June 2024
- What's new in Liveblocks: May 2024
- Introducing Liveblocks 2.0
- Liveblocks 1.12: Advanced filtering and custom notifications
- Liveblocks 1.11: Authentication updates and Comments improvements
- Liveblocks 1.10: Notifications support for Comments
- Dashboard refinements and a free plan for Comments
- Liveblocks 1.9: Comments improvements that enable AI agents, chat moderation, thread filtering, and more
- Liveblocks 1.8: Typed REST APIs and easy Comments notifications
- Liveblocks Comments is available for everyone
- Liveblocks 1.6: Introducing Yjs subdocuments support
- Liveblocks 1.5: Foundational API improvements
- Liveblocks is SOC 2 compliant
- Liveblocks 1.4: Introducing Yjs DevTools and API improvements
- Extend the capabilities of Yjs using our REST API and webhooks
- Build collaborative text experiences with Liveblocks Yjs
- What's new in v1.2
- Introducing the brand new Liveblocks docs
- What's new in v1.1
- How Vercel used live reactions to improve engagement on their Vercel Ship livestream
- How Fermat enabled realtime collaboration in their AI-powered whiteboard
- Initialize your Liveblocks configuration file with a single command
- How Rayon replaced their own WebSocket infrastructure with Liveblocks to power realtime collaboration
- How to add Google authentication to your Next.js + Liveblocks app with NextAuth.js
- Revolutionizing the AEC industry: How Arcol used Liveblocks to create a Figma-like experience for BIM
- Dashboard updates: a faster way to navigate rooms, monitor usage, and more
- Gomada makes teams feel connected through collaborative experiences
- Propeller used Liveblocks to make their 3D maps collaborative in just days
- Dialogue made their EMR collaborative to decrease members' waiting time
- Launch week 2: wrap up
- Liveblocks 1.0: collaborative experiences in days, not months
- Facet.ai rolled out a brand‑new collaborative product within a few weeks
- Liveblocks at React Brussels!
- Manage multiple projects and easily roll new API keys
- What's new in v0.19
- Build share dialogs, filterable overview pages, and a whole lot more with REST APIs
- What's new in v0.18
- Launch week 1: wrap up
- How to animate multiplayer cursors
- What's new in v0.17
- How to build undo/redo in a multiplayer environment
- PopStage built all kinds of collaborative experiences with tailored permissions for their users using Liveblocks
- How Liveblocks enables Sprout's multiplayer collaboration, allowing users to play together swiftly
- Tldraw became viral by converting its product to multiplayer with Liveblocks
- Liveblocks raises $5M in seed funding from Boldstart, Atlassian, Seedcamp and more
- Motionbox made their product multiplayer without making tradeoffs on data governance
- How to set up end-to-end tests for multiplayer apps using Puppeteer and Jest
- How to add a live avatar stack to your product with React, Firebase, and Liveblocks
- Clover made their product multiplayer in less than a day using Liveblocks
- Client-side only mode now available in Liveblocks
- Liveblocks raises $1.4M in pre-seed funding
- Introducing Liveblocks
Pricing
Documentation (suffix docs URLs with .md to view markdown files)
- HOME
- TUTORIALS
- GUIDES
- GET_STARTED
- GET_STARTED_REACT
- GET_STARTED_NEXTJS
- GET_STARTED_NEXTJS_PRESENCE
- GET_STARTED_REACT_AI_COPILOTS
- GET_STARTED_NEXTJS_AI_COPILOTS
- GET_STARTED_REACT_AI_CHAT
- GET_STARTED_NEXTJS_AI_CHAT
- GET_STARTED_NEXTJS_AI_PRESENCE
- GET_STARTED_NEXTJS_AI_REACT_FLOW
- GET_STARTED_NEXTJS_AI_NOTIFICATIONS
- GET_STARTED_NEXTJS_FEEDS
- GET_STARTED_NEXTJS_CHAT_SDK
- GET_STARTED_NEXTJS_COMMENTS_AI
- GET_STARTED_NEXTJS_REACT_FLOW
- GET_STARTED_REACT_COMMENTS
- GET_STARTED_NEXTJS_COMMENTS
- GET_STARTED_NEXTJS_COMMENTS_CANVAS
- GET_STARTED_NEXTJS_COMMENTS_TABLE
- GET_STARTED_NEXTJS_COMMENTS_AG_GRID
- GET_STARTED_NEXTJS_COMMENTS_HANDSONTABLE
- GET_STARTED_NEXTJS_MULTIPLAYER_HANDSONTABLE
- GET_STARTED_REACT_NOTIFICATIONS
- GET_STARTED_NEXTJS_NOTIFICATIONS
- GET_STARTED_NEXTJS_NOTIFICATIONS_WEBHOOKS
- GET_STARTED_NEXTJS_NOTIFICATIONS_EMAIL
- GET_STARTED_NEXTJS_NOTIFICATIONS_SLACK
- GET_STARTED_NEXTJS_NOTIFICATIONS_MICROSOFT_TEAMS
- GET_STARTED_NEXTJS_NOTIFICATIONS_WEB_PUSH
- GET_STARTED_NEXTJS_NOTIFICATIONS_WEBHOOK
- GET_STARTED_NEXTJS_NOTIFICATIONS_CUSTOM
- GET_STARTED_NEXTJS_NOTIFICATIONS_CUSTOM_WEBHOOKS
- GET_STARTED_NEXTJS_NOTIFICATIONS_CUSTOM_EMAIL
- GET_STARTED_NEXTJS_NOTIFICATIONS_CUSTOM_SLACK
- GET_STARTED_NEXTJS_NOTIFICATIONS_CUSTOM_MICROSOFT_TEAMS
- GET_STARTED_NEXTJS_NOTIFICATIONS_CUSTOM_WEB_PUSH
- GET_STARTED_REACT_TIPTAP
- GET_STARTED_NEXTJS_TIPTAP
- GET_STARTED_REACT_BLOCKNOTE
- GET_STARTED_NEXTJS_BLOCKNOTE
- GET_STARTED_REACT_LEXICAL
- GET_STARTED_NEXTJS_LEXICAL
- GET_STARTED_NEXTJS_TLDRAW
- GET_STARTED_REDUX
- GET_STARTED_ZUSTAND
- GET_STARTED_SVELTE
- GET_STARTED_VUEJS
- GET_STARTED_SOLIDJS
- GET_STARTED_JAVASCRIPT
- GET_STARTED_YJS_CODEMIRROR_REACT
- GET_STARTED_YJS_CODEMIRROR_SVELTE
- GET_STARTED_YJS_CODEMIRROR_VUEJS
- GET_STARTED_YJS_CODEMIRROR_JAVASCRIPT
- GET_STARTED_YJS_MONACO_REACT
- GET_STARTED_YJS_MONACO_SVELTE
- GET_STARTED_YJS_MONACO_VUEJS
- GET_STARTED_YJS_MONACO_JAVASCRIPT
- GET_STARTED_YJS_QUILL_REACT
- GET_STARTED_YJS_QUILL_SVELTE
- GET_STARTED_YJS_QUILL_VUEJS
- GET_STARTED_YJS_QUILL_JAVASCRIPT
- GET_STARTED_YJS_SLATE_REACT
- GET_STARTED_YJS_TIPTAP_SVELTE
- GET_STARTED_YJS_TIPTAP_VUEJS
- GET_STARTED_YJS_TIPTAP_JAVASCRIPT
- GET_STARTED_YJS_SUPERDOC_NEXTJS
- GET_STARTED_YJS_SUPERDOC_REACT
- GET_STARTED_YJS_SUPERDOC_SVELTE
- GET_STARTED_YJS_SUPERDOC_VUEJS
- GET_STARTED_YJS_SUPERDOC_JAVASCRIPT
- CONCEPTS
- FEATURES_COMMENTS
- FEATURES_COMMENTS_CONCEPTS
- FEATURES_COMMENTS_USERS_AND_MENTIONS
- FEATURES_COMMENTS_DEFAULT_COMPONENTS
- FEATURES_COMMENTS_HOOKS
- FEATURES_COMMENTS_METADATA
- FEATURES_COMMENTS_PRIMITIVES
- FEATURES_COMMENTS_STYLING_AND_CUSTOMIZATION
- FEATURES_COMMENTS_EMAIL_NOTIFICATIONS
- FEATURES_NOTIFICATIONS
- FEATURES_NOTIFICATIONS_CONCEPTS
- FEATURES_NOTIFICATIONS_DEFAULT_COMPONENTS
- FEATURES_NOTIFICATIONS_HOOKS
- FEATURES_NOTIFICATIONS_STYLING_AND_CUSTOMIZATION
- FEATURES_NOTIFICATIONS_EMAIL_NOTIFICATIONS
- FEATURES_MULTIPLAYER
- FEATURES_MULTIPLAYER_TEXT_EDITOR
- FEATURES_MULTIPLAYER_TEXT_EDITOR_TIPTAP
- FEATURES_MULTIPLAYER_TEXT_EDITOR_BLOCKNOTE
- FEATURES_MULTIPLAYER_TEXT_EDITOR_LEXICAL
- FEATURES_MULTIPLAYER_SYNC_ENGINE
- FEATURES_MULTIPLAYER_SYNC_ENGINE_STORAGE
- FEATURES_MULTIPLAYER_SYNC_ENGINE_YJS
- FEATURES_AI_COLLABORATION
- FEATURES_AI_COPILOTS
- FEATURES_AI_COPILOTS_FEATURES
- FEATURES_AI_COPILOTS_COPILOTS
- FEATURES_AI_COPILOTS_DETAULT_COMPONENTS
- FEATURES_AI_COPILOTS_HOOKS
- FEATURES_AI_COPILOTS_KNOWLEDGE
- FEATURES_AI_COPILOTS_TOOLS
- FEATURES_AI_COPILOTS_STYLING_AND_CUSTOMIZATION
- FEATURES_AI_COPILOTS_TROUBLESHOOTING
- AUTHENTICATION
- AUTHENTICATION_ID_TOKEN_NEXTJS
- AUTHENTICATION_ID_TOKEN_REMIX
- AUTHENTICATION_ID_TOKEN_SVELTEKIT
- AUTHENTICATION_ID_TOKEN_NUXTJS
- AUTHENTICATION_ID_TOKEN_FIREBASE
- AUTHENTICATION_ID_TOKEN_EXPRESS
- AUTHENTICATION_ACCESS_TOKEN_NEXTJS
- AUTHENTICATION_ACCESS_TOKEN_REMIX
- AUTHENTICATION_ACCESS_TOKEN_SVELTEKIT
- AUTHENTICATION_ACCESS_TOKEN_NUXTJS
- AUTHENTICATION_ACCESS_TOKEN_FIREBASE
- AUTHENTICATION_ACCESS_TOKEN_EXPRESS
- METADATA
- PERMISSIONS
- API_REFERENCE_CLIENT
- API_REFERENCE_CHAT_SDK_ADAPTER
- API_REFERENCE_REACT
- API_REFERENCE_REACT_UI
- API_REFERENCE_REACT_FLOW
- API_REFERENCE_REACT_TIPTAP
- API_REFERENCE_REACT_BLOCKNOTE
- API_REFERENCE_NODE_PROSEMIRROR
- API_REFERENCE_REACT_LEXICAL
- API_REFERENCE_NODE_LEXICAL
- API_REFERENCE_ZUSTAND
- API_REFERENCE_REDUX
- API_REFERENCE_YJS
- API_REFERENCE_NODE
- API_REFERENCE_PYTHON
- API_REFERENCE_EMAILS
- API_REFERENCE_REST
- API_REFERENCE_REST_V1
- INTEGRATIONS_N8N_NODES
- TOOLS_DEV_SERVER
- TOOLS_DEVTOOLS
- TOOLS_NEXTJS_STARTER_KIT
- TOOLS_AGENT_SKILLS
- TOOLS_MCP_SERVER
- PLATFORM_DATA_STORAGE
- PLATFORM_WEBSOCKET_INFRASTRUCTURE
- PLATFORM_PROJECTS
- PLATFORM_ANALYTICS
- PLATFORM_WEBHOOKS
- PLATFORM_REST_API
- PLATFORM_MANAGEMENT_API
- PLATFORM_ACCOUNT_MANAGEMENT
- PLATFORM_ACCOUNT_MANAGEMENT_CREATE_ACCOUNT
- PLATFORM_ACCOUNT_MANAGEMENT_MANAGE_TEAM_MEMBERS
- PLATFORM_ACCOUNT_SAML
- PLATFORM_ACCOUNT_DIRECTORY_SYNC
- PLATFORM_ACCOUNT_MFA
- PLATFORM_ACCOUNT_DELETE_AN_ACCOUNT
- PLATFORM_LIMITS
- PRICING_PLANS
- PRICING_FREE
- PRICING_PRO
- PRICING_TEAM
- PRICING_ENTERPRISE
- UPGRADING
- UPGRADING_1
- UPGRADING_019
- UPGRADING_018
- UPGRADING_017
Meet the modern standard for public facing documentation. Beautiful out of the box, easy to maintain, and optimized for user engagement.
Search through billions of items for similar matches to any object, in milliseconds. It’s the next generation of search, an API call away.
Build and deploy reliable background jobs with no timeouts and no infrastructure to manage.
Get the simple developer experience of SQLite in production, and scale your multi-tenant backend with unlimited databases.
Upstash is a serverless data platform providing low latency and high scalability for real-time applications.
One-click deployments built for teams, tuned for Laravel, loaded with tools and goodies you're going to love.