Flutter Web runs your Flutter app in the browser. Same Dart, same widgets, same codebase. The output is a static site you can deploy anywhere.
It's best for tools, demos, and internal dashboards. Not a great fit for content-heavy marketing sites, where first-load size and SEO matter more than what Flutter is optimized for.
Setup
Enable web support on your Flutter install, then run it in Chrome.
flutter config --enable-web
flutter run -d chromeHot reload works the same as on mobile. Most of your existing widgets will render without changes.
Build
Build a release version to ship.
flutter build web --releaseThe output lives in build/web. Drop it on Vercel, Netlify, Firebase Hosting, or any static host.
Caveats
Flutter Web has real limits worth knowing up front.
- First-load size is heavy. The app bundle plus CanvasKit can easily be a few MB. Fine for authenticated tools, rough for public marketing.
- Native plugins without a web implementation won't work. Most Supabase and Hive stuff works; camera and advanced device plugins often don't.
- SEO is limited. Flutter renders in Canvas. Search engines can't read it the way they read HTML. For content you want indexed, use Next.js or another server-rendered framework.
If you need a mobile app plus a quick web demo, Flutter Web is fantastic. If you need a real marketing site, use the right tool for the job.