The goose logo is, uh, temporary.
Low-overhead session recording for Flutter web
pixeltrace.dev
Near-native-speed session recording so you can see what your users do in your Flutter web app. It's not available yet. Leave your email and we'll let you know the moment it's ready.
Flutter web breaks session replay
Flutter web renders your UI to a canvas, not the DOM. The popular session recording and heatmap tools (FullStory, LogRocket, Hotjar, Microsoft Clarity, PostHog session replay) all reconstruct sessions from the DOM. So on Flutter they give you a blank box, or at best a video running at a handful of frames per second.
Pixeltrace records the frames your users see without slowing your app down.
How it works
Add the SDK
One package and a few lines of init. Add annotations to PII or sensitive-data widgets (if needed).
Record sessions
Capture real user sessions at near-native speed, even on canvas-rendered Flutter web.
Replay & investigate
Watch user replays, tag recordings, search & save clips.
Some technical bits
Built for canvas rendering
Captures the rendered frames Flutter draws.
Near-native capture overhead
Off-main-thread and GPU-accelerated encoding keeps Pixeltrace out of your frame budget.
Privacy masking
Mask sensitive fields and PII at capture time, before anything leaves the device.
Lightweight SDK
Minimal bundle-size impact..
Frame-accurate replay
Scrub, pause, and step through sessions exactly as the user saw them.
Self-host & region options
Keep recordings in your region, or self-host. (Planned.)
Benchmarks
Placeholder figures. Final numbers coming soon.
| Metric | Pixeltrace | Naive approach |
|---|---|---|
| Capture overhead | < 3% | 20–40% |
| Frame rate while recording | Up to 60fps | ~5fps |
| Flutter web canvas support | Full | Blank replay |
Frequently asked questions
- Does session replay work on Flutter web?
- Not with standard DOM-based tools. Flutter web renders to a canvas instead of the DOM, so recorders like FullStory, LogRocket, Hotjar, Microsoft Clarity, and PostHog show a blank or near-blank replay. The approach that works is to record the rendered frames, which is what Pixeltrace does.
- Why do FullStory, LogRocket, Hotjar, Clarity, and PostHog return blank recordings on Flutter?
- They all reconstruct sessions from the DOM. A Flutter web app exposes a single canvas element with no DOM structure underneath, so there's nothing for them to record or replay. It's an architectural limitation, not a misconfiguration.
- Can you build heatmaps for a Flutter web app?
- Only by correlating taps with the rendered frames. On canvas-rendered Flutter every tap hits the same canvas node, so DOM-based heatmaps are meaningless. A Flutter-native tool that understands what was drawn is required.
- Does recording slow down my Flutter app?
- It doesn't have to. Pixeltrace does its encoding off the main thread, on the GPU, so capture stays inside your frame budget and the app keeps running near native speed. A naive recorder, by contrast, drops you to a handful of frames per second.
- Is Pixeltrace available yet?
- Not generally available yet. It's in active development. Join the waitlist with your email and we'll notify you the moment you can try it.
Using another tool with Flutter?
Whatever session-recording, replay, or heatmap tool you've tried on Flutter web, here's why it behaves the way it does, and what to do instead.
Using another tool with Flutter?
By capability
How Flutter rendering works
Get notified when it's available
Pixeltrace isn't quite ready yet. Leave your email and we'll reach out as soon as you can try it.