Does FullStory session replay work on Flutter web?
Not in a usable way. FullStory captures a structured representation of the DOM, and a Flutter web app has no element structure to capture, so its DOM-based replay, search, and frustration signals have nothing to work with.
FullStory's structured DOM capture is what powers its replay, search, and frustration signals, and what makes FullStory so searchable on normal sites.
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.
On Flutter web there is no element structure to capture. The DOM-keyed replay cannot reconstruct the interface, and features like element search have nothing to index. A raw canvas-video fallback, where available, comes at a very low frame rate because each frame has to be read back from the GPU.
There is also a privacy catch worth flagging. DOM-based tools mask sensitive fields by selecting the elements to redact (a CSS class, a selector, an attribute). On a Flutter canvas there are no such elements, so even when one of these tools does manage a low-framerate video capture of the canvas, none of them can mask anything inside it. Every tool in this space documents that canvas content cannot be masked. Anything Flutter painted (passwords, payment details, personal data) is recorded in the clear, which is a real concern for GDPR, HIPAA, PCI, and similar obligations.
Native FullStory SDKs vs. Flutter web
FullStory does offer native mobile capture for iOS and Android. That is a different path. Native capture instruments the platform views, whereas Flutter web is a single canvas in a browser. If your target is the web build of a Flutter app, the canvas limitation applies.
A Flutter-web-native alternative
Pixeltrace records the frames Flutter renders on the web, giving you a real visual replay of canvas-rendered Flutter apps. Pair it with your existing analytics stack for the "what did the user see" view.
It also restores the privacy controls you lose on canvas: mark sensitive widgets in your Flutter tree and Pixeltrace redacts those regions at capture time, on-device, so personal data never reaches the recording. That's masking on canvas, which FullStory's DOM-based redaction can't reach.
Pixeltrace is in development. Join the waitlist to hear about availability.