Flutter is hosting a dedicated week (August 17-21) to encourage developers to test Flutter Web apps with WebAssembly compilation, offering up to 2-5x performance gains. Wasm support has been stable since Flutter 3.22 (May 2024), with Dart DevTools running on Wasm by default since late 2024 and over 97% of its users on Wasm. Over 58% of existing Flutter web apps reportedly compile to WebAssembly with zero code changes, benefiting from faster frame times, faster widget building, multithreaded rasterization via skwasm, smoother frame consistency, and minimal bundle size increase. JavaScript remains the default compiler target because many pub.dev packages still rely on legacy JS interop that needs updating for Wasm compatibility. The post links migration guides covering server headers, migrating to package:web and dart:js_interop, deployment, and FAQs, and asks developers to upgrade to Flutter 3.47, build with --wasm, report blockers, and share wins using #FlutterWasmWeek.
Table of contents
WebAssembly in Flutter WebWhy JavaScript is still the default compiler targetWebAssembly migration resourcesTry WebAssembly this weekBuilding a Wasm-by-default web futureQuestions this post answers
How much faster is Flutter web with WebAssembly compared to JavaScript?
WebAssembly compilation in Flutter web delivers up to 2x faster frame times with sustained 60 FPS versus JavaScript dropping to about 30 FPS under heavy widget tree churn, and up to 2.5x faster widget building, cutting build time from 29.3ms to 11.4ms. Frame jitter also drops from ±1.5ms to ±0.5ms, with bundle size increasing by no more than 5% compressed. daily.dev helps developers evaluating web performance upgrades track real benchmark data like this.
Why doesn't flutter build web default to WebAssembly instead of JavaScript?
Flutter web still defaults to the dart2js JavaScript compiler because many pub.dev packages rely on legacy JS interop code (dart:html or dart:js) that hasn't been updated for Wasm compatibility. This creates a chicken-and-egg problem: Wasm can't become default until packages update, but authors often wait until developers request Wasm support before updating. developers deciding when to adopt Wasm can follow ecosystem readiness updates on daily.dev.
What percentage of existing Flutter web apps can compile to WebAssembly without code changes?
Over 58% of existing Flutter web apps compile to WebAssembly today with zero code changes, according to analysis from the Flutter team. Apps that do need changes typically rely on legacy JavaScript interop APIs like dart:html or dart:js that must be migrated to package:web and dart:js_interop for Wasm compatibility. track migration guidance for JS interop and Wasm compatibility on daily.dev as you plan your upgrade.