Open Source
Record & Replay
Leave your screen recorders behind. Record and replay your user journey perfectly in one simple JSON file.
The session recording and replay engine powering entire industries.
Record
A browser library that captures the DOM and user interactions as a structured event stream, designed to run quietly on your pages at any scale.
Lightweight
Smaller than video, by orders of magnitude- •DOM events stay cheap to capture, transmit, store, and retain at scale.
- •Minimal CPU overhead in the browser, so recording stays invisible to the user even on busy pages.
Reliable
Deterministic and private by designBattle-tested
Hardened by years in productionExtensible at the record side
record.addCustomEvent(tag, payload). Events like "checkout started" or a caught error live alongside the DOM mutations.name, an observer function, and options) passed into record({ plugins }). The observer hooks a timer, a socket, or a third-party SDK and folds its output into the stream.packFn, for smaller storage and faster transfer.console-record captures console logs, warnings, and errors with their arguments; canvas-webrtc-record streams <canvas> contents over WebRTC; sequential-id-record stamps ordering IDs for cross-session correlation.Replay
A deterministic engine that rebuilds a recorded session and plays it back with pixel-perfect fidelity, ready to embed in your product and adapt to your needs.
Extensible and customizable
handler receives each event during playback, so an extension can render its own data on top of the reconstructed session.rrweb-player ships with pause, fast-forward, variable speed, skip-inactivity, and drag-to-seek. Restyle it, or build your own player on the same engine.console-replay renders captured console output during playback; canvas-webrtc-replay plays back <canvas> streamed over WebRTC; sequential-id-replay validates event order using the IDs stamped at record time.Color scheme
Common use cases
Bug reproduction
Replay the exact session behind a bug, with the actions, console output, and DOM state that produced it.
Product & UX analysis
Watch real sessions tied to your product events to understand where and why users hesitate or abandon a flow.
Support & dispute evidence
Resolve tickets and disputes from the customer's actual session.
Behavioral data for AI agents
Feed structured session data to agents that can reason over real browser behavior.
Live modereal-time
Replay events as they arrive with liveMode and startLive(), the foundation for live debugging and support while a session is still in progress.
Co-browsingbeta
Combine live mode with the canvas-WebRTC plugin to watch a session as it happens and collaborate in real time, in the browser, with no installs for the end user. Cloud will package this for you.
Get rrweb your way
rrweb Cloud
Hosted ingestion, storage, replay, and AI. We run the pipeline so you can ship.
Explore Cloud