EVERYTHING XIAOMI
Get listed
esm.sh logo

esm.sh

esm.sh is a free, open-source service for importing JavaScript modules through HTTP URLs, helping developers use npm and other packages in browser apps or De…

Place
#20 of 33
Score
6.2
esm.sh's website

What esm.sh is

esm.sh is a free, open-source service for importing JavaScript modules through HTTP URLs, helping developers use npm and other packages in browser apps or Deno without a build step. It serves packages from npm, JSR, GitHub and pkg.pr.new, and can transform TypeScript, TSX, Vue and Svelte files for direct browser imports. Modules are bundled by default; URL parameters can adjust bundling, request raw content, select exports, set dependency versions or substitute packages. Export selection does not work with CommonJS modules. The service also supports CSS imports under the condition that a package imports CSS directly from JavaScript, and can load modules as web workers. Targets include es2015 through es2024, esnext, Deno, denonext and Node. A lightweight TSX script can compile and cache TSX written in HTML. The public CDN supports modern browsers with ES6 modules, but not private npm packages; the project directs those users to self-hosting. It provides a Docker image and deployment instructions.

Good

  • Free and open source under the MIT License
  • Supports npm, JSR, GitHub and pkg.pr.new packages
  • Transforms TypeScript, TSX, Vue and Svelte files
  • Offers dependency version and package alias controls

Watch out

  • Public CDN does not support private npm packages
  • Export selection does not work with CommonJS modules
  • CSS importing requires direct JavaScript CSS imports

Who it suits

esm.sh suits developers who want to import packages directly into browser projects or Deno without setting up build tools. Teams needing private npm packages can consider its self-hosted option.

Verdict

esm.sh offers a broad set of URL-based import and transformation controls for browser and Deno development. Its public CDN has clear limits around private packages and CommonJS export selection.

Plans and prices

From esm.sh's own pricing page, checked 10 Oct 2026.

All about pricing
PlanPriceWhat it gives you
esm.sh public CDNFreePricing not stated on the opened page

The facts

Each one read from esm.sh's own pages, with the date it was checked.

Where it runs

Browser features
esm.sh supports CSS imports and loading modules as web workers; CSS importing only works when the package imports CSS from JavaScript directly.checked 10 Oct 2026

What it does

Bundling options
esm.sh bundles modules by default and offers `?standalone`, `?bundle=false`, and `?raw` options to change bundling or transformation behavior.checked 10 Oct 2026
Compatibility
The FAQ says esm.sh supports modern browsers that support ES6 modules, including Deno.checked 10 Oct 2026
Dependency controls
Import URLs can specify dependency versions with `?deps=` and substitute packages with `?alias=`.checked 10 Oct 2026
Edge compute
nonechecked 22 Sep 2026
Edge locations
330checked 22 Sep 2026
On-the-fly transforms
It can transform .ts, .tsx, .vue, and .svelte files for direct browser imports without build steps.checked 10 Oct 2026
Private packages
The public CDN does not support private npm packages; the FAQ directs users to self-host esm.sh for that use case.checked 10 Oct 2026
Purpose
esm.sh lets developers import JavaScript modules from HTTP URLs to build modern web apps using npm packages in browsers or Deno without build tools.checked 10 Oct 2026
Runtime targets
Build targets include es2015 through es2024, esnext, Deno, denonext, and Node.checked 10 Oct 2026
Security and integrity
The FAQ says an integrity metadata map CLI is in progress and notes that Deno 1.18+ can check hashes using a generated `deno.lock` file.checked 10 Oct 2026
Self-hosting
The project provides a Docker image and deployment instructions; its hosting guide recommends Linux with systemd, at least four CPU cores, 8GB RAM, and 100GB disk.checked 10 Oct 2026
Support and license
The site directs bug reports to GitHub issues and identifies esm.sh as an open source project under the MIT License, maintained by @ije.checked 10 Oct 2026
Supported sources
The CDN supports packages from npm, JSR, GitHub, and pkg.pr.new.checked 10 Oct 2026
Tree shaking
The `?exports=` option can select specific module exports, but this feature does not work with CommonJS modules.checked 10 Oct 2026
TSX support
The lightweight 1KB `esm.sh/tsx` script lets developers write TSX directly in HTML, with source compiled and cached at the edge.checked 10 Oct 2026

Alternatives to esm.sh

All alternatives
  1. 1

    Azion Content Delivery

    Free planWebAPILinuxmacOS
    7.8From $25 a month
  2. 2

    Uploadcare

    Free planAndroidiOSWebAPI
    7.6From $66 a month
  3. 3Cloudflare CDN logo

    Cloudflare CDN

    Free planWebAPI
    7.4From $20 a month
  4. 4ImageKit logo

    ImageKit

    Free planAndroidiOSAPI
    7.4From $9 a month
  5. 5

    Cloudinary

    Free planWebAPIExtension
    7.2Free plan
  6. 6Gcore CDN logo

    Gcore CDN

    Free planWeb
    7.1€0.01 usage-based