Session replay screenshot
A hedgehog film director with a clapperboard

See how people use your product

Get started - free

Install with AI in a single prompt

Paste into your terminal or code editor and make AI do the work.

Learn more

MCP•Watch a demo•Talk to a human

What does it do?

Session Replay records what happens in a user's session – clicks, scrolls, form inputs, page views, network requests, console logs – and plays it back like video. It's like watching a user's screen over their shoulder – it gives the nuance context you only get when you're actually watching them experience your product.

Who is it for?

Role
Use cases
Product Engineers
Debug production issues that can't be reproduced locally
Support
Pinpoint the source of issues with visual verification and console logs
PMs & Designers
Spot friction, dead ends, and rage clicks
Growth
Investigate funnel drop-off and onboarding bleed
QA
Validating releases by watching real users instead of staged flows

How do I use it?

Find something specific

You can search for sessions based on specific filtering criteria like a user's:

Activity data
Page views, clicks, scrolls, form submissions
Session data
Device type, browser, OS
Personal properties
Email address, initial UTM source
Errors
JavaScript errors, network failures, captured exceptions
Custom event properties
Plan name, organization name, tier, etc.
Session Replay

Top features

See when users did (or didn't do) almost anything

Powerful filters let you find behavior you can use to improve your product. Aside from searching by event data or properties, you can also get "frustration signals" from built-in PostHog events like rage clicks, dead clicks, and errors.

And you don't need to remember the syntax for your filters – you can use natural language with PostHog AI (or with our MCP) to describe the behavior you're looking for.

Here are some examples of what you can find:

User behavior
Filter criteria
Users who signed up but never got started
Events (inclusion + exclusion)
Did signup_completed, skipped project_created
Users who bailed before checkout
Events + URL
Visited /checkout, never hit purchase_completed
Frustration on a specific page
Frustration signal + URL
Rage clicks > 0 on /pricing
What one specific customer is doing
Person property
Email matches @acme.com
How enterprise users behaved this week
Person property + date
Plan = enterprise, last 7 days
Sessions where someone hit a JS error
Console logs
Console level = error
iOS users on slow connections
Device + performance
OS = iOS, FCP > 3s
Who saw a specific A/B test variant
Feature flag
Flag pricing-test = variant_b

Once you've found interesting behavior, you can save a set of filters as a dynamic playlist that automatically updates as new sessions are recorded.

AI prompts

Ask PostHog AI to find a specific session or summarize a group of them. Works in PostHog AI (in-app chat), PostHog Desktop (our AI code editor), and in your product editor (using the MCP). Already signed in? Click a prompt to try it.

Install

No matter how you build, we've probably got a way to install it.

Feature comparison

FullStory
compare
Hotjar
compare
LogRocket
compare
Clarity
Statsig
compare
Canvas recording
Capture canvas elements in your app
✓
✓
✗
✓
✗
✓
Chat with your recordings
Discover useful recordings using AI-powered chat
✓
✗
✗
✗
✗
✗
Crash reports
Learn what happens before a crash without complex debugging or reproduction
✗
Android & Flutter
✗
✓
✗
Conditional recording
Only capture the sessions you want based on conditions
✓
✗
✓
Add-on
✗
✓
Event timeline
See events triggered during recordings
✓
✓
✓
✓
✓
✓
Highlights
Create short clips from recordings
Beta
✓
Iframe recording
Record embedded iframes
✓
✓
Limited
✓
✗
✓
Minimum duration
Only record sessions longer than the minimum duration
✓
✗
✗
✗
✗
✗
Privacy masking for sensitive content
Automatic and manual masking of sensitive user data
✓
✓
✓
✓
✓
✓
Screenshot mode
Mobile session reconstructions using app screenshots
✓
✗
✗
✗
✗
✗
Frustration and engagement scores
Filter recordings by sentiment analysis
✗
✓
Wireframe mode
Low performance impact mobile recordings using wireframes
✓
✗
✗
✗
✗
✗
AI summaries
AI-generated summaries of session recordings
Beta
Add-on
✓
✓
✓
Platform support
Record on web and mobile across major frameworks
Web app recordings
Capture recordings from single-page apps and websites
✓
✓
✓
✓
✓
✓
Mobile app recordings
Capture recordings in iOS and Android apps
✓
Add-on
Enterprise
✓
✓
✗
iOS recordings
Record sessions from iOS mobile apps
✓
Add-on
Enterprise
✓
✓
✗
Android recordings
Record sessions from Android mobile apps
✓
Add-on
Enterprise
✓
✓
✗
React Native recordings
Record sessions from React Native apps
✓
Add-on
Enterprise
✓
✓
✗
Flutter recordings
Record sessions from Flutter apps
✓
Add-on
Enterprise
✓
✓
✗
Analysis
Tools to analyze and understand sessions
Heatmaps
Visualize where users click in your app or website
✓
✓
✗
✓
Console logs
Capture console output from the browser for debugging
✓
✓
✓
✓
✗
✓
Performance monitoring
Track network events and performance metrics within a session
✓
✓
✗
✓
✗
✗
Network monitoring
Monitor network activity during sessions
✓
✓
✗
✓
✗
✗
DOM explorer
Explore an interactive snapshot of replays
✓
✗
✗
✓
✗
✗
Ai
AI enhancements that summarize and extract insights from recordings
AI summaries
AI-generated summaries of session recordings
Beta
Add-on
✓
✓
✓
✗
Targeting
Control what gets recorded and how to find it later
Filter recordings by user or event
Find specific recordings by filtering for users or events
✓
✓
✓
✓
✓
✓
Minimum duration
Only record sessions longer than a specified duration
✓
✗
✗
✗
✗
✗
Search by network request
Search recordings by network requests made during the session
✗
✓
✗
✗
✗
✗
Target recordings by URL
Start or filter recordings based on specific URLs or URL patterns
✓
✓
✓
✓
✓
✗
Sample recorded sessions
Restrict the percentage of sessions that will be recorded
✓
✓
✗
✓
✓
✓
Record via feature flag
Only record sessions for users that have the flag enabled
✓
✗
✗
✗
✗
✓
Organization
Organize and manage your recordings
Playlists
Sort recordings into static and dynamic playlists
✓
✓
✗
✓
✗
✓
Share replays
Generate timestamped short links for sharing
✓
✓
✓
✓
✗
✗
Add notes to replays
Add notes to a timebar when sharing
✓
✓
✗
✗
✗
✗
Privacy
Protect user privacy and sensitive information
Privacy masking for sensitive content
Automatic and manual masking of sensitive user data
✓
✓
✓
✓
✓
✓
Export
Export and manage recordings
Export recordings to JSON
Export important recording data for offline storage
✓
✓
✓
Add-on
✗
✗
Export recordings to video
Export session recordings as video files
Beta
✗
✗
✗
✗
✗
Recording retention policy
Configure how long recordings are stored before deletion
Up to 3 months
12 months
✓
✗
30 days
30 days
Identity
Identify users for debugging and support
Identity detection
Identify users in recordings for debugging and support
✓
✓
✗
✓
✓
✓
Clickmaps
See what elements people click on in pages
✓
✓
✓
✓
Heatmaps
See clicks and mouse movement on your site
✓
✓
✓
✓
✓
✗
Movement maps
Visualize mouse movements
✓
✓
Rage clicks
Track repeated clicks in the same place
✓
✓
✓
✓
✓
✗
Rage taps
Identify repetitive taps made out of frustration
✓
✓
✓
Dead taps
Detect taps on elements that do not respond or trigger an action
✗
✓
✓
✓
Scrollmaps
Visualize how far users scroll on your website
✓
✓
✓
✓
✓
Save heatmaps
Save historic heatmaps
✗
✓
Toolbar
View heatmaps overlaid directly on a webpage
✓
✗

Questions?

Answers

There are a few ways you can get answers to specific questions about Session Replay.

  1. Check the docs

    We have an entire docs-wizard dedicated to docs gardening.

  2. Read the pocket guide

    PostHog use cases, in your pocket. Each chapter ends with a quick start.

  3. Search the community forums

    With over 400 discussions about Session Replay, there's a good chance your answer is already answered!

  4. Ask PostHog AI

    It's an incredibly useful AI chat that understands the product, docs, community questions, our codebase, GitHub issues, and industry knowledge.

  5. Talk to a human

    Dedicated humans are standing by and ready to assist. Best for questions about volume pricing, terms, and sexy legal stuff.

Works with other PostHog tools

Use Session Replay with these other PostHog apps to maximize shareholder value.

Get started – free

No credit card required. You get the first 5,000 recordings free every month, then pricing starts at $0.005/recording and reduces with volume.

Install with AI

Run this command in your terminal or AI editor.
npx -y @posthog/wizard@latest

Supports Next.js, React, Python, and

Install without AI

Sign up for a free account and follow the install instructions for your stack.

Get started - free
  1. Legally-required cookie banner

    PostHog.com doesn't use third-party cookies, only a single in-house cookie.

    No data is sent to a third party. (Ursula von der Leyen would be so proud.)

    Ursula von der Leyen, President of the European Commission