On this page
Web Standards and Node APIs
Deno aims to narrow the gap between browser and server-side JavaScript by providing the same web APIs that are available client side, in the server. This means if you know how to program for a browser, you already know how to program Deno!
Existing Node.js ecosystem compatibility is provided through a built-in compatibility layer that allows you to use any npm package directly in Deno.
Deno also provides its own Deno specific APIs, accessible under the Deno
global namespace, that are performant, simple ways to do server-side only
operations.
Web Platform APIs Jump to heading
If you’ve ever built for the browser, you’re already on familiar ground. Deno supports standard web APIs (like fetch, WebSockets, and more) instead of proprietary alternatives. This means your existing web knowledge can be used in your Deno projects.
For more information about the web platform APIs, see the Web Platform APIs documentation.
Node.js built-in APIs Jump to heading
Deno’s Node.js compatibility isn’t about replacing Node, it’s about coexistence.
Developers can gradually migrate their projects, leveraging Deno’s security
features and built in tooling while benefiting from Node.js libraries. Many
Node.js libraries are battle-tested and widely used. Deno’s compatibility allows
developers to reuse this code seamlessly. No need for a complete rewrite—just
import your favorite Node.js modules with a node:
prefix, (eg node:fs
) and
they will operate exactly as they do in Node.js.
For more information about Node.js compatibility, see the Node.js Compatibility documentation.
Deno APIs Jump to heading
The global Deno namespace offers APIs that go beyond web standards. These APIs allow you to interact with system-level tasks such as the environment, file system, network, and more. For more information about the Deno namespace APIs, see the Deno Namespace documentation.