Open source session replay, compared

Open source session replay covers three different things: a recording library you build on, a full platform you run, and an analytics tool that happens to include replay. Which one you want depends on how much you are prepared to operate.

Facts about other products on this page were last checked against their own websites on . Prices and limits change; follow the source links before you decide.

The short answer

  • You want to build your own tool: rrweb. It is the library most replay products started from, and it comes with no backend.
  • You want a full debugging platform and can run a server with 8 GB of RAM: OpenReplay.
  • You want product analytics and replay together: PostHog, ideally on their cloud.
  • You want privacy-friendly web analytics that also records sessions: Umami.
  • You want only replay, with as little to operate as possible: Replayowl.

At a glance

Type License What you run Heatmaps
rrweb Library MIT Your own backend, storage and player page No
OpenReplay Replay platform AGPLv3, some folders MIT, ee/ separately licensed Docker Compose (experimental) or Kubernetes, at least 2 vCPU and 8 GB RAM Yes
PostHog Analytics suite MIT core, ee/ separately licensed Docker Compose, 4 vCPU and 16 GB RAM suggested; officially unsupported Yes
Umami Web analytics MIT Node app with a database Yes
Highlight Monitoring platform Apache-2.0 by default Self-hosted stack; website now redirects to LaunchDarkly Not checked
Replayowl Replay only AGPL-3.0 One Cloudflare Worker, or one Node process with Postgres No

rrweb

rrweb is an MIT licensed library for recording and replaying the DOM, split into rrweb, rrweb-snapshot and rrweb-player. The latest stable release is 2.1.7, published on 2 October 2026. It has no server, storage or dashboard: you write those yourself, or use the hosted backend its maintainers now sell. Pick it if replay is a feature inside your own product. Sources: rrweb repository, releases.

OpenReplay

OpenReplay is the most complete open source replay platform: DevTools, co-browsing, heatmaps, funnels, mobile replay and more. Its documentation asks for at least 2 vCPUs, 8 GB of RAM and 50 GB of storage on x86. The single-machine Docker Compose install is labelled experimental; the main path is Kubernetes with Helm. Sources: Docker deployment, Kubernetes deployment. More in Replayowl vs OpenReplay.

PostHog

PostHog’s session replay is part of a suite with analytics, feature flags and experiments. Self-hosting is possible with a Docker Compose “hobby” deploy, but PostHog calls it officially unsupported, suggests a machine with 4 vCPUs and 16 GB of RAM, and recommends their cloud above roughly 1 million events or 5,000 recordings a month. Kubernetes is no longer supported for new installs. Source: PostHog self-host docs. More in Replayowl vs PostHog.

Umami

Umami is privacy-focused web analytics under the MIT license. It added session replay in v3.1.0 and heatmaps in v3.2.0. Replay is sampled (15% of sessions by default), and recordings stop after 5 minutes. If you already run Umami, turning replay on is the cheapest option there is. Source: Umami replay docs. More in Replayowl vs Umami.

Rybbit and OpenPanel, two other open source analytics tools under AGPL-3.0, also list session replay.

Highlight

Highlight was an open source monitoring platform with session replay, errors and logs. Its website now redirects to LaunchDarkly, while the Apache-2.0 repository is still updated. If you run it today, read moving off Highlight.io before planning upgrades.

Replayowl

Replayowl does replay and nothing else, so there is very little to run. The server is one Cloudflare Worker using R2 and D1, or one Node 24 process with Postgres. Recordings are gzipped JSON files in any S3-compatible bucket.

  • Recorder: its own code, not built on rrweb, about 8 KB gzipped with no dependencies.
  • Replays: whole sessions across page loads, hover and focus styles, open Shadow DOM, CSS-in-JS and constructed stylesheets.
  • Debugging: console errors, warnings and uncaught exceptions with stack traces, marked on the timeline.
  • Search: by your own user ID, page, duration, device, errors and rage clicks.

What it does not do: heatmaps, funnels, mobile apps, iframe contents, or multiple users with roles. The full list is in known limitations.

What to check before you choose

  1. Who operates it. A platform with Kafka, ClickHouse or Kubernetes is a service someone has to keep up. Count that time honestly.
  2. Replay quality on your own site. Record one of your real pages with hover menus, web components and a CSS-in-JS library, then replay it. This is where tools differ most.
  3. Recorder weight. It runs on every page for every visitor. Check its size and whether it pulls in dependencies.
  4. Where recordings live. “Self-hosted” should mean the recordings sit in storage you own, with a layout you can back up and delete. Replayowl documents its storage layout.
  5. License. MIT and Apache-2.0 let anyone close a fork. AGPL-3.0 requires anyone who offers a modified version as a service to publish their changes.

You can test Replayowl’s replay quality right now in the live demo, which runs the real recorder and player in your browser.