DartVM in WebAssembly

Edit Dart, run it. CFE compiles in browser (dart2wasm); VM runs via ARM simulator (emcc); Dart analyzer also compiled to WebAssembly. STATEFUL HOT RELOAD on the web, compiled to WebAssembly.
Loading…

About this project

The Dart VM is compiled to WebAssembly and runs entirely in your browser, no server involved.

The kernel front-end (dart2wasm) compiles your source to kernel bytes in-page, the VM (emcc with an ARM simulator) executes it, and the Dart analyzer (also dart2wasm) provides type checking and diagnostics live as you type.

The editor is Monaco (the VS Code editor), wired up with Dart syntax highlighting and the CodeLens API so each top-level function gets clickable ▶ Invoke / ▸ IL buttons inline above its declaration.

Hot reload uses IsolateGroup::ReloadKernel internally and preserves program state across reloads, just like Flutter. Invoke lets you call any zero-argument top-level function on the live isolate, bypassing entry-point pragmas via --no-verify-entry-points.

Future.delayed uses emscripten_sleep via Asyncify, so awaits really wait wall-clock time without blocking the page.

Dart source Cmd-Enter to run
analyzer loading…
Program output
Loading…