Session replay

Session replay is the reconstruction of a user's visit to a website or application as a watchable playback, built from recorded browser events such as DOM changes, clicks, scrolls, and inputs. Unlike screen video, replay is rebuilt from structured data, so it stays searchable, inspectable, and small.

How it works

A recording library captures an initial snapshot of the page's DOM, then appends every subsequent change and interaction as timestamped events. A player later rebuilds the initial snapshot and applies the events in order, reproducing what the user saw and did. Because the recording is data, a replay can be paused, scrubbed, sped up, filtered, or analyzed programmatically, and a full session is typically orders of magnitude smaller than a video of the same length. rrweb implements this pattern as an open source library: record() emits the event stream, and Replayer plays it back.

Where you encounter it

Session replay is the core of tools like PostHog, Highlight, Sentry, and OpenReplay, several of which build on rrweb. Teams use it to reproduce bugs, understand drop-off, and support users; the open-source session replay article covers the landscape and common use cases.