Get started with Session Replay
Install the SDK and turn on recording
Add a PostHog SDK to your app and enable session recording. Web needs a snippet or the JavaScript SDK; mobile apps use the React Native, iOS, Android, or Flutter SDKs. Recording is a project setting, so you also have to switch it on in project settings before anything is captured.
Web has the most complete feature support. Mobile has a few limits, like wireframe-only mode unless you turn on screenshot mode, so check your platform's page.
Decide which sessions to record
Recording everything is rarely what you want, and it's the main driver of cost. Recording rules let you sample a percentage of sessions, record only certain URLs or events, gate recording behind a feature flag, or record only sessions from a specific cohort.
Set this up early. Rules apply at capture time, so they only affect sessions recorded after you change them.
Mask sensitive data
Masking happens on the device, before anything is sent to PostHog. By default inputs are masked; you can also mask all text, mask specific elements with ph-no-capture, or unmask elements you know are safe. Mobile SDKs have their own masking rules for screenshots and third-party screens.
Get this right before you record real traffic, because a replay captured unmasked stays unmasked.
Capture console logs and network requests
A replay is far more useful with its DevTools panel filled in. Turn on console log recording to see logs, warnings, and errors on the timeline, and network performance capture to get the request waterfall, including headers and bodies if you opt into them.
Apps that draw to a <canvas> element need canvas recording, and apps that embed other PostHog-instrumented pages need iframe recording.
Watch, filter, and share replays
Open Replay in PostHog and you get a filterable list of sessions plus a player with a synced activity timeline. Filter by rage clicks, exceptions, custom events, person properties, or feature flag variant, then save what you find as a collection and share or embed it.
Let PostHog AI do the watching
Nobody watches every recording. Ask PostHog AI in the web app to find replays in plain language – "users who rage clicked on the pricing page" – and to summarize sessions so you get the pattern instead of an afternoon of playback.
Prefer your editor? The MCP server exposes the same search from Cursor, Claude Code, Codex, and other MCP clients.
Let Self-driving watch them for you
Session replay isn't just playback – it's a signal source. PostHog looks for the moments users get stuck, clusters them across sessions, and files a Self-driving report with the recordings that prove it. The report goes to a human reviewer, not a coding agent, because a replay shows you the symptom and working out the cause takes judgment.
Know what's free
Session replay is free up to a monthly allowance of web and mobile recordings, then priced per recording with volume discounts. There are no per-seat charges, and you can set a billing limit so a traffic spike can't surprise you. Recording rules and data retention are the two biggest levers on your bill.