Skip to main content

Deno v1.40.5
Next-generation JavaScript runtime

Deno is the most productive, secure, and performant JavaScript runtime for the modern programmer.

Trusted by major organizations

  • Slack
  • Netlify
  • GitHub
  • Supabase
  • Google
  • Salesforce
  • Stripe
  • Bank of America
  • Rating
    90k+
    Stars on GitHub
  • Community
    250k+
    Active developers using Deno
  • Ecosystem
    2M+
    Community modules

Native TypeScript support

The Deno runtime natively supports TypeScript, JSX, and modern ECMAScript features with zero configuration.
interface Person {
  name: string;
  age: number;
}

function greet(person: Person): string {
  return "Hello, " + person.name + "!";
}

const alice: Person = {
  name: "Alice",
  age: 36
};

console.log(greet(alice));

Modern language features, built-in

Batteries included

The essential tools you need to build, test, and deploy your applications are all included out of the box.

Code linter

$ deno lint --watch

Deno ships with a built-in code linter to help you avoid bugs and code rot.

Learn more

Standalone executables

Deno.serve(req => new Response("Hello!"));
$ deno compile --allow-net server.ts

$ ./server
Listening on http://localhost:8000/

Instantly create standalone executables from your Deno program. It even supports cross-compiling for other platforms!

Learn more

Test runner

$ deno test main_test.ts
Deno.test("1 + 2 = 3", () => {
  const x = 1 + 2;
  console.assert(x == 3);
});

Deno provides a test runner and assertion libraries as a part of the runtime and standard library.

Learn more

Code formatter

$ deno fmt --line-width=120

Deno's built-in code formatter (based on dprint) beautifies JavaScript, TypeScript, JSON, and Markdown.

Learn more

Secure by default

A program run with Deno has no file, network, or environment access unless explicitly enabled.

Prevent supply chain attacks

Stop worrying about npm modules introducing unexpected vulnerabilities. Deno restricts access to the file system, network, and system environment by default, so code can access only what you allow.

Backward compatibile with Node.js

Deno's Node.js compatibility layer means you can bring the best of the Node ecosystem with you to Deno.
server.ts
import express from "npm:express@4";

const app = express();

app.get("/", function (_req, res) {
  res.send("hello");
});

app.listen(3000, () => {
  console.log("Express listening on :3000");
});
$ deno run --allow-net --allow-read --allow-env server.js

Compatible with millions of npm modules

Include modules from npm in your Deno projects using npm:specifiers.

Built for the cloud

Whether you deploy with our lightning-fast Deno Deploy or on other cloud providers, Deno streamlines your experience.

Deno Deploy

The easiest way to host your Deno projects.

  • Checkmark iconGlobally distributed
  • Checkmark iconDeploy in seconds
  • Checkmark iconBuilt-in key/value database
  • Checkmark iconIntegrate with GitHub for CI/CD
  • Checkmark iconRun static sites, apps, and edge functions
  • Checkmark iconNo config needed
  • Checkmark iconOne-click immediate rollbacks

High-performance networking

Out of the box support for:
  • HTTPS (encryption)
  • WebSocket
  • HTTP2
  • Automatic response body compression
server.ts
Deno.serve(req => new Response("Hello world"));

Bigger is better

Throughput, requests per sec

200059
95879
Deno
Node
Deno KV logo

Seamless persistence with Deno KV

The Deno runtime ships with Deno KV, a key/value database designed for globally distributed applications.

Go from development to production on Deno Deploy with no API keys or infrastructure to configure.

Fresh

Fresh is a modern web framework, designed from the ground up for the Deno runtime on edge servers.

  • Checkmark iconBuilt for speed, reliability, and simplicity
  • Checkmark iconJust-in-time rendering at the edge
  • Checkmark iconIsland-based client hydration
  • Checkmark iconZero runtime overhead

SaaSKit

Built on top of Fresh, the SaaSKit template app includes authentication, billing, and more.

  • Checkmark iconUser authentication with oAuth 2.0
  • Checkmark iconRecurring payments implemented with Stripe
  • Checkmark iconSessions and authorization pre-built
  • Checkmark iconFast, lightweight persistence with Deno KV

Our vibrant community

“I know this was gonna happen! Deno is truly building the fastest, most secure and personalizable JS runtime!”
Manu (Qwik)
“Deno's security model is PERFECT for this type of script. Running a script from a rando off the internet? It asks for read access to only the CWD and then asks for access to the file it wants to write to. 👏”
Wes Bos
“I really think Deno is the easiest and most capable JS runtime. URL imports are slept on.”
Atalocke
“npm packages in Deno 👀 That’s an exciting development for those of us building at the edge.”
Jason Lengstorf
“This Deno thing is fast, no doubt about it. #denoland”
Poorly Funded Snob
“Deno: I have to use the browser APIs cause they are everywhere, and everywhere is my target runtime (the web). The runtime that tries to mirror browser APIs server side makes my life easiest.”
Taylor Young
“Deno is fantastic. I am using it to level up a bit in terms of JavaScript and TypeScript and it is the easiest way to get going. Their tooling is like 100x simpler than all the usual Node stacks.”
Stefan Arentz

Ready to get started with Deno?