Free · UUID v4 / v7 · nanoid · ULID

Generate every kind of ID.

UUID v4 and v7, nanoid with custom alphabet, ULID — one or a thousand at a time, fully client-side.

Type

Count

10
  • 1a5336778-6be0-4b6c-8029-c2a847500ab8
  • 2eaf2a5c8-5a3c-462a-8a9d-5ac24d267879
  • 301728685-7b6b-4b25-a67b-972f9f72a5c4
  • 41cb3be19-d227-4b86-a88e-f5ef34b937ef
  • 5fcf93bb1-bedf-4b68-bab3-de3c839e87cd
  • 67853ede5-c7cb-44c4-8f48-2a4b32a1b8e4
  • 719ba7894-8426-4ac2-b58a-a927cd4844fb
  • 88211680d-9022-4deb-b230-40ab47d3b351
  • 94d94600b-29d9-4057-bdb3-128dc56df650
  • 10dd7dfb26-222e-471a-a1d5-7891d7feebfd
How it works

Four steps

  1. 1

    Pick a type

    UUID v4 for classic randomness, UUID v7 / ULID for time-sortable keys, nanoid for short URL-safe IDs.

  2. 2

    Pick a count

    From 1 up to 1,000 at a time — handy for pre-generating seed data.

  3. 3

    Customise (nanoid only)

    Adjust length and alphabet if you need custom URL slugs or reduced collision risk.

  4. 4

    Copy

    Copy a single ID or the whole batch as newline-separated text.

Questions

Frequently asked

Which ID should I use?+

UUID v4 is the safe default — 128-bit, universally supported, not time-sortable. UUID v7 is the modern upgrade: time-prefixed so rows sort chronologically by primary key, which helps database index locality. nanoid is shorter and URL-safe, good for user-visible slugs. ULID is a specific time-sortable 26-char format used widely in Node and Go ecosystems.

Is crypto.randomUUID used?+

Yes for UUID v4, when the browser supports it (modern Chrome / Firefox / Safari do). UUID v7, nanoid, and ULID use crypto.getRandomValues for every random byte — both APIs are cryptographically secure.

What's UUID v7's format?+

48-bit unix timestamp in ms || 4-bit version (7) || 74 bits of randomness, encoded as a standard 8-4-4-4-12 hex UUID. Because the timestamp sits in the high bits, sorting lexicographically matches insertion order — great for database primary keys.

Are these collision-resistant?+

UUID v4 has 122 random bits → collision essentially impossible at any realistic scale. nanoid(21) at its default alphabet is equivalent to UUID v4 in collision resistance. Shorter nanoids need longer alphabets to match — there's a collision calculator at zelark.github.io/nano-id-cc if you're designing a slug scheme.

More free tools

Keep building

— Shipping to the App Store?

Translating screenshots into every locale is what lokal was built for. Upload once, ship to every store.

Explore lokal