Awesome Deno Awesome

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

This list is a collection of the best Deno modules and resources.

Contents

Docs

Official Docs

External Docs

Online Playgrounds

Modules

Automation

  • autopilot - Autopilot - Cross-platform web automation with Deno.
  • swissknife - SwissKnife - Deno Swiss Knife tools for Windows.

CLI utils

  • cac - Simple yet powerful framework for building command-line apps.
  • charmd - A simple, extendable markdown renderer for your terminal.
  • chart - Console ASCII line charts with no dependencies.
  • cli-spinner - Show spinners in the terminal while running long tasks.
  • cliffy - The complete solution for building interactive command-line tools.
  • clite - Automatic CLI generation from a class.
  • kia - Simple terminal spinners for Deno 🦕
  • terminal_images - A Deno module and CLI tool for displaying images in the terminal.
  • tui - Module which allows easy creation of Terminal User Interfaces.
  • with-env - Simple command line utilty for executing commands with one or more .env files.
  • yargs - The modern, pirate-themed successor to optimist.

Cloud APIs

  • aws-api - From-scratch Typescript AWS API client built for Deno.
  • googleapis - Auto-generated Google API clients for Deno.

Database

  • aloedb - Light, Embeddable, NoSQL database for Deno without dependencies.
  • cotton - SQL Database Toolkit for deno
  • dangoDB - A MongoDB ODM for Deno.
  • denodb - MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.
  • deno_mongo - MongoDB database driver.
  • deno_mysql - MySQL database driver.
  • dndb - Persistent and embedable NoSQL database engine written for Deno 🦕.
  • dongoose - A simple and easy to use ORM for Deno KV.
  • dsddb - A dead simple persistant key-value database utilizing the JSON format.
  • dso - A simple ORM library based on mysql.
  • maxminddb - A library that enables the usage of MaxmindDB geoIP database files
  • nessie - Create, migrate and rollback migrations for PostgreSQL, MySQL and SQLite.
  • postgres - Driver for PostgreSQL database.
  • r2d2 - Fast, lightweight Redis client library for Deno.
  • redis - An experimental implementation of redis client for deno.
  • sql-builder - An sql query builder.
  • yongo - Subset of Mongoose api in deno (like populate) but will not fully copy mongoose

Editor framework

  • Denops - 🐜 An ecosystem to write Vim/Neovim plugins with Deno.

Frontend development

  • postcss - A tool for transforming styles with JS plugins.

Frontend framework

  • aleph.js - A React framework in Deno, inspired by Next.js.
  • fresh - The next-gen web framework.
  • packup - Zero-config web application packager for Deno.
  • ultra - 💎 Modern Streaming React Framework in Deno.

Game engine

  • caviar - ⚡ Blazing fast, modern, Game Engine powered by WebGPU for Deno and the browser
  • neko - 🐈 caviar's twin frame buffer deno module with a framebuffer canvas implementation
  • sdl2 - SDL2 module for Deno

Image

  • ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance.
  • monke - Color quantization and dithering library with extra image filters (blur, invert, etc).

LLM

  • duckduckgo-ai-chat - Providing Duckduckgo AI Chat API, which can use gpt-4o-mini for free.

Logging

  • sentry_deno - Unofficial port of the Sentry SDK for JavaScript to Deno.
  • dlog - A ussefull logger for the prompt with icons or simple version!
  • LogTape - Simple logging library with zero dependencies for Deno/Node.js/Bun/browsers.

Machine learning

  • classy-lala - Single-layer perceptrons for supervised learning tasks.
  • netsaur - Powerful machine learning, accelerated by WebGPU
  • synaptic - Dependency-less neural network library ported to deno
  • appraisal - Feature extraction and conversion.

Mail

Markdown

  • marked - Markdown-to-HTML converter.

Math

  • neo - Matrix and other math, accelerated by WebGPU

Static site generator

  • lume - A static site generator similar to Jekyll or Eleventy with support for multiple file formats.
  • pagic - The easiest way to generate static html page from markdown, built with Deno.

String utils

  • camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
  • deno_case_style - String validator and formater for different case style. eg: camelCase etc.
  • deno-json-colorizer - A library for colorizing JSON strings in Deno
  • deno-prettystring - Format, trim and remove extra white spaces between characters from string.
  • deno-slugify - A string slugifier for deno.
  • normalize_diacritics - Remove accents/diacritics in string.
  • written - A provides a set of utilities for manipulating text, with a focus on providing typographic tools rather than pure string manipulation.

Social Platform APIs

  • grammY - Telegram Bot API framework for Deno.
  • grm - Telegram MTProto client for Deno.
  • twi - Twitter API v2 client for Deno.
  • discordeno - Discord API library for Deno
  • MTKruto - Deno-first, cross-runtime client library for Telegram's MTProto API.

Template engine

  • dejs - Ejs template engine for deno.
  • deno_tiny_templates - Template renderer for deno.
  • eta - Fast, lightweight, and configurable embedded template engine.
  • handlebars - Handlebars template engine for deno
  • mustache - Mustache template engine for deno

Testing

  • deno-puppeteer - A library which provides a high-level API to control Chromium or Chrome over the DevTools Protocol.
  • expect - Helpers for writing jest like expect tests in deno.
  • merlin - Testing and Benchmarking framework for deno 🧙‍♂️
  • pretty_benching - A small library to make your Deno benchmarking progress and results look pretty.
  • qunitx - Zero dependency, fully customizable, mature, universal test API that can run interchangably in node.js, Deno & browser, using default runtime test runners.
  • rhum - A lightweight testing framework for Deno.
  • superdeno - Super-agent driven library for testing Deno HTTP servers.
  • superoak - HTTP assertions for Oak made easy via SuperDeno.
  • tepi - A .http Test Runner
  • tincan - A Jest-like testing library for Deno.
  • unexpected - Extensible BDD assertion toolkit.
  • unitest - Deno-first universal unit testing framework.

Utils

  • bettermap - A TypeScript extension of the JavaScript Map with Array-like features.
  • beno - A configuration manager typed and faster for Deno Inspired in Viper of Golang
  • buckets - Bundle assets and scripts in a single executable file.
  • bytes_formater - Format bytes (Uint8Array, ArrayBufferView, etc) output, useful when debugging IO functions.
  • coffee - Deno Configuration - a type-safe, easy to use Deno config manager.
  • colors - Color conversions and operations in TypeScript.
  • croner - Cron library with advanced scheduling features, well-documented API, and zero dependencies.
  • computed_types - Joi like validators for Typescript and Deno.
  • dcc - Deno Cache Clean, reloading deps when next running.
  • denon - A file watcher with a for-await generator.
  • deno-config - Utility to streamline deno app configuration management through cli, .env and json files
  • deno-context - Propagate deadlines, a cancellation and other request-scoped values to multiple promise. The behaviour is like Go's context.
  • deno_cron - A cron Job scheduler that allows you to write human readable cron syntax with tons of flexibility
  • deno-deamon - Make the Deno program run in the background.
  • deno-dotenv
  • deno-envconfig - Configuration management utility.
  • deno-fnparse - An extremely simple parser combinator for JavaScript.
  • deno-globrex - Port of globrex to deno, glob to regular expression.
  • deno_notify - Send desktop notifications on all platforms.
  • deno-opn - Opens stuff like websites, files, executables. Cross-platform.
  • deno-plugin-prepare - A library for managing Deno native plugin dependencies.
  • deno_random_interval - Helper to generate random interval.
  • deno_tokenizer - A simple tokenizer for deno.
  • deno-using - An python-style with statements for deno.
  • deno-validation - A general purpose validation library for Deno.
  • dinoenv - tiny library to manage environment variables with deno.
  • durationjs - Get formatted time duration from a timestamp or a human-readable string.
  • draco - File and folder multiplatform utils for Deno!
  • ensure - Ensure you are running a minimum version of Deno, Typescript, or V8.
  • evt - Type safe replacement for EventEmitter.
  • fastest-validator - Schema validator for all javascript platforms
  • fortuna - Weighted gacha system.
  • fossil - A value-type validation suite.
  • garn-yaml - Read or write yaml interpolating env variables.
  • garn-validator - Create validations with ease.
  • invert-kv - Invert key-value pairs in Deno.
  • lazy - A linq-like lazy-evaluation iteration module.
  • locale-kit (GitHub) - A internationalisation/localisation/translation (i18n/l10n/t9n) library with a wrapper for Fresh and support for plurals and dynamic replacement.
  • maze_generator - Javascript module for generating, solving, analyzing and displaying mazes.
  • ms - Easily convert various time formats to milliseconds.
  • online - Check if you're currently online in Deno.
  • optionals - Rust-like error handling and options with exhaustive pattern matching.
  • qrcode - QR code image generator for Deno.
  • recursive-readdir - Recursively read directories in Deno.
  • rubico - 🏞 [a]synchronous function composition; it just works.
  • solc - 💎 Solidity bindings for Deno.
  • switcher4deno - Feature Flag Deno SDK client for Switcher-API.
  • tryify - Functional style error handling; never throw/try/catch/finally again.
  • type-fest - A collection of essential TypeScript types (port of sindresorhus/type-fest).
  • unified-deno-lock - Powerful and simple lock (mutex) library to handle race conditions with zero dependencies
  • wasm-gzip - Perform gzip operations for Deno.
  • watch - A file watcher.
  • wu-diff-js - A diff library to compute differences between two slices using wu(the O(NP)) algorithm.
  • PLS - Use 2 lines to persist localStorage in any database, including, but not limited to, MongoDB, PostgreSQL and Redis.
  • deno_kv_fs Deno KV file system, compatible with Deno deploy. Makes use of Web Streams API.

Validation

  • zod - TypeScript-first schema validation with static type inference.

Video

  • Fast Forward - An easy to use ffmpeg module for Deno. 🦕

Web framework

  • aqua - A minimal and fast web framework for Deno.
  • alosaur - Alosaur - Deno web framework with many ES Decorators.
  • danet - A Savory web framework for Deno heavily inspired by Nest.js.
  • drash - A REST microframework for Deno's HTTP server with zero dependencies.
  • faster - A fast and optimized middleware server with a set of useful middlwares.
  • faster_react - Full Stack web framework with React + Faster. Fully compatible with Deno Deploy.
  • hono - Ultrafast web framework for Cloudflare Workers, Deno, and Bun. Fast, but not only fast.
  • oak - A middleware framework for Deno's net server.
    • oak-http-proxy - Proxy middleware for Deno Oak HTTP servers.
    • oak-routing-ctrl - TypeScript Decorators for easy scaffolding API services with the oak framework.
  • opine - Fast, minimalist web framework ported from ExpressJS.
  • wren - A small, but powerful HTTP library with a functional spin for creating composable web apps, built for convenience and simplicity
  • primate - A polymorphic development platform

WebSocket

  • deno-websocket - 🦕 A simple WebSocket library like ws of node.js library.
  • dropper - Custom event-based WebSockets framework for building real-time apps on Deno 🦕
  • websocket_server - A WebSocket server library.
  • wocket - A WebSocket library for Deno.

Web utils

  • compression - Deno HTTP compression middleware.
  • djwt - Make JSON Web Tokens (JWT) on Deno based on JWT and JWS specifications.
  • forwarded - Deno port of forwarded library.
  • fresh_chart - A server-side-rendered charting library for Fresh.
  • gentleRpc - A JSON-RPC 2.0 TypeScript library for Deno and the browser.
  • gql - Universal GraphQL HTTP middleware.
  • graphql-tag - GraphQL schema AST from template literal.
  • nats - A Deno client for the NATS messaging system.
  • obsidian - A native GraphQL caching client and server module.
  • qs - A query string parser with nesting support.
  • react-icons - React Icons converted to preact for deno fresh.
  • router - A high-performance basic router works anywhere.
  • rpc - JSONRPC server implementation for Deno.
  • status - HTTP codes and status utility for Deno.
  • squishy_cookies - Easily sign and verify cookies.
  • ts-prometheus - A prometheus client.
  • up - Check if a website is up in Deno.
  • youtube-deno - A Deno client library for the YouTube Data API for any interaction with YouTube.

Webview

  • Astrodon - Modular framework for building native multi-platform apps with Deno and webview.
  • webview - Deno bindings for webview, a tiny library for creating web-based desktop GUIs.

XML

Registries

  • crux.land - A free registry service meant for hosting small ( < 10kB) single deno scripts.
  • Deno PKG - An easier way to use code from GitHub in your Deno project.
  • deno.land/x/ - The official 3rd party module registry.
  • nest.land - An immutable, blockchain powered Deno package registry. 🥚

Showcases

Tools

  • clone - A simple utility for the convenient clone.
  • decense - Generate a license with one deno run command.
  • dedep - Manage dependency versions.
  • denoflow - Configuration as code, use YAML to write automated workflows that run on Deno, with any Deno modules, Typescript/Javascript codes
  • denoify - For NPM module authors that would like to support Deno but do not want to write and maintain a port.
  • denoinit - Denoinit generates useful files for Deno project.
  • denoliver - A simple, dependency free file server with live reload.
  • denomander - Deno command-line interfaces inspired from commander.js.
  • denon - A daemon script runner, like nodemon. Built in and for Deno.
  • denopendabot - Dependabot for Deno projects.
  • denopkg - An easier way to use code from GitHub in your Deno project.
  • denoversion - SemVer and git version management for Deno.
  • denox - Like packages.json scripts, but for Deno with permissions support.
  • deno.mk - Cross-platform Makefile for installing and running Deno.
  • Deno Dig - A tool for extracting application code and npm packages from stand-alone Deno executables.
  • deno_docker - Latest dockerfiles and images for Deno - alpine, centos, debian, ubuntu.
  • dev_server - Let TypeScript files be used directly in the script tag.
  • dmm - Lightweight Deno Module Manager
  • dnt - Deno to npm package build tool.
  • dpm
    • BoltDoggy/deno#dpm - Deno Package Manager, install global command for deno. like denoget.
    • dpmland/dpm - Deno Package Manager, a NPM | Yarn Experience for Deno
  • dvm
  • entype - A CLI tool used to generate type definitions for serialised data, currently supporting JSON to Rust and TypeScript.
  • kopo-cli - A Deno registry browser in the terminal.
  • make-deno-edition - Automatically makes package.json projects (such as npm packages and node.js modules) compatible with Deno.
  • packer-provisioner-deno - A Packer plugin that makes it easy to build virtual machine images with Deno scripts.
  • pre-commit-deno - pre-commit git hooks for Deno projects.
  • pup - Advanced process manager for Deno. With autorestart, fs watch, cron start, process telemetry, ipc, clustering, load balancer and more.
  • starter - Deno module starter template with GitHub Actions CI
  • studio-pack-generator - Convert a folder or a RSS URL to Studio pack for Lunii device
  • trex - Package management like npm for deno.
  • udd - Update Deno dependencies: updates import statements to their latest published version.
  • velociraptor - An npm-style script runner for Deno.
  • vscode-deno - VS Code extension that provides Deno support using the TypeScript Deno language service plugin.
  • vscode-deno-starter - VS Code project boilerplate to get started with Deno.
  • denofn-selfhosted - Self-hosted Deno functions, made with Deno and Docker.

Integrations

Blogs/Newsletters

  • Craig's Deno Diary - A blog focussing on Deno tech & lib howtos.
  • Deno Blog - The official blog of the Deno Company.
  • Deno News - A newsletter of Deno articles, news and cool projects.

Articles

Presentations

Resources

Books

Resources in Other Languages

Chinese

Hebrew

Indonesian

Italian

Japanese

Korean

Russian

Spanish

Darija

Kurdish (Central)