PK Systems PK Systems
Generatoren

UUID-generator

Genereer UUID v4 (willekeurig) of v7 (timestamp-geordend) identifiers in je browser.

UUID-generator

Gegenereerde UUID's

    Wat is een UUID?

    Een UUID (Universally Unique Identifier, soms GUID genoemd) is een 128-bit getal geschreven als 32 hex-cijfers in de canonieke 8-4-4-4-12-vorm — bijvoorbeeld a1b2c3d4-e5f6-4a7b-9c0d-1e2f3a4b5c6d. Het idee is dat elk systeem er één kan aanmaken zonder coördinatie en dat de kans op botsing verwaarloosbaar is. v4 is volledig willekeurig; v7 bevat aan het begin een millisecond-timestamp, dus v7's sorteren chronologisch en gaan veel beter samen met database-B-tree-indexen dan v4's.

    Hoe gebruik je deze tool

    Kies een versie (v4 voor opaque willekeurige ID's, v7 als je tijd-ordening wilt voor primary keys), kies hoeveel je nodig hebt (1-100), kies kleine of HOOFDLETTERS en klik op Opnieuw genereren. Gebruik Kopiëren naast een rij om er één te pakken, of Alles kopiëren om ze allemaal naar het klembord te dumpen, één per regel. v4 gebruikt crypto.randomUUID() van de browser; v7 wordt lokaal gebouwd uit een 48-bit timestamp plus 74 willekeurige bits.

    v4 vs v7 — welke gebruiken?

    Gebruik v4 voor tokens, request-ID's, opaque publieke identifiers, overal waar je geen volgorde of timing wilt lekken. Gebruik v7 voor primary keys in moderne databases — globaal-unieke ID's zonder random-insert-index-thrash, en rijen sorteren natuurlijk op aanmaaktijd. Vermijd v1 (lekt MAC-adres) en v3/v5 (op naam gebaseerd, niche). Knip UUID's nooit af om "ruimte te besparen" — botsingen lopen snel op.

    UUID-versies in één oogopslag

    Alle UUID's zijn 128 bits en zien er op de lijn hetzelfde uit; het versienummer (het eerste hex-cijfer van de derde groep) vertelt hoe ze zijn aangemaakt.

    Versie Gebouwd uit Typisch gebruik
    v1Timestamp + MAC addressLegacy. Leaks host info — avoid.
    v3 / v5Hash of namespace + name (MD5 / SHA-1)Deterministic IDs from a name. Niche.
    v4122 random bitsTokens, opaque IDs, request IDs.
    v6Reordered v1 (sortable)v1 replacement when you can't move to v7.
    v748-bit ms timestamp + 74 random bitsModern default for DB primary keys.
    v8Custom (RFC-defined slot)Bring-your-own scheme.

    Veelgestelde vragen

    Zijn deze UUID's echt uniek?
    Praktisch gezien, ja. Een v4 heeft 122 willekeurige bits (~5×10³⁶ waarden); de kans dat twee willekeurige UUID's botsen is zo klein dat je miljarden per seconde eeuwenlang zou moeten genereren om er één te verwachten. v7's delen het timestamp-prefix tussen UUID's die in dezelfde milliseconde worden aangemaakt, maar hebben nog 74 willekeurige bits — botsingen blijven astronomisch onwaarschijnlijk.
    Is v7 een echte, geratificeerde standaard?
    Ja. UUID v7 is gedefinieerd in RFC 9562 (mei 2024), die RFC 4122 verving en v6/v7/v8 toevoegde. Postgres, MySQL, SQL Server en de meeste moderne talen leveren nu native helpers.
    Waarom v7 in plaats van v4 voor database-primary-keys?
    v4's worden willekeurig in een B-tree-index ingevoegd, wat de index fragmenteert en de schrijfdoorvoer op grote tabellen schaadt. v7's beginnen met een millisecond-timestamp, dus nieuwe rijen gaan aan het einde van de index — dezelfde insertpatroon als een auto-increment integer, maar globaal uniek. Je krijgt ook "created at" in feite gratis.
    Kan ik v7-UUID's op tijd sorteren?
    Ja. De eerste 48 bits zijn een Unix-millisecond-timestamp, big-endian, dus een gewone string- of byte-sort op v7's geeft chronologische volgorde. UUID's die in dezelfde milliseconde zijn gemaakt break tie op de willekeurige staart, maar rijen clusteren toch op aanmaaktijd.
    Wat is het verschil tussen UUID en GUID?
    Niets betekenisvols. "GUID" is de term die Microsoft historisch heeft verkozen; "UUID" komt uit de oorspronkelijke DCE/RFC-traditie. Het is dezelfde 128-bit identifier in hetzelfde canonieke formaat. Je kunt ze door elkaar gebruiken.
    Worden ze op een server gegenereerd?
    Nee. v4 roept crypto.randomUUID() aan, een browser-builtin. v7 wordt lokaal samengesteld uit Date.now() en crypto.getRandomValues. Geen netwerk-rondreis, geen logging — verifieer in DevTools > Network dat er niets afgaat als je op Opnieuw genereren klikt.