NanoID Generator

Generate URL-safe NanoIDs for session tokens, short links, and client-side IDs. Click Run with empty input for a default 21-character ID, or enter a size or count.

  • Runs entirely in your browser
  • No data stored or sent to a server
  • Free forever — no signup
  • Instant conversion

Input and Output

Use the interactive encoder and decoder on this page to process your text.

Learn more about NanoID generation

How to Generate NanoIDs

NanoID Generation

When to Use NanoIDs

Use NanoIDs when you need shorter, URL-safe unique strings — short links, client-side temporary IDs, CSS class suffixes, session tokens in cookies, or anywhere UUID length (36 chars) is unnecessarily long.

Real-World Examples

Default 21-char ID: V1StGXR8_Z5jdHi6B-myT — URL-safe alphabet

Short invite codes with custom length (8–12 chars) for share links

React component keys or form field IDs generated on the client

Common Mistakes

  • Using very short NanoIDs (under 8 chars) for high-volume systems without assessing collision risk
  • Confusing NanoID with UUID — different alphabet, length, and entropy model
  • Storing NanoIDs case-sensitively when the alphabet includes both upper and lower case

Edge Cases

  • Default size 21 with 64-char alphabet gives ~126 bits of entropy — comparable to UUID v4
  • Custom alphabets change collision probability — document your size choice
  • Hyphen and underscore in default alphabet are URL-safe but may need encoding in some legacy systems

Developer Tips

  • npm: import { nanoid } from 'nanoid' — battle-tested reference implementation
  • Increase size for higher collision resistance: each extra char adds ~6 bits with the default alphabet
  • Use ULIDs or UUIDs when you need standard formats for database interoperability

Frequently asked questions

What is the default NanoID length?

This tool generates 21-character NanoIDs by default when the input is empty — matching the nanoid library default, which provides UUID-comparable collision resistance.

How do I generate a custom size or batch?

Enter a size (1–64) for one ID, a count (1–50) for multiple default-length IDs, or "count, size" (e.g. "5, 12") for batch custom-length IDs.

Is NanoID better than UUID?

NanoIDs are shorter and URL-safe by default. UUIDs are more universally recognized in databases and APIs. Choose based on length constraints and ecosystem expectations.