rrweb-io/rrweb

record and replay the web

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 55 minutes ago
Added to GitGenius on September 2nd, 2026
Created on October 6th, 2018
Open Issues & Pull Requests: 416 (+0)
GitHub issues: Enabled
Number of forks: 1,696
Total Stargazers: 20,134 (+0)
Total Subscribers: 196 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.7 days
Mean response time: 63.2 days
90th percentile: 160.6 days
Tracked items: 107

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 95% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed. Three people close 65% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 119
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 624 days
Stale 30+ days: 114
Stale 90+ days: 104

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (77)
  • feature request (32)
  • 2.0 (4)
  • enhancement (2)
  • extension (1)
  • has PR (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

rrweb is a session replay tool that records and replays user interactions on web pages.

The tool solves the problem of understanding user behavior and debugging issues by capturing the complete state of a web page and all subsequent user interactions, then replaying them faithfully. It works by first taking a snapshot of the DOM and its state, converting this into a serializable data structure, then recording all HTML mutations and user interactions as the page is used. During replay, it rebuilds the initial snapshot and plays back the recorded events to recreate the session.

rrweb suits projects that need session replay capabilities for user experience analysis, debugging, or support purposes. It is particularly useful for teams building their own session replay infrastructure rather than relying on third-party services. The project provides modular packages so developers can use individual components like the snapshot and rebuilding features standalone to generate static HTML screenshots with JavaScript disabled, or combine them with the record and replay packages for full session replay functionality. A player UI with controls like pause and fast-forward is available for interactive playback.

The project maintains active development with ongoing work on storage optimization through deduplication for large numbers of sessions, development of a token-efficient AI session replay format, and expansion of plugin support for XHR, fetch, and GraphQL integration. The codebase is written in TypeScript to ensure strong type consistency between recording and replay sides. The project includes comprehensive testing infrastructure with integration tests, unit tests, and a REPL testing tool for developers.