API reference
The complete API reference for Deno: runtime APIs available in the Deno namespace, supported web platform APIs, and the Node.js built-in modules Deno provides for compatibility.
Deno APIs
View all symbolsNon-standard APIs in the global Deno namespace: file system, network, subprocesses, testing, FFI, and more.
- Bundle
- BundlerBundle TypeScript and JavaScript code, along with their dependencies, into a single file.
- CloudTools for managing state, scheduling tasks, and interacting with key-value stores.
- ErrorsError types and utilities for handling exceptions and custom error scenarios.
- FetchHTTP client for fetching data across a network.
- FFIForeign Function Interface.
- File SystemFile System APIs for working with files, directories, and file metadata.
- GPUGPU programming and rendering.
- HTTP ServerHandling HTTP requests, serving responses, and managing server behavior.
- I/OInterfaces for reading, writing, seeking, and managing resources.
- JupyterCreate interactive notebooks and execute code cells.
- LinterInterfaces and helpers for writing and testing custom lint rules.
- NetworkA wide range of networking tasks, from low-level connections to high-level server creation.
- PermissionsPermission system controls access to resources (e.g., file system, network, environment variables).
- RuntimeSystem-related functionality, process management, and observability.
- SubprocessSpawn and manage child processes, execute commands, and collect output.
- TelemetryOpenTelemetry observability integration tools.
- TestingRobust testing and benchmarking capabilities to ensure code quality and performance.
- WebSocketsEnable real-time communication between clients and servers using WebSockets.
- Other APIs
Web APIs
View all symbolsWeb platform standards implemented by Deno: fetch, streams, workers, crypto, and other browser-compatible APIs.
- CacheTools for caching and managing data.
- CanvasCreate, transform, and display images and graphics within the HTML element.
- CryptoCryptographic functionality for secure communication, data protection, and key management.
- EncodingHandle character encoding, decoding, and binary data conversion.
- EventsHandle events and interactions.
- FetchHTTP client for fetching data across a network.
- FileFile and data manipulation tools.
- Geometry Interfaces Module API
- GPUGPU programming and rendering.
- I/OInterfaces for reading, writing, seeking, and managing resources.
- IntlTools for internationalization and localization.
- MessagingFacilitate communication between different parts of an application, allowing data exchange and coordination.
- PerformanceMeasure, analyze, and optimize application performance.
- PlatformA set of essential interfaces and functions to interact with the browser environment.
- StorageStore data locally within the browser.
- StreamsManage data streams, queuing strategies, and transformations.
- URLManipulate URLs, extract data from URLs and manage query parameters.
- WasmEfficiently execute computationally intensive tasks.
- WebSocketsEnable real-time communication between clients and servers using WebSockets.
- WorkersRun script operations in background threads.
- Other APIs
Node APIs
View all symbolsNode.js built-in modules supported in Deno for backwards compatibility, importable via the node: scheme.
- node:assertThe node:assert module provides a set of assertion functions for verifying invariants.
- node:async_hooksWe strongly discourage the use of the async_hooks API.
- node:bufferBuffer objects are used to represent a fixed-length sequence of bytes.
- node:child_processThe node:child_process module provides the ability to spawn subprocesses in a manner that is similar, but not identical, to popen(3) .
- node:clusterDeno compatibility All exports are non-functional stubs.
- node:consoleThe node:console module provides a simple debugging console that is similar to the JavaScript console mechanism provided by web browsers.
- node:constants
- node:cryptoThe node:crypto module provides cryptographic functionality that includes a set of wrappers for OpenSSL's hash, HMAC, cipher, decipher, s...
- node:dgramThe node:dgram module provides an implementation of UDP datagram sockets.
- node:diagnostics_channelThe node:diagnostics_channel module provides an API to create named channels to report arbitrary message data for diagnostics purposes.
- node:dnsThe node:dns module enables name resolution.
- node:dns/promisesThe dns.promises API provides an alternative set of asynchronous DNS methods that return Promise objects rather than using callbacks.
- node:domainDeno compatibility All exports are non-functional stubs.
- node:eventsMuch of the Node.js core API is built around an idiomatic asynchronous event-driven architecture in which certain kinds of objects (calle...
- node:fsThe node:fs module enables interacting with the file system in a way modeled on standard POSIX functions.
- node:fs/promisesThe fs/promises API provides asynchronous file system methods that return promises.
- node:httpTo use the HTTP server and client one must import the node:http module.
- node:http2The node:http2 module provides an implementation of the HTTP/2 protocol.
- node:httpsHTTPS is the HTTP protocol over TLS/SSL.
- node:inspectorDeno compatibility console is supported.
- node:inspector/promisesThe node:inspector/promises module provides an API for interacting with the V8 inspector.
- node:module
- node:netStability: 2 - Stable The node:net module provides an asynchronous network API for creating stream-based TCP or IPC servers ( createServe...
- node:osThe node:os module provides operating system-related utility methods and properties.
- node:pathThe node:path module provides utilities for working with file and directory paths.
- node:perf_hooksThis module provides an implementation of a subset of the W3C Web Performance APIs as well as additional APIs for Node.js-specific perfor...
- node:process
- node:punycode**The version of the punycode module bundled in Node.js is being deprecated.
- node:querystringThe node:querystring module provides utilities for parsing and formatting URL query strings.
- node:readlineThe node:readline module provides an interface for reading data from a Readable stream (such as process.stdin ) one line at a time.
- node:readline/promises
- node:replDeno compatibility All symbols are not supported.
- node:seaDeno compatibility All symbols are not supported.
- node:sqliteDeno compatibility This module has been added in Deno v2.2.
- node:streamA stream is an abstract interface for working with streaming data in Node.js.
- node:stream/consumersThe utility consumer functions provide common options for consuming streams.
- node:stream/promises
- node:stream/web
- node:string_decoderThe node:string_decoder module provides an API for decoding Buffer objects into strings in a manner that preserves encoded multi-byte UTF...
- node:testThe node:test module facilitates the creation of JavaScript tests.
- node:test/reportersThe node:test/reporters module exposes the builtin-reporters for node:test .
- node:timersThe timer module exposes a global API for scheduling functions to be called at some future period of time.
- node:timers/promisesThe timers/promises API provides an alternative set of timer functions that return Promise objects.
- node:tlsThe node:tls module provides an implementation of the Transport Layer Security (TLS) and Secure Socket Layer (SSL) protocols that is buil...
- node:trace_eventsDeno compatibility All exports are non-functional stubs.
- node:ttyThe node:tty module provides the tty.ReadStream and tty.WriteStream classes.
- node:urlThe node:url module provides utilities for URL resolution and parsing.
- node:utilThe node:util module supports the needs of Node.js internal APIs.
- node:util/types
- node:v8Deno compatibility cachedDataVersionTag and getHeapStatistics , serialize and deserialize are supported.
- node:vmThe node:vm module enables compiling and running code within V8 Virtual Machine contexts.
- node:wasiDeno compatibility All exports are non-functional stubs.
- node:worker_threadsThe node:worker_threads module enables the use of threads that execute JavaScript in parallel.
- node:zlibThe node:zlib module provides compression functionality implemented using Gzip, Deflate/Inflate, and Brotli.