A JavaScript runtime that carries more than it weighs.

antjs.org · 2026-07-12 · by Long Nguyen ·generic
Run real npm packages and TypeScript - all from a single 9 MB binary. Ant is a lightweight JavaScript runtime built from scratch on its own engine, with a Node-compatible API, a VM-isolated sandbox, and Wasm support built-in.

A JavaScript runtime that carries more than it weighs.

Menu

01

02

By the numbers

Binary size\~8.6 MB

compat-table100%

WinterTCConformant

EngineAnt Silver

03

Cold start

Time to import Hono, register two routes, and exit. No HTTP server is started, so this isolates module resolution and initialization overhead.

ant

5.4 ms

bun

12.8 ms

deno

24.8 ms

node

31.1 ms

5.4 ms mean for Ant, over 100 runs

View benchmark

04.1

Install packages, fast

Install packages up to 40x faster than npm, with no extra tooling to set up.

$ ant i honoinstalled hono@latest1 package installed [155ms]

04.2

From zero to a server

Write a handler, run the file. Ant serves a default fetch export, so real frameworks like Hono work with no adapter.

import { Hono } from 'hono'

const app = new Hono() app.get('/', (c) => c.text('Hello from Ant'))

export default app

$ ant server.js Listening on http://localhost:3000

04.3

TypeScript, no build step

Run TypeScript directly. No tsconfig wrangling, no bundler, no dist folder.

the usual way

$ tsc && node dist/app.js

with Ant

$ ant app.ts

05

Run code you don’t trust

Ant ships with a VM-isolated sandbox, not just a permission prompt. Mount your filesystem as read-only, open only the ports you name, and run untrusted JavaScript behind a hard boundary.

import { Sandbox } from 'ant:sandbox'

const box = new Sandbox(({ mount: '.:/workspace' })) await box.run('untrusted.js') await box.close()

Hardware-isolatedEach sandbox is its own KVM / Hypervisor.framework VM.

Read-onlyMounts are immutable unless you grant write explicitly.

No networkDeny-all by default, forward only the ports you name.

06

A registry for the ecosystem

Packages live on ants.land, the open registry for Ant. It speaks the npm protocol, so anything you publish installs by scope or bare name, with packages working right in your browser from esm.ants.land.

$ ant land login$ ant land publishpublished @you/thing@1.0.0

{}registry.json

1{2 "registry": "ants.land",3 "protocol": "npm", // any package manager4 "managers": \["ant", "npm", "yarn", "pnpm", "bun"\],5 "score": "0-100" // docs, license, compat6}

Browse the registry

07

Install

`$ curl -fsSL https://antjs.org/install | bash`

macOS and Linux on arm64 and x86\_64. no toolchain required

07. ArticlesArticles

building a javascript runtime in one monthbuilding a javascript runtime in one monthJan 2, 2026whats next after building a javascript runtimewhats next after building a javascript runtimeMay 8, 2026......

antjs.org · 2 images · 19 links

Comments (0)

No comments yet