Deno
by Deno Land Inc.
js. json.
Definition
Deno is a modern JavaScript, TypeScript, and WebAssembly runtime built on the V8 engine and Rust, created by Ryan Dahl — the original creator of Node.js — to address design regrets from Node.js. It ships with built-in TypeScript support, a secure-by-default permissions model, and a standard library, without requiring npm or a separate package.json.
Overview
Deno was announced by Ryan Dahl in 2018 in a talk titled '10 Things I Regret About Node.js,' and released as 1.0 in 2020. Its core design goals directly address perceived Node.js shortcomings: security, simplicity, and native TypeScript support. Unlike Node.js, Deno scripts run in a sandbox by default — no file, network, or environment access is granted unless explicitly allowed via flags like `--allow-net` or `--allow-read`, making it harder for a malicious or compromised dependency to exfiltrate data silently. Deno supports ES modules natively and can import code directly via URLs or npm specifiers (`npm:package-name`), eliminating the traditional node_modules folder and package.json-centric workflow, though it also supports npm compatibility for existing ecosystem packages. It ships as a single executable with a built-in toolchain: a formatter (`deno fmt`), linter (`deno lint`), test runner (`deno test`), bundler, and dependency inspector, reducing the need for external tooling like Prettier, ESLint, or Webpack for many projects. Deno also introduced Deno Deploy, a globally distributed edge runtime for hosting Deno applications close to users, and later Fresh, a server-side rendering web framework built specifically for Deno with 'island architecture' for minimal client-side JavaScript. Deno 2, released in 2024, significantly improved Node.js and npm compatibility to ease migration, positioning Deno less as a Node.js replacement and more as a modernized, secure alternative that can interoperate with the existing JavaScript ecosystem. While Node.js retains dominant market share and ecosystem gravity, Deno has found adoption among teams prioritizing security sandboxing, TypeScript-first development, and simplified tooling, and it competes directly with both Node.js and Bun in the JavaScript runtime space.
Key Features
- Secure-by-default sandbox: no file, network, or env access without explicit permission flags
- Native TypeScript support with no separate compilation step required
- Built-in tooling: formatter, linter, test runner, and bundler ship with the runtime
- ES modules with URL and npm: specifier imports, no mandatory node_modules
- Deno 2 adds strong Node.js and npm ecosystem compatibility
- Single self-contained executable, written in Rust on top of the V8 engine
- Deno Deploy offers a globally distributed edge hosting platform
- Fresh framework provides server-rendered apps with island architecture
Use Cases
Alternatives
History
Deno is a secure runtime for JavaScript, TypeScript, and WebAssembly, built on the V8 engine and the Rust programming language (its earliest prototype was written in Go). It was announced by Ryan Dahl — the original creator of Node.js — at JSConf EU 2018 in his talk "10 Things I Regret About Node.js," and co-created with Bert Belder; it was designed to correct decisions Dahl regretted in Node, such as the module system and the lack of a security sandbox. Deno is secure by default (file, network, and environment access must be explicitly granted), supports TypeScript out of the box, and ships a batteries-included toolchain. Deno 1.0 was released on May 13, 2020.
Sources
- Deno — official website · as of 2026-07-17
- Deno on GitHub — denoland/deno · as of 2026-07-17