NanoID Generator — 21-char URL-Safe Unique IDs
Generate NanoID strings online — 21 characters, URL-safe alphabet (a-Z, 0-9, -, _), same collision safety as UUID v4 in 40% less space. Bulk generate up to 1000 with custom length. 100% local.
Last updated:
CommentssmOeDv7FJvw6fOzXX5wnPWV9HFan2FrMjgrajNRoXIR9Rnhj2GzyGmjlNx9E54ckNp4Q6dRdyet2yVGv7dhNaHyLnAl7roJADeZSdFj5f
Frequently Asked Questions
What's the difference between NanoID and UUID?
Both use ~128 bits of entropy so the collision probability is essentially identical. NanoID's alphabet is 64 characters (A-Z, a-z, 0-9, -, _), so 21 characters carry the same information as a 36-character UUID — smaller URLs, database rows, and log lines with no safety trade-off.
Is NanoID URL-safe?
Yes. The default alphabet uses only URL-safe characters (letters, digits, - and _), so NanoIDs can appear in URLs without percent-encoding.
Can I change the length?
Yes — the length field accepts 2–64. Shorter IDs are more collision-prone: at length 8 you need to worry about collisions after ~200k IDs; at 21 (the default) you can generate a billion IDs a year for centuries.
Related Tools
UUID Generator
Generate random UUIDs (v4) and time-ordered UUIDs (v7) online. Bulk generate up to 1000 at once and copy with one click.
UUID v7 Generator
Generate UUID v7 identifiers online (RFC 9562). The first 48 bits encode a Unix millisecond timestamp, so v7 UUIDs sort lexicographically by creation time — dramatically better as a database primary key than v4. Bulk generate up to 1000 and inspect the embedded timestamp for each. 100% local.
ULID
Generate ULID (Universally Unique Lexicographically Sortable Identifier) strings — 26 characters, 48-bit millisecond timestamp + 80-bit randomness, Crockford Base32. Bulk generate up to 1000. 100% local.
CUID2
Generate CUID2 strings online — a modern, secure, collision-resistant ID format designed for horizontal scale and safe use in URLs, cookies, and databases. 100% local, no dependencies.
Snowflake ID
Generate Twitter Snowflake IDs online — 64-bit integers with 41-bit timestamp, 10-bit worker ID, 12-bit sequence. Preview and inspect how Snowflake IDs are structured. 100% local.
KSUID
Generate KSUID strings online — 27-character Base62, 32-bit UTC timestamp + 128-bit randomness. Time-sortable, human-typeable, no delimiters. Designed by Segment for high-volume event streams. 100% local.