§

UUID-generator — gratis online UUID-v4-generator

v4 is de standaard. v7 sorteert lexicografisch op generatietijd en is de beste keuze voor databasesleutels.
Uitvoerformaat
§

Uitvoer

    UUID's zijn de standaard surrogaatsleutel bij Nederlandse SaaS-builders: bunq, Picnic, Mollie en bol.com gebruiken v4-IDs voor orderregels, betaaltransacties en productvarianten. v7 (RFC 9562) wint terrein omdat het tijdgebaseerd is, beter indexeert in PostgreSQL en MySQL en daarmee de p99-latentie verlaagt voor PSD2-flows bij Rabobank en ING. Belangrijke AVG-richtlijn: gebruik nooit een BSN of klant-e-mailadres als primaire sleutel — Autoriteit Persoonsgegevens behandelt directe identificatoren in URL's als zelfstandige verwerking. Vervang ze door een UUID en log de mapping in een gescheiden, geversleutelde tabel. Voor de zorg geldt hetzelfde bij HL7 FHIR-koppelingen met ChipSoft of Nictiz. Genereer hier in bulk; randomness komt uit window.crypto, dus de waarden zijn cryptografisch sterk en blijven lokaal.

    Wat is een UUID?

    Een UUID (Universally Unique Identifier) is een 128-bits waarde weergegeven als een tekenreeks van 36 tekens, zoals 550e8400-e29b-41d4-a716-446655440000. Het formaat en de versiesemantiek zijn voor v1 t/m v5 vastgelegd in RFC 4122 en voor de nieuwere v6, v7 en v8 in RFC 9562. Deze tool genereert v4 (volledig willekeurig), v1 (tijdstempel + willekeurige node-ID) en v7 (Unix-milliseconde-tijdstempel-prefix + willekeurig achtervoegsel, sorteerbaar op generatietijd) — allemaal in je browser, via de Web Crypto API van het platform. Er worden geen gegevens naar een server gestuurd.

    Hoe werkt UUID-generatie?

    Elke versie weegt determinisme, sorteerbaarheid en entropie anders af. De tool kiest het juiste algoritme op basis van je keuze:

    1. v4 (willekeurig) roept de browserfunctie crypto.randomUUID() aan, die 122 bits cryptografische willekeur teruggeeft, met de 6 vaste bits (versie 0100 en variant 10) op de juiste posities. Botsingen zijn astronomisch onwaarschijnlijk — je zou ongeveer 2,71 triljoen v4-UUID's moeten genereren om met 50% kans één duplicaat tegen te komen.
    2. v1 (tijdstempel + node) propt een 60-bits Gregoriaanse tijdstempel (100-nanoseconde-tikken sinds 15-10-1582) in time_low / time_mid / time_hi_and_version, zet de versie-nibble op 0001, kiest een 14-bits klokvolgorde met de variantbits gezet en gebruikt een willekeurige 48-bits node-ID met de multicastbit geforceerd aan (RFC 4122 §4.5 staat een willekeurige node-ID expliciet toe als er geen hardware-MAC beschikbaar is — de multicastbit markeert hem als niet-MAC).
    3. v7 (sorteerbare tijdstempel) plaatst conform RFC 9562 §5.7 eerst een 48-bits big-endian Unix-milliseconde-tijdstempel, dan de 4-bits versie 0111, dan 12 willekeurige bits, dan de 2-bits variant 10, en daarna nog 62 willekeurige bits. Omdat de tijdstempel in de meest significante bits zit, sorteren v7-UUID's lexicografisch in generatievolgorde — een eigenschap die geen andere UUID-versie zonder extra codering biedt.
    4. Alle willekeur komt van crypto.getRandomValues(), de cryptografisch veilige RNG van de browser. Zowel v1 als v7 bevatten een monotoniciteitsbescherming binnen dezelfde tik, zodat twee opeenvolgende aanroepen binnen dezelfde kloktik de tweede nog steeds boven de eerste sorteren — belangrijk voor bulkgeneraties die sneller gaan dan de milliseconderklok.
    5. Na de generatie loopt de formatteer-pijplijn. Je kunt koppeltekens weghalen, op hoofdletters overschakelen, de waarde tussen accolades zetten ({…} — de Microsoft-GUID-conventie) of de ruwe 16 bytes als base64 weergeven (22 tekens, zonder padding). De base64-modus overschrijft de andere formaatopties, omdat base64 zelf al een eigen representatie is.

    Waarom deze UUID-generator gebruiken?

    • Er verlaat niets je browser. De Web Crypto API draait lokaal; de pagina doet na de eerste documentlading geen enkel netwerkverzoek. Open de DevTools, klik op Genereren en het Netwerk-paneel blijft stil.
    • RFC-correcte uitvoer. v4 volgt RFC 4122 §4.4, v1 volgt §4.2 en §4.5, en v7 volgt RFC 9562 §5.7. De versie-nibble en variantbits staan precies waar de standaarden voorschrijven — elke UUID voldoet aan de canonieke regex van de juiste versie.
    • Sorteerbare v7 voor databasesleutels. Een v7-UUID die in Postgres, MySQL of SQL Server als geclusterde primaire sleutel wordt gebruikt, houdt inserts append-only op de index — geen pagesplits, geen willekeurige I/O — en blijft toch wereldwijd uniek. v4 kan dit niet omdat zijn bits willekeurig zijn.
    • Bulkgeneratie zonder ratelimits. Genereer 1, 10, 100 of 1.000 UUID's in één keer. Geen quotum, geen aanmelding — de tool draait in je tabblad, dus de grens is je CPU, niet de API-tier van een leverancier.

    Wat zijn veelvoorkomende toepassingen van UUIDs?

    UUIDs duiken op waar een systeem een wereldwijd unieke identificator nodig heeft zonder afstemming met een centrale autoriteit:

    • Database-primaire sleutels. Autoincrement-gehele getallen lekken rijaantallen en breken sharding. UUID's zijn stabiel over shards, veilig om over regio's heen samen te voegen en houden (met v7) B-tree-inserts zonder pagesplits warm. Een typische applicatie genereert de UUID aan de clientzijde, stuurt hem mee in de INSERT en hoeft nooit een ronde naar de server voor de sleutel te maken.
    • Request-correlatie-ID's. HTTP-middleware hangt aan elk binnenkomend verzoek een v4-UUID, logt die op elke span en geeft hem stroomafwaarts door (vaak als X-Request-Id-header). Wanneer een klant een bug meldt, plakt de supportengineer het ID en verschijnt de volledige request-trace — over services en tijdzones heen — zonder dubbelzinnigheid.
    • Idempotency-sleutels. Betaal-API's (Stripe, Adyen, Square) accepteren een Idempotency-Key-header, zodat een opnieuw gestuurde aanvraag de klant nooit dubbel belast. Een door de client gegenereerde UUID garandeert dat de sleutel uniek is per logische operatie — precies het contract dat die API's eisen.

    Hoe ziet een voorbeeld van een UUID eruit?

    In Node.js of een moderne browser geeft de oneliner crypto.randomUUID() een vers v4-UUID terug — bijvoorbeeld 3f50b5a8-2c54-4b9c-9c1f-3e5c7e2b8d12. Gebruik dat voor een request-ID of een idempotency-sleutel. Wanneer het UUID naar een databasekolom gaat die de geclusterde primaire sleutel wordt, genereer dan v7: twee v7-waarden met één milliseconde tussenruimte, zoals 0190a3b0-7d4f-7c9e-8b21-a4d6f0bd9c11 en 0190a3b0-7d50-7f15-9c4e-72b3e0c1d8a4, sorteren lexicografisch in generatievolgorde. Het uuid-type van Postgres slaat beide versies identiek op — het verschil zit in het schrijven van de index: v7 wordt rechts aan de B-tree toegevoegd, terwijl v4-inserts zich verspreiden en willekeurige I/O afdwingen.

    Deze UUID-generator doet één ding: een klik omzetten in één of vele RFC-conforme identifiers, in de gewenste opmaak, zonder je verzoek naar een server te sturen. Kies een versie, kies een aantal, kies een formaat — genereren, kopiëren, doorpakken.