What Is Deno?
Deno is a modern, secure runtime for JavaScript and TypeScript built on V8 and Rust. Created by Ryan Dahl — the original creator of Node.js — Deno was designed to address many of the architectural regrets that came with Node. It ships with TypeScript support out of the box, a secure permission model, and a standard library that doesn't rely on npm.
Installing Deno
Getting Deno up and running takes less than a minute. Choose the method that matches your operating system:
macOS / Linux
curl -fsSL https://deno.land/install.sh | sh
Windows (PowerShell)
irm https://deno.land/install.ps1 | iex
Via Homebrew (macOS)
brew install deno
After installation, verify it worked by running:
deno --version
You should see output showing the Deno version, V8 version, and TypeScript version bundled with it.
Your First Deno Program
Create a file called hello.ts and add the following:
const name: string = "Deno";
console.log(`Hello from ${name}!`);
Run it with:
deno run hello.ts
Notice that you didn't need to compile anything, install dependencies, or configure a bundler. Deno handles TypeScript natively.
Core Concepts You Need to Know
1. No node_modules, No package.json
Deno imports modules directly via URLs. Instead of npm install, you reference a module in your code:
import { serve } from "https://deno.land/std/http/server.ts";
Modules are cached locally after the first download, so subsequent runs are fast and offline-friendly.
2. Secure by Default
Deno programs cannot access the file system, network, or environment variables unless you explicitly grant permission. For example, to allow network access:
deno run --allow-net server.ts
3. Built-in TypeScript
No tsconfig.json required for basic usage. Write .ts files and Deno compiles them on the fly.
4. Standard Library
Deno ships with a curated standard library at deno.land/std covering HTTP, file system, testing, formatting, and more — all reviewed by the Deno team.
Useful Built-in Tools
- deno fmt — Formats your code automatically (like Prettier, built in)
- deno lint — Lints your TypeScript/JavaScript code
- deno test — Runs your test suite without extra libraries
- deno compile — Bundles your app into a standalone executable
- deno repl — Opens an interactive TypeScript/JavaScript shell
What to Learn Next
- Explore the Deno standard library modules for common tasks
- Build a simple HTTP server using the built-in
Deno.serve()API - Understand permissions in depth — they're central to Deno's security model
- Try Fresh or Oak if you want to build web applications
Deno has a well-written official manual at docs.deno.com that's worth bookmarking as you progress. The learning curve is gentle if you already know JavaScript or TypeScript — and rewarding from day one.