Run Node.js
in the browser
A lightweight runtime with virtual filesystem, npm support, shell, and dev servers. Build coding playgrounds and agentic flows entirely in the browser.
What's inside the runtime
In-memory file system.
Complete Node.js-compatible filesystem with directories, symlinks, file watching, and snapshot serialization.
npm & pnpm built in.
Fetch and install packages from the npm registry. Handles dependency resolution, semver ranges, and caching.
TypeScript & JSX.
Powered by esbuild-wasm for TypeScript, JSX, and ESM transpilation directly in the browser.
Full shell environment.
Pipes, logical operators, built-in commands (ls, cat, cd, mkdir, rm, echo), and extensible command registration.
HTTP server with HMR.
Serves files and handles routes inside the browser via Service Workers. Supports hot module replacement.
React, Vue, Next.js & more.
Works with React, Vue, Svelte, Astro, Next.js, Nuxt, Vite, Express, and Hono.
Serialize & restore.
Save the entire container state (filesystem, packages, environment) and restore it on next boot.
Comprehensive API coverage.
Polyfills for fs, path, process, http, crypto, stream, child_process, events, and others.
Ready-made editor & terminal.
CodeEditor with Shiki syntax highlighting, Terminal, BrowserWindow, and FileExplorer components.
A few lines is all it takes
import { boot } from '@run0/jiki';
// Boot a container with a virtual filesystem
const container = boot({ cwd: '/' });
// Write files, install packages, run code
container.writeFile('/app.js', `
const chalk = require('chalk');
console.log(chalk.green('Hello from jiki!'));
`);
await container.install('chalk');
const result = await container.run('node app.js');
console.log(result.stdout);
// => "Hello from jiki!"See it in action
Claude Coding
Generate a React apllication with Claude, streaming responses and live preview
Mistral Coding
Create a marketing website with Codestral, streaming code with live updates
OpenAI Coding
Use Astro with React, powered by OpenAI GPT-5.4 Mini
React
Multi-page React app with JSX, Tailwind CSS, and client-side routing
Vue
Vue 3 app with Composition API, reactive state, and Tailwind CSS
Svelte
Svelte app with reactive declarations, scoped CSS, and animations
Next.js
Next.js 14 with App Router, HMR, TypeScript, and file-based routing
Nuxt
Nuxt with auto-imports, file-based routing, and server API routes
Try jiki
Install the package and boot a container in a few lines of code.