awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
rrweb-io avatar

rrweb-io/rrweb

0
View on GitHub↗
www.rrweb.io↗

Rrweb

rrweb is a DOM session recording library and serialization framework used to record and replay web sessions. It converts the state of a web page into a serializable JSON data structure and tracks mutations to reconstruct user interactions within a replay engine.

The system distinguishes itself by using a sandboxed iframe for reconstruction to isolate replayed content, preventing script execution and form submissions. It ensures visual consistency through CSS inline-style flattening and provides sensitive data masking to prevent private information from being captured.

The project covers a broad range of capabilities, including user interaction tracking for mouse and keyboard events, mutation-based delta recording, and periodic snapshotting for timestamp seeking. It also includes tools for session analysis via server-side processing and a video exporter to transform recorded DOM data into standard video files.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Session Replay - Renders recorded snapshots and mutation events to recreate a web session exactly as it appeared to the user.
  • Session Replay - Renders recorded snapshots and events within a sandboxed environment to visualize a user's journey on a website.
  • Session Recording - Provides a comprehensive system for capturing and replaying user interactions and DOM changes within a web interface.
  • DOM State Snapshots - Provides periodic full DOM snapshots to allow jumping to any point in a recorded session.
  • DOM Mutation Tracking - Tracks DOM mutations and state changes to create a precise sequence for session playback.
  • Session State Serializers - Converts the DOM and its current state into a serializable data structure for static representation.
  • Iframe Sandboxing - Renders replayed content within a restricted iframe to prevent script execution and block unintended form submissions.
  • DOM to JSON Serialization - Transforms the DOM tree into a structured JSON format that preserves text, comments, and input values.
  • Mutation Delta Recording - Tracks DOM changes via MutationObserver to record only incremental updates instead of full page snapshots.
  • User Interaction Event Logging - Logs precise user interactions like mouse movements and keyboard inputs for behavioral analysis and reconstruction.
  • User Interaction Recording - Logs mouse movements, keyboard input, and HTML changes for behavioral analysis.
  • DOM Element ID Mapping - Assigns persistent IDs to DOM elements to track mutations and interactions across different recording segments.
  • Inline Style Flattening - Converts parsed CSS rules into inline styles to maintain page appearance regardless of stylesheet accessibility.
  • DOM Mutation Observation - Records structural and attribute changes to the DOM via MutationObserver to reconstruct page state.
  • Session Reconstruction - Implements the reconstruction of a user interface from recorded DOM mutations and snapshots for playback.
  • DOM Node Reference Tracking - Assigns unique identifiers to DOM nodes to map interactions and mutations without re-serializing the entire page.
  • DOM Serialization Frameworks - Provides a utility that converts the current state of a web page into a serializable JSON data structure.
  • Baseline State Capture - Traverses the DOM to create a serializable data structure that preserves styles and input values for the recording baseline.
  • State Snapshots - Captures full serializable DOM trees at fixed intervals to allow random access seeking and playback recovery.
  • Server-Side Session Analysis - Provides tools for analyzing recorded session data using a virtual DOM implementation in a server environment.
  • Traffic-Replay Sandboxes - Renders recorded sessions within a sandboxed iframe to block form submissions and script execution.
  • Playhead Seeking - Allows starting playback from any timestamp by executing preceding snapshots before resuming asynchronous replay.
  • JavaScript Playback APIs - Provides a programmatic JavaScript API to control the playback process, including start, pause, and seek operations.
  • Video Export Pipelines - Transforms recorded DOM session data into standard video files for viewing in external media players.
  • Data Masking - Prevents private information from being recorded during session capture using CSS classes and field detection.
  • Sensitive Content Obscuration - Prevents specific HTML elements or text from being recorded using CSS classes or field detection.
  • Replay Timing Synchronization - Uses a precise timing mechanism to replay asynchronous DOM mutations and user events at their original speed.
  • Visual Session Reproductions - Records the precise sequence of DOM changes and inputs that lead to an error for easier debugging.
  • Playback Controls - Ships a graphical interface for managing session playbacks, including pause, fast-forward, and seeking controls.
  • Session Playback Interfaces - Displays a graphical user interface with a timeline for navigating recorded web sessions.
  • Event Segmenting - Groups recording events into segments based on time or count to facilitate partial data capture and recovery.
  • Viewport State Recording - Records page scrolling and window resizing events to maintain the correct visual perspective during replay.
  • Visual Consistency Inlining - Ensures visual consistency during playback by converting parsed CSS rules into inline styles.
  • Monitoring and Analytics - Library for recording and replaying user sessions to debug issues.
  • Testing Frameworks - Record and replay web operations.
19,775 stars·1,667 forks·TypeScript·MIT·36 views

Star history

Star history chart for rrweb-io/rrwebStar history chart for rrweb-io/rrweb

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does rrweb-io/rrweb do?

rrweb is a DOM session recording library and serialization framework used to record and replay web sessions. It converts the state of a web page into a serializable JSON data structure and tracks mutations to reconstruct user interactions within a replay engine.

What are the main features of rrweb-io/rrweb?

The main features of rrweb-io/rrweb are: Session Replay, Session Recording, DOM State Snapshots, DOM Mutation Tracking, Session State Serializers, Iframe Sandboxing, DOM to JSON Serialization, Mutation Delta Recording.

Which projects share features with rrweb-io/rrweb?

Projects with overlapping indexed features include: openreplay/openreplay — OpenReplay is a session replay platform and frontend debugging suite designed to record and play back user browser… requestly/requestly. highlight/highlight — Highlight is a full-stack observability platform and monitoring system that aggregates logs, errors, and distributed… segmentio/analytics.js — This project is a JavaScript analytics integration library and client-side event collector designed to record user… firebase/firebase-js-sdk — This is a backend-as-a-service SDK that connects web and mobile applications to a suite of cloud services. It provides… getsentry/sentry-javascript — This project is a JavaScript error tracking SDK and application performance monitoring tool. It captures runtime…

Projects sharing features with Rrweb

These projects share indexed features with Rrweb. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • openreplay/openreplayopenreplay avatar

    openreplay/openreplay

    12,104View on GitHub↗

    OpenReplay is a session replay platform and frontend debugging suite designed to record and play back user browser sessions. It functions as a user behavior monitoring system that captures interaction patterns and technical metadata to identify conversion issues and revenue loss. The platform is distinguished by its self-hosted infrastructure model, allowing the recording and analytics pipeline to be deployed on private servers for full control over data residency. It also includes a browser co-browsing tool for real-time screen sharing and direct communication to provide immediate technical

    TypeScriptanalyticsangulardevtools
    View on GitHub↗12,104
  • requestly/requestlyrequestly avatar

    requestly/requestly

    6,341View on GitHub↗
    TypeScriptapiapi-clientapi-mock
    View on GitHub↗6,341
  • highlight/highlighthighlight avatar

    highlight/highlight

    9,303View on GitHub↗

    Highlight is a full-stack observability platform and monitoring system that aggregates logs, errors, and distributed traces to provide a unified view of application health. It functions as a distributed tracing system, an error monitoring service, and a session replay tool. The platform is available as a dockerized monitoring stack for self-hosted deployments on Linux. It distinguishes itself by combining backend observability with a visual recording system that captures document object model changes and network requests to replay user interactions. The system covers several core capability

    TypeScript
    View on GitHub↗9,303
  • segmentio/analytics.jssegmentio avatar

    segmentio/analytics.js

    4,752View on GitHub↗

    This project is a JavaScript analytics integration library and client-side event collector designed to record user behavior and distribute that data to multiple third-party analytics destinations through a unified interface. It functions as a customer data platform that identifies users, manages traits, and routes event streams to various analytics tools and data warehouses. The library distinguishes itself through a multi-destination event router and HTTP tracking middleware that intercepts and modifies event payloads before transmission. It implements identity management primitives for user

    JavaScript
    View on GitHub↗4,752
  • Compare all 30 related projects→