A modern runtime for JavaScript and TypeScript


Deno is a simple, modern and secure runtime for JavaScript, TypeScript, and WebAssembly that uses V8 and is built in Rust.

  1. Provides web platform functionality and adopts web platform standards.
  2. Secure by default. No file, network, or environment access, unless explicitly enabled.
  3. Supports TypeScript out of the box.
  4. Ships only a single executable file.
  5. Has built-in development tooling like a dependency inspector (deno info) and a code formatter (deno fmt).
  6. Has a set of reviewed (audited) standard modules that are guaranteed to work with Deno:
  7. Has a number of companies interested in using and exploring Deno.


Deno ships as a single executable with no dependencies. You can install it using the installers below, or download a release binary from the releases page.

Shell (Mac, Linux):

curl -fsSL | sh

PowerShell (Windows):

irm | iex

Homebrew (Mac):

brew install deno

See deno_install for more installation options.

Getting Started

Try running a simple program:

deno run

Or a more complex one:

import { serve } from "";serve(req => new Response("Hello World\n"));

You can find a more in depth introduction, examples, and environment setup guides in the manual.

Runtime Documentation

The basic runtime documentation for Deno can be found on

Deno comes with a manual which contains more in depth explanations about the more complex functions of the runtime, an introduction to the concepts that Deno is built on, details about the internals of Deno, how to embed Deno in your own application and how to extend Deno using Rust plugins.

The manual also contains information about the built in tools that Deno provides.

Standard Modules

Next to the Deno runtime, Deno also provides a list of audited standard modules that are reviewed by the Deno maintainers and are guaranteed to work with a specific Deno version. These live in the denoland/deno_std repository.

These standard modules are hosted at and are distributed via URLs like all other ES modules that are compatible with Deno.

Built-in Toolchain

Deno comes with a robust set of tools, so you can spend less time searching and evaluating third party modules, and more time writing code and being productive. Here are a few examples.

Lint all JS/TS files in the current directory and subdirectories:

deno lintChecked 54 files

Format all supported files in the current directory and subdirectories:

deno fmtChecked 46 files

Run a test:

deno test 3 tests from we can make chai assertions ... ok (8ms)test we can make chai expectations ... ok (2ms)test we can use chai should style ... ok (4ms)
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out (27ms)

For the full list of tools and their options, see here.


Here are some examples that you can use to get started immediately.

  1. Hello World
  2. Importing & Exporting
  3. Dependency Management
  4. HTTP Requests
  5. HTTP Server: Hello World

For more examples, check out