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.

Step 1

Pick a template

Web servers, APIs, realtime apps, or a blank project.

Step 2

Watch it boot

The runtime downloads once and starts in seconds.

Step 3

Build and share

Edit with full language support and open a live URL.

Templates

Start from something real.

Each template is a working project you can change, run, and preview immediately.

SDK

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.

~3 s first time
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); // true
Live output

Live examples need current Chrome with cross-origin isolation.

API overview

Small surface, real capabilities.

  • DartContainer.boot()

    Start a container with a chosen runtime, working directory, and network policy.

  • container.fs

    mkdir, 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.lsp

    Spawn 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.

Request access