Developer Documentation
JavaScript
Updated September 19, 2026

Generate Nano IDs in JavaScript

Generate compact URL-friendly random identifiers with Nano ID libraries in JavaScript.

Nano ID is a compact random identifier format commonly used when shorter URL-friendly IDs are preferable to canonical UUID strings. Use a cryptographically secure implementation rather than Math.random-style generators.

Quick Start#

The following example uses the standard JavaScript API or a widely used package for this task.

Quick start#

JavaScript
1// npm install nanoid2import { nanoid } from "nanoid";34const id = nanoid();5console.log(id); // 21-character URL-friendly ID by default

Common Operations#

This second pattern covers a common production operation or a safer way to handle real input.

Custom alphabet and size#

JavaScript
1import { customAlphabet } from "nanoid";23const orderId = customAlphabet("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", );4console.log(orderId());

Important Notes#

Use the standard secure generator for identifiers that should be unpredictable; do not replace it with Math.random().

Best Practices#

  1. Treat external input as untrusted and handle parse/validation errors explicitly.
  2. Keep encoding, units, formats, and library-specific mapping rules explicit at system boundaries.
  3. Add test vectors that cover empty input, Unicode text, malformed input, and representative production data.

References#

Implement NanoID in other languages: