Two unrelated but frequently-needed things live here: strong passwords, and RFC 4122 v4 UUIDs. Both are generated with the browser's Web Crypto API (`crypto.getRandomValues`) instead of `Math.random()`, which is not a cryptographically secure source and shouldn't be used for either one.
When you'd use this
Generating a strong password for a new account, or a batch of test UUIDs for seeding a database, mocking API responses, or assigning temporary unique IDs during development.
Common errors
A password that a site rejects despite looking strong has usually hit a length cap or a character-set restriction that site imposes. Compare the generator's character options against what that particular form allows.
Frequently asked questions
Are these passwords actually random, or could they be predicted?
Every character choice and the final shuffle use crypto.getRandomValues(), the Web Crypto API's cryptographically secure random source, instead of Math.random(), whose output carries no guarantee of unpredictability and is unsafe for anything security-sensitive. Nothing generated here is transmitted or logged anywhere.
What makes a UUID v4 different from a sequential ID?
A v4 UUID is 122 bits of randomness formatted into the standard 8-4-4-4-12 hex layout. Collisions are astronomically unlikely with no central coordination at all, and that's how it became the standard choice for distributed systems needing unique IDs without a database round-trip to check for duplicates.
