A complete Dart workspace, in your browser tab.
Start from a template, write code with full language support, run servers, install packages, and share a live link. Nothing to install, nothing to provision. It all runs right here.
Pick a template
Web servers, APIs, realtime apps, or a blank project.
Watch it boot
The runtime downloads once and starts in seconds.
Build and share
Edit with full language support and open a live URL.
Start from something real.
Each template is a working project you can change, run, and preview immediately.
Shelf Web Server
HTTP server with a live status page
The classic Dart web server. Shelf middleware, an HTML landing page, and two JSON endpoints that the page polls in real time.
shelfOpenREST API with shelf_router
JSON CRUD API with routing and CORS
An in-memory notes API: typed routes with path parameters, JSON request parsing, CORS middleware, and an interactive docs page to exercise every endpoint.
shelf · shelf_routerOpen- Experimental: Jaspr's server runtime currently hits an unsupported dart:io call on the WebAssembly VM; the project compiles and analyses but does not serve yet.
Jaspr Server-Rendered Site
Component-based HTML rendered by Dart
Build pages with Jaspr's Flutter-like component model and render them on the server. Composable StatelessComponents, typed HTML helpers, and a shelf pipeline you control.
jaspr · shelfOpen WebSocket Chat
Realtime broadcast over WebSockets
A chat room where every visitor sees every message. shelf_web_socket upgrades connections, the server fans out JSON events, and the built-in page connects through the preview relay.
shelf · shelf_web_socket · web_socket_channelOpenStatic Site Server
Serve HTML, CSS, and JS from a folder
A static file server built on shelf_static. Edit anything under web/ and reload the preview. Great for prototyping plain web pages with a real HTTP server behind them.
shelf · shelf_staticOpenConsole App
Command-line program with argument parsing
A classic terminal program: parses flags with package:args, prints a colored banner, and runs a small benchmark. Everything shows up in the program terminal.
argsOpenEmpty Dart Project
Just a pubspec and a main function
Start from nothing. No dependencies to resolve, so the container is ready in seconds. Add packages by editing pubspec.yaml or running dart pub add in the terminal.
No dependenciesOpen
Build your own Dart experiences.
Everything on this site is built on the Dart Containers SDK: a small JavaScript library that boots a Dart environment inside any web page and lets you drive it like a machine. Files, processes, packages, language tooling, and networking, all from a few lines of code.
Boot a container
One call downloads the signed runtime, starts the Dart VM inside a worker, and hands back a container you can drive like a machine.
import DartContainer from "https://sdk.dart.land/stable/dart-container.js";
const container = await DartContainer.boot({
runtime: { host: "browser", engine: "jit" },
workdirName: "playground",
});
console.log(container.info.dartVersion); // 3.13.2
console.log(container.workdir); // /playground
console.log(container.capabilities.process.pty); // trueLive examples need current Chrome with cross-origin isolation.
Small surface, real capabilities.
DartContainer.boot()Start a container with a chosen runtime, working directory, and network policy.
container.fsmkdir, readdir, readFile, writeFile, rename, rm, stat, and recursive watch.
container.spawn()Run dart or a POSIX shell, with streaming output, stdin, signals, and PTY resize.
container.pubGet() · pubAdd()Resolve and mount pub.dev packages through a hosted, verified resolver.
container.on('port')Detect listeners the moment they open and receive public preview URLs.
DartContainer.lspSpawn the Dart Analysis Server and speak LSP: diagnostics, completion, refactors.
container.mount() · export()Load a project tree in one call and export it back as JSON or a zip.
container.network.fetch()Brokered HTTPS requests from the sandbox, governed by an allow/deny policy.
Runs on the visitor's machine
No servers to scale or secure. Every session gets a private VM inside the page, and it disappears when the tab closes.
Real Dart, real packages
The official SDK, the official analyzer, and pub.dev. What works locally works here, including servers and shells.
Made for embedding
Docs with runnable examples, interactive courses, support tools, or a full IDE like this one. One import, no build step.
Want to use the SDK in your product?
We're onboarding teams gradually. Tell us what you're building and we'll be in touch.