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
  • 1c05d6c85-0fdd-4403-90ed-5a9205150650
  • 2016465d3-8506-4ec0-af55-f19b620f79e1
  • 38e5056f6-3d6a-4388-acef-339776e8447a
  • 483d37b0c-42a7-40bb-a1b7-74c19cd1ddbe
  • 53330f3f2-261d-4f58-9709-407f02081dd2
  • 6b0896469-a4fc-4be1-8f8e-5a4b4b693271
  • 75dd9df2c-9e44-480a-a9dc-c48a3955b744
  • 80495b6ed-1d89-45b2-bc24-a5b9c3dde340
  • 94e110950-6a1e-4307-ae29-1651259ed88f
  • 10ebf8f24b-c684-4656-8067-e293385e8e11
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