UUID Generator

Formaatopties

Aantal gegenereerde

Aantal

Gratis online UUID/GUID/ULID/NanoID generator die 5 unieke ID-formaten ondersteunt, bulkgenereer tot 100, aanpasbare opmaak en UUID-validatie. Direct klaar voor gebruik — perfect voor database primaire sleutels en het maken van testgegevens.

Gerelateerde aanbevelingen

Wat is een UUID?

UUID (Universally Unique Identifier) is een 128-bit identifier gestandaardiseerd door de Open Software Foundation (OSF), gedefinieerd in RFC 4122. Het doel is om gedistribueerde systemen in staat te stellen informatie uniek te identificeren zonder een centrale autoriteit voor ID-toewijzing.

Een standaard UUID ziet eruit als `550e8400-e29b-41d4-a716-446655440000`, bestaande uit 32 hexadecimale cijfers verdeeld in 5 groepen (8-4-4-4-12) door koppeltekens. Theoretisch is de botsingskans van UUID v4 ongeveer 1/10^36 — als u ongeveer 800 jaar lang 1 miljard UUID's per seconde zou genereren, zou de kans op een enkele botsing ongeveer 50% zijn, wat in de praktijk verwaarloosbaar is.

UUID's worden veel gebruikt voor database primaire sleutels, gedistribueerde trace ID's, request ID's, log trace ID's, unieke bestandsnaamgeving, testgegevens-ID's en sessie-ID's. Bijna alle belangrijke programmeertalen bevatten ingebouwde UUID-generatiebibliotheken.

Toepassingsgevallen

  • Genereer UUID v4 als primaire sleutels voor tabelrecords tijdens databaseontwerp om gegevensvolumelekkage van auto-increment ID's te voorkomen
  • Gebruik ULID als sorteerbare globale request/trace ID's in gedistribueerde systemen of microservice-architecturen
  • Genereer UUID's in bulk als testgegevens en gesimuleerde bestel-/gebruikers-ID's tijdens API-ontwikkeling en integratietesten
  • Gebruik NanoID in plaats van UUID in korte frontend-links of deel-URL's — korter, schoner, geen URL-codering nodig
  • Gebruik UUID v5 om deterministische ID's te genereren uit vaste naamruimten, zodat dezelfde invoer altijd dezelfde uitvoer produceert
  • Gebruik de validatiefunctie om ID-type en -versie te identificeren bij het tegenkomen van onbekende formaat-ID's in debuglogboeken of documentatie van derden

Hoe te gebruiken

  1. Selecteer het gewenste ID-type uit de bovenstaande kaarten: UUID v4 (aanbevolen), v1, v5, ULID of NanoID
  2. Als u UUID v5 kiest, voert u een naamruimtetekenreeks in; andere ID's kunnen direct opmaakopties instellen
  3. Schakel indien nodig hoofdletters en koppeltekenopties in, stel het bulkgeneratieaantal (1-100) in via snelle knoppen of schuifregelaar
  4. Klik op de genereerknop om resultaten te bekijken — kopieer afzonderlijk, kopieer alles in één keer of exporteer als TXT/JSON
  5. Om een bestaande ID te valideren, schakelt u over naar het tabblad "Valideren" en plakt u de ID-tekenreeks om type- en versie-informatie te krijgen

Functies

  • Vijf ID-typen in één tool: UUID v1 (tijdstempel), v4 (willekeurig), v5 (naamruimte), ULID (sorteerbaar) en NanoID (URL-veilig) — één tool dekt alle tech stack behoeften
  • UUID-validatie & herkenning: Schakel over naar het tabblad Valideren, plak een willekeurige ID om de UUID-versie te identificeren of ULID/NanoID-formaat te detecteren — snelle probleemoplossing tijdens debugging
  • Bulkgenereer tot 100: Genereer elke hoeveelheid van 1 tot 100 ID's in één keer — geen handmatig één voor één kopiëren meer voor testgegevens
  • Flexibele opmaak: Schakel hoofdletters en koppeltekens voor UUID's om te voldoen aan database-, URL- en configuratiebestand formaatvereisten
  • Exporteer & lokale geschiedenis: Kopieer alles met één klik, exporteer TXT/JSON-bestanden, gegenereergeschiedenis lokaal opgeslagen voor onmiddellijk herstel — bulkbewerkingen efficiënter
  • Client-side veilige willekeur: Gebruikt browser crypto API voor cryptografisch veilige willekeurige getallen, ID's verlaten uw apparaat nooit, werkt offline

Codevoorbeelden

UUID v4 Genereren in JavaScript

javascript

Moderne browsers en Node.js 14.17+ hebben de Web Crypto API ingebouwd, waardoor directe UUID v4-generatie mogelijk is zonder externe bibliotheken.

// Moderne browsers / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"

// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();

UUID's Bulk Genereren in Python

python

Gebruik de uuid-module van de standaard Python-bibliotheek om meerdere UUID v4's in bulk te genereren, ideaal voor het voorbereiden van testgegevens.

import uuid

# Enkele UUID genereren
uid = uuid.uuid4()
print(uid)

# 10 UUID's in bulk genereren
for _ in range(10):
    print(uuid.uuid4())

# UUID in hoofdletters zonder koppeltekens genereren
print(uuid.uuid4().hex.upper())

UUID Genereren vanaf Shell Opdrachtregel

bash

Genereer snel UUID's in de Linux/macOS-terminal, geschikt voor gebruik in shellscripts.

# Linux
uuidgen

# macOS
uuidgen | tr 'A-Z' 'a-z'

# Direct lezen uit systeem willekeurig bestand (meest rauwe methode)
cat /proc/sys/kernel/random/uuid

Welk uniek ID-schema moet je kiezen?

UUID is niet de enige optie: automatisch oplopende database-ID's en Snowflake zijn ook gangbare primaire-sleutel-schema's. Bepaal eerst op basis van 'datavolume, behoefte aan globale uniciteit en behoefte aan tijdssortering' om veel omwegen te vermijden.

UUID v1 / v4 / v5 / ULID / NanoID: welke kies je?

Alle 5 ID's hebben afwegingen qua datavolume, sorteerbaarheid en tekenlengte. Beslis op basis van 'waar het wordt gebruikt + of sorteren nodig is + of het direct in URL's wordt gebruikt', betrouwbaarder dan je op de cijfers zelf te baseren.

SchemaAanbevolen scenarioSorteerbaarheidLengteAanbeveling
UUID v1Interne systemen die tijdssortering nodig hebben en het lekken van MAC-adres en generatietijd accepterenTijdsgesorteerd36 tekens⚠ Over het algemeen niet aanbevolen (privacylek)
UUID v4Databaseprimaire sleutels, algemene identificatoren, de meeste bedrijfsscenario'sOngeordend (willekeurig)36 tekens✓ Universele eerste keuze
UUID v5Scenario's die deterministische uitvoer vereisen (dezelfde invoer → dezelfde UUID)Ongeordend36 tekens✓ Aanbevolen bij vaste namespace
ULIDPrimaire sleutels in gedistribueerde systemen, logtracering, indexen met tijdssortering nodigTijdsgesorteerd (eerste 48 bits zijn milliseconde-timestamp)26 tekens✓ Eerste keuze voor gedistribueerde systemen
NanoIDURL-verkorters, cookie-identificatoren, frontend JS-verwijzingenOngeordend (willekeurig)21 tekens (standaard)✓ Eerste keuze voor korte ID-scenario's

UUID vs automatisch oplopende DB-ID vs Snowflake-ID: hoe kies je een primaire sleutel?

Deze drie zijn de meest voorkomende backend primaire-sleutel-schema's en bepalen de schaalbaarheid, concurrency-veiligheid en prestatiekenmerken van het systeem. Kiezen op basis van 'datavolume / vereiste voor globale uniciteit / leesbaarheid' voorkomt latere architectuuraanpassingen.

DimensieUUIDDB auto-IDSnowflake
Globale uniciteit✓ Ja (theoretisch)✗ Nee (duplicaten na sharding van database)✓ Ja (gegarandeerd door datacenter + worker-ID)
Datavolume-lek✓ Geen lek✗ Direct lek (1, 2, 3 oplopend onthult werkelijk volume)⚠ Tijd-bits onthullen generatietijd (niet direct totaal volume)
Sorteerbaarheid✗ Ongeordend (ULID is uitzondering)✓ Monotoon stijgend (B-Tree-vriendelijk)✓ Trendlijn-stijgend (gesorteerd binnen dezelfde milliseconde)
Sharding-ondersteuning✓ Native ondersteuning✗ Vereist ID-generator of refactoring✓ Onderscheidbaar via worker-ID
Opslagkosten⚠ Hoog (BINARY(16) is 16 bytes)✓ Laag (BIGINT is 8 bytes)✓ Laag (BIGINT is 8 bytes)
Geschikte scenario'sMulti-service/gedistribueerde primaire sleutels, externe identificatoren, datavolumegevoelige businessMonolithische apps, admin-backends, geen globale uniciteit nodigHoge-concurrency IM, bestelnummers, bericht-ID's (vereist eigen implementatie)

Best Practices

Voor productie-databaseprimaire sleutels: geef de voorkeur aan UUID v4 of ULID, vermijd v1

De laatste 48 bits van UUID v1 zijn het MAC-adres, en de eerste 48 bits zijn een timestamp met 100 ns-precisie – **deze twee velden kunnen worden teruggebracht tot een machinevingerafdruk en de generatietijd**. RFC 4122 stelt duidelijk dat v1 'alleen mag worden gebruikt wanneer achterwaartse compatibiliteit nodig is'. Kies in productie v4 (willekeurig) of ULID (sorteerbaar); gebruik v1 alleen af en toe bij debuggen of wanneer je de genererende machine wilt traceren. **Gebruik v1 nooit** als extern blootgestelde gebruikers-ID's, apparaat-ID's of bestelnummers.

Hoe kies je tussen UUID v1, v4 en v5?

UUID-lengte 128 bit ≠ entropie: v4 heeft slechts 122 bit echte willekeur

Hoewel UUID v4 in totaal 128 bits heeft, **zijn de eerste 4 bits het versienummer (vast op 0100) en de laatste 2 bits de variant (vast op 10)** – slechts 122 bits zijn echt willekeurig. Dit is een indelingsbeperking opgelegd door RFC 4122 – **elke UUID v4-bibliotheek die claimt '128 bit volledig willekeurig' te zijn, is verkeerd geïmplementeerd**. Bovendien zijn in de laatste 64 bits van v4 de bovenste 2 bits van de 7e byte ook variant-velden, dus de werkelijke entropie is nog lager. Baseer je bij het ontwerpen van systemen op 122 bits (niet 128) voor de beveiligingsberekening om het botsingsrisico niet te onderschatten.

RFC 4122 - UUID-specificatie

Sla UUID's op als BINARY(16)-kolommen, niet als VARCHAR(36)

De UUID v4-tekenreeks `550e8400-e29b-41d4-a716-446655440000` oogt compact, maar VARCHAR(36) slaat daadwerkelijk 36 bytes + 2 bytes voor lengte = 38 bytes op, **2,4 keer meer opslag dan BINARY(16)**. MySQL/PostgreSQL/MSSQL hebben allemaal ingebouwde UUID-functies die direct naar BINARY(16) kunnen schrijven, en de indexgrootte halveert. Bij tabellen met meer dan 100 miljoen rijen zorgen VARCHAR(36)-primaire-sleutelindexen ervoor dat de B-Tree 1-2 niveaus hoger wordt, **wat de queryprestaties met 30-50 % verslechtert**. Converteer alleen naar een tekenreeks voor weergave in de frontend; vervoer op de businesslaag altijd als BINARY(16).

UUID / ULID / NanoID vergelijkingstabel

Gebruik voor URL-scenario's NanoID of UUID zonder streepjes om URL-encoding te vermijden

De tekenset van UUID v4 is `[0-9a-f-]`, **en het streepje - in URL-paden vereist dubbele URL-encoding** (eerst escapen naar %2D, dan naar %252D), wat er lelijk uitziet. Twee oplossingen: **(1) gebruik voor URL-scenario's direct NanoID** (standaard 21 URL-veilige tekens); **(2) UUID v4 met streepjes uitgeschakeld** levert 32 pure hex-tekens op, die als URL-padsegment geen encoding nodig hebben. Voor cookie-scenario's kun je ook het beste NanoID (A-Za-z0-9_-) of UUID zonder streepjes gebruiken, en vermijd je de tekens `+` `/` `=` (Base64-tekenset).

Kun je streepjes verwijderen of UUID's in hoofdletters omzetten?

Dedup na bulkgeneratie altijd: generatorbugs kunnen duplicaten veroorzaken

De botsingskans van UUID v4 is ongeveer 1/10^36, dus theoretisch is deduplicatie niet nodig – **maar vertrouw in de praktijk niet op de theorie**. Echte incidenten zoals RNG-storingen in de Linux-kernel, bugs in de implementatie van `crypto.randomUUID` in vroege Node.js-versies en onvoldoende entropie bij het opstarten van cloud-VM's hebben allemaal geleid tot duplicaten in bulkgegenereerde UUID's. **In productie moet je na het bulkgenereren van 100k+ UUID's verplicht `SELECT id, COUNT(*) FROM t GROUP BY id HAVING COUNT(*) > 1` uitvoeren om te deduppen en te controleren** – bij problemen rol je onmiddellijk de generatorversie terug. Dit is een best practice die is opgedaan met pijnlijke lessen bij datamigratie en bulkimport.

Kan ik in één keer meerdere UUID's genereren?

Veelgestelde vragen

Wat is het verschil tussen UUID en GUID?

UUID (Universally Unique Identifier) en GUID (Globally Unique Identifier) zijn in wezen hetzelfde met verschillende namen: UUID is de formele IETF-standaardnaam (RFC 4122), terwijl GUID de voorkeursterm van Microsoft is in het Windows-ecosysteem. Beide hebben het identieke 128-bit formaat zoals `550e8400-e29b-41d4-a716-446655440000`. Standaard UUID's die door deze tool worden gegenereerd, werken uitwisselbaar in elk scenario dat GUID's vereist.

Hoe kies ik tussen UUID v1, v4 en v5?

UUID v1 is gebaseerd op tijdstempel en MAC-adres — tijdgeordend en traceerbaar, maar kan MAC-adresinformatie lekken. UUID v4 is volledig willekeurig, de meest gebruikte en veilige keuze, geschikt voor de meeste primaire sleutel- en identifierscenario's. UUID v5 is een op SHA-1 hash gebaseerde naamruimteversie — dezelfde naamruimte + dezelfde naam produceert altijd dezelfde UUID, ideaal voor deterministische uitvoerscenario's. Voor algemene ontwikkeling is UUID v4 de standaardkeuze.

Welke voordelen hebben ULID en NanoID ten opzichte van UUID v4?

ULID (26 tekens) is korter dan UUID (36 tekens met koppeltekens) en kan lexicografisch worden gesorteerd op aanmaaktijd, waardoor het ideaal is voor database-indexen en logtracering. NanoID (standaard 21 tekens) is nog korter en sneller, gebruikt URL-veilige tekens dus geen escaping nodig in URL's en cookies — het is ongeveer 30% kleiner dan UUID. Alle drie hebben een verwaarloosbare kans op botsingen, maar de sorteerbaarheid van ULID schittert in gedistribueerde systemen, terwijl NanoID vriendelijker is voor frontend/URL-scenario's.

Kan ik meerdere UUID's tegelijk genereren?

Ja. Deze tool ondersteunt bulkgenereer van 1 tot 100 ID's. Stel het aantal in via snelle knoppen of de schuifregelaar en genereer met één klik — perfect voor het maken van testgegevens, bulkimport en het voorbereiden van unieke ID's voor scripts. Na generatie kun je alle resultaten in één keer kopiëren of exporteren als TXT- of JSON-bestanden.

Bulkgeneratie gids

Kan ik valideren of een tekenreeks een geldige UUID is?

Ja. Schakel over naar het tabblad "Valideren" en plak een willekeurige tekenreeks — de tool identificeert en valideert automatisch: standaard UUID's (v1/v3/v4/v5) rapporteren hun specifieke versienummer, en het herkent ook ULID (26-teken Crockford Base32) en NanoID (21-teken URL-veilige) formaten, waardoor het erg handig is om snel ID-formaatproblemen op te lossen tijdens ontwikkeling en debugging.

Is online UUID's genereren veilig? Lekken mijn ID's naar een server?

Volledig veilig. Alle ID-generatie en -validatie wordt lokaal in uw browser uitgevoerd via JavaScript, met behulp van crypto.getRandomValues() voor cryptografisch veilige willekeurige getallen. Er worden geen gegenereerde ID's naar een server verzonden en er wordt geen gegenereergeschiedenis in de cloud opgeslagen. Het werkt zelfs als u offline bent, waardoor het geschikt is voor bedrijfsintranetten en gevoelige projecten.

Kan ik koppeltekens verwijderen of UUID's naar hoofdletters converteren?

Ja. Voor UUID v1/v4/v5 biedt de tool twee schakelaars: "Hoofdletters" schakelt de uitvoerhoofdlettergevoeligheid, en "Koppeltekens" laat je de streepjes verwijderen (handig voor URL's, configuratiebestanden of databases die een koppeltekenvrij formaat vereisen). ULID en NanoID hebben standaard geen koppeltekens en ondersteunen ook hoofdletter/kleine letter schakelen.

Waarom een online tool gebruiken in plaats van de opdrachtregel om UUID's te genereren?

Opdrachtregelprogramma's (zoals uuidgen van Linux, de uuid-module van Python) vereisen een ontwikkelomgeving. Een online tool werkt direct in uw browser zonder installatie. Bovendien integreert deze tool UUID-versieherkenning, bulkexport en lokale geschiedenisfuncties — handiger bij het werken tussen apparaten (bijv. ID's genereren voor niet-technische collega's) of wanneer u direct ID's nodig heeft.

Woordenlijst

UUID
Universally Unique Identifier, 128-bit lengte, RFC 4122 standaard, veelvoorkomende versies zijn v1 (tijdstempel+MAC), v4 (willekeurig), v5 (SHA-1 hash).
GUID
Globally Unique Identifier, Microsoft's term voor UUID — de twee zijn identiek in formaat en doel.
ULID
Universally Unique Lexicographically Sortable Identifier, 26 tekens met Crockford Base32-codering, eerste 48 bits zijn tijdstempel — sorteerbaar op aanmaaktijd.
NanoID
Een lichtgewicht unieke ID-generator, standaard 21 URL-veilige tekens (A-Za-z0-9_-), korter en sneller dan UUID, ideaal voor frontend- en URL-scenario's.
UUID v1
Op tijdstempel en MAC-adres gebaseerde UUID-versie, tijd-sorteerbaar maar kan MAC-adres en aanmaaktijd lekken — minder veilig dan v4.
UUID v4
Volledig op willekeurige getallen gebaseerde UUID-versie, meest gebruikt, verwaarloosbare botsingskans, de standaardkeuze in ontwikkeling.
UUID v5
Op SHA-1 hash gebaseerde naamruimte UUID-versie — dezelfde naamruimte + dezelfde naaminvoer produceert identieke UUID-uitvoer, geschikt voor deterministische scenario's.
Botsingskans
De kans dat twee willekeurig gegenereerde ID's identiek zijn. De botsingskans van UUID v4 is ongeveer 1 op 17 biljoen biljoen, verwaarloosbaar in praktische engineering.
Crockford Base32
Een door Douglas Crockford ontworpen Base32-codering die hoofdletters en cijfers gebruikt met uitsluiting van I/L/O/U om dubbelzinnige tekens te vermijden — gebruikt door ULID.

UUID / ULID / NanoID Vergelijking

KenmerkUUID v4ULIDNanoID
Lengte36 tekens (met koppeltekens) / 32 tekens (zonder koppeltekens)26 tekens21 tekens (standaard)
TekensetHexadecimaal (0-9a-f)Crockford Base32 (32 tekens)URL-veilig (64 tekens)
SorteerbaarheidOngeordend (willekeurig)TijdgeordendOngeordend (willekeurig)
URL-veiligHeeft escaping nodig (koppeltekens + alfanumeriek)Meestal veilig (hoofdletters + cijfers)Volledig URL-veilig
GeneratiesnelheidSnelSnel~60% sneller dan UUID
Botsingskans1/10^361/10^361/10^34 (bij 21 tekens)
Typische GebruiksgevallenDatabase primaire sleutels, algemene ID'sGedistribueerde systemen, logtraceringKorte URL's, frontend ID's, cookies

UUID Generatiemethoden per Taal

TaalCode
JavaScriptcrypto.randomUUID() // Moderne browsers / Node.js 19+
Pythonimport uuid; uuid.uuid4()
JavaUUID.randomUUID()
Gogithub.com/google/uuid; uuid.New()
Bash/Linuxuuidgen of cat /proc/sys/kernel/random/uuid

Authoritative References