BrowserCode is a browser-based playground for fast-prototyping full-stack apps and sharing them instantly. It runs on BrowserPod, a multi-language WebAssembly sandbox (Node.js, Rust, and Python in preview), with no installs, no servers, and no cloud compute.
- What is BrowserCode?
- Quickstart
- Make it your own
- Embedding
- For AI assistants
- Breaking BrowserCode
- Roadmap
BrowserCode is a browser-based coding sandbox. It's a working example of BrowserPod, and includes:
- Node.js v22, Rust and Python (preview) running in the browser via WebAssembly (more runtimes coming)
- A browser-contained, POSIX-like filesystem
- Command line tools: bash, git, npm, pnpm, curl, ripgrep and fd
- Browser sandbox isolation from the user's operating system
- Restricted outbound networking: HTTPS only, to an allowlist that includes the npm registry, Yarn 2+, GitHub (
github.comandraw.githubusercontent.com) and the major AI provider APIs - Instant previews over URL via BrowserPod's portal function
- Support for Vite, Express.js, Svelte, Next, Nuxt, React and Vue (with Wasm overrides)
- Java projects compiled and run in the browser by CheerpJ, available through embeds
BrowserCode started out as a way to run AI coding CLIs entirely client-side. It's since grown into a full IDE: alongside the CLIs, it can boot and preview web frameworks directly in the browser, so you can prototype an agent's output without ever leaving the tab.
BrowserCode 1.3.0 is our latest beta release. It runs a full code editor, development environment, and unmodified versions of Claude Code, Codex CLI and Pi, completely client-side.
Want to try BrowserCode without installing anything? Use the hosted app.
- Go to browsercode.io
- BrowserCode will boot instantly, opening with a quick modal tutorial to guide you
- Pick an agent from the sidebar, or open the IDE playground to boot a framework template
- Claude Code signs in by copying a code from a separate tab; Codex CLI asks for an OpenAI API key, stored in your browser; Pi signs in to the provider of your choice with its own
/login
Want to run your own copy, customize the CLIs, or contribute? Clone the repo and run it locally.
-
Clone the repository and install dependencies
git clone https://github.com/leaningtech/browsercode.git cd browsercode npm install -
Get a BrowserPod API key at browserpod.io and expose it to the app as
VITE_API_KEYecho "VITE_API_KEY=your-key-here" > .env
-
Start the dev server
npm run dev
-
Open the printed local URL in a supported browser
Other useful scripts:
npm run build— build a production bundlenpm run preview— preview the production build locallynpm run check— type-check the projectnpm run lint/npm run format— lint and format with Prettier + ESLint
CLI availability and behavior are configured in src/lib/config/tools.ts — this is the place to start if you want to add or tweak a CLI.
BrowserCode can run inside another site's page through /embed, composed entirely from the query string.
<iframe
src="https://browsercode.io/embed?framework=vite&view=preview"
allow="cross-origin-isolated"
style="width: 100%; height: 600px; border: 0"
></iframe>BrowserPod needs SharedArrayBuffer, so the embedding page must send Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp, and the iframe must carry allow="cross-origin-isolated". Java embeds (runtime=cheerpj) run on CheerpJ instead of BrowserPod and don't need them.
Parameters, panes and further detail are in docs/embedding.md.
If you are an assistant helping someone use BrowserCode, read browsercode.io/llms.txt. One page, no crawling: the URL grammar for templates, repo clones and agent sessions, the embed snippet with the headers a host page has to send, and the sandbox constraints that decide whether BrowserCode suits a given project at all.
This is BrowserCode beta. Don't be kind to it. Stretch it, bend it, find out what breaks. Here are a few walls you might hit:
- At launch, each agent is given an instructions file (
CLAUDE.mdfor Claude Code,AGENTS.mdfor Codex CLI and Pi) so it understands it is running in a custom environment. However, it may first attempt its default behavior before referencing the file - Pi is installed from npm on its first launch. For Anthropic, pick Copy code login in
/login: the default browser login redirects to alocalhostcallback that can't reach the pod - BrowserCode doesn't yet support native binaries. For more information, see the BrowserPod documentation
- Outbound connections are HTTPS-only (port 443) and limited to the allowlist: plain HTTP, SSH (so
git@github.comremotes) and other ports are refused, and so islocalhostfrom inside a pod. Portals still expose servers you start in a pod - Agents and Node.js projects require WebAssembly JSPI: Chrome and Edge 137+, Firefox 153+ or Safari 27+. They also don't run on iOS or iPadOS yet, on any browser. Java projects run on CheerpJ and need neither. For maximum compatibility, please use a Chromium browser on the desktop
| CLI | Status | |
|---|---|---|
| Claude Code | ✅ Beta open now | |
| Codex CLI | ✅ Beta open now | |
| Pi | ✅ Beta open now | |
| Antigravity | 🚧 Coming soon | |
| OpenCode | 🚧 Coming soon |
Cloning GitHub repos directly into your BrowserCode workspace is available in beta from the IDE landing page.