Hotjar + Flutter

Hotjar and Flutter web

Hotjar is many teams’ first reach for heatmaps and session recordings. Drop the snippet onto a Flutter web app, though, and the recordings come back empty. This explains why.

By Pixeltrace · Updated

Does Hotjar work with Flutter web?

No, Hotjar does not work on Flutter web. Its recordings come back blank and its heatmaps have nothing to anchor to, because Hotjar records the DOM and a Flutter web app exposes no DOM.

Hotjar recordings and heatmaps are built on reading and replaying the DOM. The snippet observes DOM elements, mutations, and pointer positions relative to those elements.

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.

A Flutter web app exposes a single canvas instead of a DOM tree. Hotjar has nothing to record, and nothing to anchor its heatmaps against. You get blank recordings and heatmaps that point at no UI element in particular.

It is not a configuration problem

Teams often spend hours re-checking their Hotjar install, sure they have misconfigured something. They have not. The limitation is architectural: no DOM-based recorder, Hotjar included, can reconstruct a UI that was never expressed as DOM in the first place.

A Flutter-native alternative

Pixeltrace records the frames Flutter draws, so you get a real replay on Flutter web instead of the empty box Hotjar leaves you with. Because it starts from the canvas rather than the DOM, there's no install to second-guess and nothing to misconfigure. Recording either happens or it doesn't.

Pixeltrace isn't generally available yet. Add your email to the waitlist for launch notification.

See what your users do in Flutter

Pixeltrace records the frames your Flutter web app paints, so replay works on canvas. It's not generally available yet, so leave your email and we'll tell you the moment it launches.

Help us prioritize (optional)

You'll get one email when Pixeltrace is available. If you want to hear more from us, you'll sign up for that separately (later).

Frequently asked questions

Why does Hotjar show blank recordings on my Flutter web app?
Hotjar records and replays the DOM, but Flutter web renders to a canvas with no DOM elements. With nothing in the DOM to capture, Hotjar recordings appear blank. This is an architectural limitation, not a setup error.
Is there a Hotjar alternative that works with Flutter?
Pixeltrace is built for Flutter web specifically: it records the rendered canvas frames so visual replay works where DOM-based tools like Hotjar cannot. It is still in development; you can join the waitlist now.

Related

← Back to Pixeltrace home