Realtime sync for any backend stack


Replicache makes it easy to add realtime collaboration, lag-free UI, and offline support to web apps. It works with any backend stack.



Realtime Multiplayer Collaboration. Popularized by Google Docs, Figma, and Notion — realtime collaboration is awesome, but famously hard to build. Replicache provides a programming model that makes it much easier.

Bring Your Own Backend. Replicache is entirely client-side technology, and works with any standard web service backend. Your data stays on your servers.

Lag-Free UI. By executing all reads and writes against a local cache, apps built with Replicache respond instantly, without waiting for the server. It even works if the app is…

Offline. Replicache persists its cache to client-side storage, so apps boot and render instantly. Online, offline, or anything in between.

Transactional Conflict Resolution. Conflicts are a fact of life when syncing, but they don't have to be exceptionally painful. Replicache rewinds and replays your transactions during sync, sort of like git rebase for application state. It's the easiest way to deal with conflicts that is…

Correct. Replicache was designed in consultation with indepedent distributed systems expert Kyle Kingsbury of Jepsen. When properly integrated with your backend, Replicache provides Causal+ Consistency — one of the strongest consistency models possible in a synchronizing system. See the Replicache Design Document or Jepsen's summary for more information.

How it Works

Replicache is a persistent key/value store that lives inside your web app. Use it as your app's state, in place of things like MobX, Redux, Recoil, Apollo, etc.

You don't need REST or GraphQL APIs when you use Replicache. Instead, read and write directly to Replicache from the UI, as if it was in-memory state. Replicache continuously synchronizes itself with your server using two special endpoints: replicache-push and replicache-pull. It also persists itself to local storage in the background, so the next startup is instant.

Visit the documentation for more details on how Replicache works.


Replicache is currently (Q2'21) available for the following use cases:

  • Offline-first for small (<10MB) workloads. By offline-first, we mean using Replicache in its default configuration as persistent local storage for your app. Changes are synchronized to the server in "near" realtime, meaning 100s of ms, which is appropriate for a wide variety of use cases but not ideal for realtime multiplayer sync.
  • Realtime multiplayer sync without persistence. When using the useMemstore flag, the Replicache client will not persist changes locally, enabling low-latency synchronization with the server appropriate for realtime apps (10s of ms).

We are actively working towards a full 1.0 release later in 2021 that fully supports both large (~100MB) offline-first workloads and persistence for realtime multiplayer sync.

Questions?  Contact Us — we'd be happy to chat.


Replicache is free for any amount of non-commercial use. For commercial use:

MAC< 500< 10k< 100k100k - ∞

Fine Print

  • A MAC is a Monthly Active Client. For example, if a user runs your application on their phone, tablet, and on Firefox and Chrome on their computer, that would be four clients.

Get Started Now

Start with Replicache right now for free. Only pay once you have over 500 clients.

Who's Behind This?

Hey there, we're Rocicorp. We're building a small, sustainable software partnership.
No VC financing, no rocketship growth. Just high-quality software, sold at a fair price.

What People are Saying