Does PostHog session replay work with Flutter web?
No, PostHog session replay does not work on Flutter web. Its event capture, feature flags, and product analytics do work. The visual replay, though, returns a blank or near-blank canvas.
Here is why. PostHog's web session replay is built on rrweb, an open-source library that records the DOM and replays it as a faithful reconstruction. That approach is fast and lightweight precisely because it serializes DOM mutations rather than video.
The reason is how Flutter web renders. It does not draw your interface to the DOM. With the CanvasKit renderer (a WebAssembly build of Google’s Skia graphics engine, and the production default for most Flutter web apps) and the newer Skwasm renderer, Flutter paints the entire UI as pixels onto one HTML canvas element. To the browser, and to any tool that reads the DOM, your app is a single opaque rectangle. No buttons, no text nodes, nothing to attach to.
So rrweb has no DOM to serialize, and the replay has nothing to reconstruct. The rest of PostHog is unaffected (more on that below). What does not survive the canvas is the one thing replay exists for: seeing what the user saw and did.
What still works with PostHog on Flutter
Plenty of PostHog works on Flutter: autocapture of custom events, feature flags, experiments, and the analytics warehouse are all usable through the official PostHog Flutter SDK. If your goal is funnels and event analytics, PostHog is a solid choice.
The gap is specifically visual session replay and heatmaps: anything that needs to know what was drawn on screen and where the user tapped relative to it.
The Flutter-native alternative for visual replay
Pixeltrace records the frames Flutter paints, so visual replay works on canvas-rendered Flutter web instead of returning a blank box. It runs alongside your existing analytics. Keep PostHog for events and funnels, and add frame-accurate replay for the "what did the user see" question.
Capture is built to stay out of your frame budget, so recording doesn't turn a 60fps app into a slideshow. Pixeltrace isn't generally available yet; join the waitlist and we'll email you when you can try it.