Last Updated: 3/12/2026
Installation
Nanoid 5 supports Node.js 18 and above, and works in browsers, Deno, and Bun.
npm (ESM Projects)
For projects using ES modules (with import), install the latest version:
npm install nanoidThen import it:
import { nanoid } from 'nanoid'CommonJS Projects
Nanoid can be used with CommonJS in several ways:
Node.js 22.12 or later (works out-of-the-box):
const { nanoid } = require('nanoid')Node.js 20 (requires flag):
node --experimental-require-module your-script.jsNode.js 18 (dynamic import):
let nanoid
module.exports.createID = async () => {
if (!nanoid) ({ nanoid } = await import('nanoid'))
return nanoid()
}Legacy projects — use Nanoid 3.x (still supported):
npm install nanoid@3JSR (Deno, Bun, Node.js)
JSR is a modern JavaScript registry with open governance:
npx jsr add @sitnik/nanoidReplace nanoid with @sitnik/nanoid in imports:
import { nanoid } from '@sitnik/nanoid'For Deno, install with deno add jsr:@sitnik/nanoid or import directly from jsr:@sitnik/nanoid.
CDN (Quick Prototyping)
For quick experiments, load from a CDN (not recommended for production):
import { nanoid } from 'https://cdn.jsdelivr.net/npm/nanoid/nanoid.js'What’s Next
- Basic Usage: Generate your first IDs
- Custom Alphabet & Size: Customize ID generation