Deno, the drop-in JavaScript runtime for Node developers

Introducing celld: self-hosted, distributed Durable Objects

Deno is a fast, open-source, fully Node-compatible JS runtime with TypeScript and everything else you need baked right in.

Faster than Node; more stable than Bun.

Built-in tools: package manager, test runner, formatter, linter, task runner, type checker, coverage tool, workspace manager, benchmarker, doc generator, jupyter kernel, compiler, desktop app builder.

Install Deno 2.9.7

$ curl -fsSL https://deno.land/install.sh | sh

Or let your agent do it

Paste this into any coding agent.

Read deno.com/agents.md and set up Deno in this project

Everything just works

TypeScript, JSX, and npm, straight from source. No tsc, no ts-node, no bundler, no config to get in the way.

import { Hono } from "hono";

interface Book {
  title: string;
  year: number;
}

const books: Book[] = [{ title: "Deno", year: 2018 }];

const app = new Hono();
app.get("/books", (c) => c.json(books));

export default app;
{
  "name": "project-with-npm-deps",
  "dependencies": {
    "chalk": "^5.6.2",
    "hono": "^4.12.27"
  }
}

Zero-setup TypeScript and npm

Import npm packages just like you would anywhere else. Full type-checking is one deno check away.

Your Node project, without the Node problems

Deno runs Node code and understands lockfiles (even pnpm and yarn), to make any project simple to run with Deno.

Drops right in

Built-in everything

From formatting and linting to testing and package management, Deno is designed with seamless developer experience in mind. Stop configuring; start building.

deno task
deno serve
deno fmt
deno lint
deno test
deno bench
deno check
deno compile
deno desktop
deno doc

Run project tasks (docs)

$ deno task dev
Task dev deno run -A --watch main.ts
Watcher Process started.
Listening on http://localhost:8000/
$

A faster package manager

Deno supports npm workspaces, and can read npm, yarn, and pnpm lockfiles.

On the cutting edge of JavaScript

The same fetch, Request, Response, and Crypto APIs you use in the browser, now on the server — and as a TC39 and WinterCG participant, Deno is regularly first to ship new standards-track features.

Available today: Temporal · Set methods · Iterator helpers · Promise.try · Float16Array

Granular security controls

Deno blocks file system, network, and environment access by default. Customize, layer, and audit security settings for any use case.

Three layers of defense

Access is denied by default and opened on purpose. Security from end to end, at every layer.

  1. Default deny

  2. Scoped grants

  3. Audits

Faster than you think

Deno doesn't stop improving. If you haven't looked in a while, you might be surprised just how fast we've gotten.

See anything, understand everything

Don't just ship code; inspect it deeply at every level with native OpenTelemetry, profiling, and debugging all built-in from the start

OTEL in 5 seconds

OTEL_DENO=true

Profiling

deno run --cpu-prof

Debugging

deno run --inspect-brk

Deploy Deno anywhere

One binary, every platform. Drop Deno into your existing container, serverless function, or VM. No rewrites, no extra tooling.

And now, the desktop

Deno Desktop builds native, cross-platform desktop apps from the web stack you already know — your frontend, your TypeScript backend, one binary on the desktop. No Electron-sized bundle, no Chromium to ship, no second runtime to manage.

$ deno desktop --all-targets main.ts
Building native installers…
✓ main.app
✓ main.dmg
✓ main.msi
✓ main.AppImage

Loved by developers

100k+ GitHub stars

400k+ Monthly active users

Trusted in production by teams at Slack, Netlify, GitHub, Supabase, Salesforce, Spotify, Stripe, Bank of America, Tencent.

Better JavaScript

Install Deno in a few seconds. Bring an existing project over and see it run.