ULID Generator

Generate ULID (Universally Unique Lexicographically Sortable Identifier) values. 26-character Crockford Base32, millisecond timestamp prefix.

Random, 128-bit, RFC 4122. Most widely used.

When to use which type

UUID v4

Purely random (RFC 4122). The most widely supported unique identifier format. Use when you need a standard UUID and sorting by creation time does not matter.

UUID v7

Time-ordered UUID (RFC 9562). The first 48 bits encode a millisecond timestamp, making IDs lexicographically sortable. Prefer over v4 for database primary keys — better index locality, fewer B-tree page splits.

ULID

26-character Crockford Base32 string: 10 chars timestamp + 16 chars randomness. Lexicographically sortable and URL-safe. A compact drop-in for UUID when a shorter, human-readable identifier is preferred.

NanoID

Configurable length and alphabet. Best for short tokens, session IDs, and slugs. The default 21-character length has the same collision probability as UUID v4.

Common Use Cases

  1. Time-ordered event IDsUse ULIDs as event identifiers in an event-sourced system. Events naturally sort by creation time, making replay and debugging straightforward.
  2. File upload identifiersAssign a ULID to each uploaded file for URL-safe storage keys in S3 or R2. The timestamp prefix enables sorting uploads by time without a separate column.
  3. NoSQL document IDsUse ULIDs as document IDs in DynamoDB or Firestore. The lexicographic ordering allows range queries by time without a separate sort key.

Pro plan — coming soon

Save your history, create reusable presets, and share outputs with a link. One plan, all tools.

See what's planned →

Frequently Asked Questions

Related Tools