A modern, fast(eventually), and secure JavaScript & TypeScript runtime built from the ground up in Rust 🦀 and powered by The Nova Engine and Oxc, profiled with HotPath. Zero-config TypeScript support, hardware-accelerated graphics, comprehensive Web APIs, and developer-first tooling for the next generation of JavaScript applications.
Choose your platform to get started
Note: These scripts automatically detect your platform, download the appropriate binary, and add it to your PATH. You can also download and inspect the scripts before running them.
Leveraging Rust's performance and safety guarantees for a lightning-fast runtime experience.
Leveraging the innovative Nova engine to provide a modern JavaScript and TypeScript runtime experience with promising performance potential.
Minimal setup, maximum productivity. Focus on building instead of configuring.
Built-in LSP support with real-time diagnostics, comprehensive linting, and rich error messages for VS Code, Neovim, and other editors.
Hardware-accelerated 2D Canvas API with WGPU backend, linear gradients, and PNG export capabilities for high-performance graphics.
REPL, formatter, bundler, linter, compiler, and self-updater - everything you need for modern JavaScript/TypeScript development.
Build web services with Andromeda.serve() — a fetch-style handler API for Request and Response, no extra dependencies required.
Open real OS windows on macOS, Windows, and Linux with Andromeda.Window, including zero-copy GPU canvas presentation via winit and wgpu.
Formatter, linter, type checker, and bundler all built on Oxc — the Rust JavaScript toolchain — for instant feedback at native speed.
Create stunning visualizations, charts, and graphics with hardware-accelerated Canvas API. Perfect for data visualization, game development, and creative coding.
Build fast automation scripts, data processing pipelines, and system utilities with near-native performance and memory safety.
Stand up HTTP services with Andromeda.serve() — a fetch-style handler that receives a Requestand returns a Response. No extra frameworks, no boilerplate.
Leverage SQLite integration, cryptographic APIs, and performance monitoring for research, analysis, and computational workflows.
| Feature | Andromeda | Node.js | Deno |
|---|---|---|---|
| Memory Usage (Base) | ~41MB | ~89MB | ~116MB |
| Zero-config TypeScript | ✓ Handled natively | ✓ Type step | ✓ Type step |
| Runtime Engine | Nova (Rust) | V8 (C++) | V8 (C++) |
| Hardware-Accelerated Graphics | ✓ WGPU Canvas | ✗ No Canvas | Partial |
| Built-in Database | ✓ SQLite Native | ✓ SQLite (v22+) | ✓ SQLite API |
| Single-file Compilation | ✓ Native | ~ Third-party | ✓ Built-in |
| WinterTC Web Standards | ✓ Full compliance | ✓ Compatible | ✓ Compatible |
| Language Server Protocol | ✓ Integrated | ~ TypeScript LSP | ✓ Built-in |
| Package Resolution | ✓ Import Maps | npm/yarn/pnpm | ✓ Built-in |
| Security Model | Memory safe | Runtime checks | Permissions |
* Performance numbers are from the project's test harness and may not be directly comparable across different runtimes or hardware. See the WPT Metrics below for raw data and links to the test artifacts.
Experience the power of Rust-based JavaScript runtime with zero configuration
Choose your platform to get started
Note: These scripts automatically detect your platform, download the appropriate binary, and add it to your PATH. You can also download and inspect the scripts before running them.
Watch a live demonstration of Andromeda's capabilities
const canvas = new OffscreenCanvas(400, 300);
const ctx = canvas.getContext("2d")!;
// Hardware-accelerated gradients
const gradient = ctx.createLinearGradient(
0, 0, 400, 0
);
gradient.addColorStop(0, "#ff6b6b");
gradient.addColorStop(1, "#4ecdc4");
ctx.fillStyle = gradient;
ctx.fillRect(0, 0, 400, 300);
canvas.saveAsPng("gradient.png");const db = new DatabaseSync("app.db");
db.exec(`CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
email TEXT
)`);
const stmt = db.prepare(
"INSERT INTO users (name, email) VALUES (?, ?)"
);
stmt.run("Alice", "alice@example.com");// Generate secure random values
const id = crypto.randomUUID();
const bytes = crypto.getRandomValues(
new Uint8Array(32)
);
// Hash data with Web Crypto API
const data = new TextEncoder()
.encode("secret");
const hash = await crypto.subtle.digest(
"SHA-256", data
);
console.log("Secure hash:", hash);Everything you need to know to get productive with Andromeda
Andromeda is built by developers, for developers. Join our growing community and help shape the future of JavaScript runtimes.