UUID v4 and v7, nanoid with custom alphabet, ULID — one or a thousand at a time, fully client-side.
Type
Count
Pick a type
UUID v4 for classic randomness, UUID v7 / ULID for time-sortable keys, nanoid for short URL-safe IDs.
Pick a count
From 1 up to 1,000 at a time — handy for pre-generating seed data.
Customise (nanoid only)
Adjust length and alphabet if you need custom URL slugs or reduced collision risk.
Copy
Copy a single ID or the whole batch as newline-separated text.
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.
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.
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.
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.
JWT decoder
Paste any JSON Web Token to inspect its header and payload. Nothing leaves your browser — no server, no logging.
Regex tester
Test a regex against a string with real-time match highlighting and a common-pattern sidebar.
Translating screenshots into every locale is what lokal was built for. Upload once, ship to every store.
Explore lokal