UUID-generator

Genereer willekeurige UUID-(v4-)identifiers, één of meerdere tegelijk.

100% privé — draait volledig in je browser. Je gegevens worden op je apparaat verwerkt en nooit naar het internet verzonden.

Over de UUID-generator

Deze gratis UUID-generator maakt willekeurige versie 4-UUID's (ook wel GUID's genoemd) — universeel unieke identificatoren die worden gebruikt in databases, API's, logbestanden en gedistribueerde systemen. Genereer er één of een hele reeks en kopieer ze met één klik.

Ze worden in uw browser gegenereerd met crypto.getRandomValues, dezelfde cryptografisch veilige willekeurige bron die ook voor versleutelingssleutels wordt gebruikt. Er wordt niets bij een server opgevraagd, dus elke UUID die u hier ziet, heeft nergens anders bestaan.

Wat een UUID is

Een UUID is een 128-bitsgetal, geschreven als 32 hexadecimale cijfers in vijf groepen gescheiden door koppeltekens:

f47ac10b-58cc-4372-a567-0e02b2c3d479

De groepering is 8-4-4-4-12, en de totale lengte is altijd 36 tekens, inclusief de koppeltekens.

Het punt ervan is een unieke ID maken zonder het aan iemand te hoeven vragen. Een database kan 1, 2, 3… uitdelen omdat zij de enige autoriteit is over wat er hierna komt. Maar wanneer twee telefoons offline records aanmaken, of twaalf servers tegelijk rijen invoegen, of u een ID nodig hebt *voordat* de rij bestaat, is er geen autoriteit om het aan te vragen. Een UUID lost dat op door zo groot en zo willekeurig te zijn dat een botsing geen gedachte waard is.

Versie 4, en de twee cijfers die het verraden

Er zijn verschillende UUID-versies. Versie 4 is de willekeurige, en dat is wat vrijwel iedereen bedoelt met "een UUID".

U kunt de versie rechtstreeks uit de tekenreeks aflezen. In f47ac10b-58cc-4372-a567-0e02b2c3d479:

  • Het eerste cijfer van de derde groep is de versie — hier een 4
  • Het eerste cijfer van de vierde groep is de variant — altijd 8, 9, a of b

Die twee posities liggen vast, waardoor er 122 bits aan echte willekeur overblijven in plaats van 128.

De andere versies die u kunt tegenkomen: v1 codeert het tijdstempel en het MAC-adres van de machine, waardoor hij sorteerbaar is maar verraadt waar en wanneer hij is gemaakt. v7, in 2024 gestandaardiseerd, is het moderne antwoord — een tijdstempel vooraan en willekeur daarna, zodat ID's op aanmaaktijd sorteren zonder hardwaredetails prijs te geven. Kiest u vandaag en is de volgorde in de database van belang, dan is v7 het kennen waard.

Zijn ze echt uniek?

Niet gegarandeerd, maar de getallen zijn absurd genoeg om het er niet toe te laten doen.

122 willekeurige bits geven ongeveer 5,3 × 10³⁶ mogelijke waarden. Om een kans van 50% op één enkele botsing te bereiken, zou u ruwweg 2,7 × 10¹⁸ UUID's moeten genereren — 2,7 triljoen.

Concreet: als u elke seconde een miljard UUID's genereert, duurt het ongeveer 85 jaar om een kans van 50% op één duplicaat in de hele verzameling te bereiken. Voor elke echte toepassing is dat risico kleiner dan het risico dat uw opslag de waarde stilletjes beschadigt.

Het enige echte voorbehoud is de kwaliteit van de willekeur. Een UUID uit een zwakke willekeurige bron is niet uniek op de manier die de wiskunde belooft — er zijn echte bugs geweest waarbij een voorspelbare generator herhalingen opleverde. Dit hulpmiddel gebruikt de cryptografische generator van de browser, niet Math.random().

Een UUID is geen geheim

Dit verdient het om duidelijk gezegd te worden, want het gaat in beide richtingen mis.

Een v4-UUID is onvoorspelbaar, dus is hij redelijk als een niet te raden URL — een deellink of een token om een wachtwoord opnieuw in te stellen. Maar hij is niet ontworpen als beveiligingsbouwsteen, hij heeft geen vervaldatum, en hij wordt vaak gelogd, gecachet, in analytics gestopt en in chats geplakt. Beschouw hem als een identificator die toevallig moeilijk te raden is, niet als een inloggegeven.

En omgekeerd: ga er niet van uit dat een UUID iets verbergt. Een v1-UUID bevat een tijdstempel en een MAC-adres in het volle zicht. Als u ID's van elders hebt overgenomen en ze beginnen met versie 1, vertellen ze iedereen die ze leest wanneer en waar ze zijn gemaakt.

Waar u ze zult gebruiken

  • Primaire sleutels in databases — vooral wanneer rijen op meerdere machines tegelijk worden aangemaakt
  • Offline-first-apps — een telefoon kan zonder verbinding records aanmaken en later synchroniseren zonder te hernummeren
  • API-verzoek-ID's — één verzoek door vele diensten heen volgen in de logbestanden
  • Bestands- en uploadnamen — botsingen voorkomen zonder de bestandsnaam van de gebruiker te vertrouwen
  • Ontdubbelen van berichten — een idempotentiesleutel zodat een opnieuw verzonden verzoek niet twee keer wordt verwerkt
  • Deellinks — een niet te raden URL voor een document of een uitnodiging
  • Testgegevens — unieke waarden die nooit botsen met echte gegevens

Hoe u het gebruikt

  • Kies hoeveel u er nodig hebt
  • Genereer — er verschijnen nieuwe UUID's
  • Kopieer — kopieer één UUID of de hele lijst

Goed om te weten

  • Hoofdletters maken niet uit, maar kleine letters zijn de conventie en zijn wat dit hulpmiddel produceert. Sommige systemen vergelijken UUID's als gewone tekenreeksen, waar A en a verschillen — wees dus consequent.
  • De koppeltekens zijn opmaak. Veel systemen slaan de 32 cijfers zonder koppeltekens op, of als 16 ruwe bytes. Dezelfde waarde, een andere weergave.
  • Als databasesleutel kosten ze iets. Een UUID is 16 bytes tegen 4 of 8 voor een geheel getal, en willekeurige waarden verspreiden schrijfacties over een B-boomindex in plaats van ze achteraan toe te voegen. Bij een grote tabel met veel schrijfverkeer is dat meetbaar — precies het probleem dat v7 moest oplossen.
  • Gebruik ze niet als wachtwoord. Ze zijn onvoorspelbaar, maar het zijn identificatoren, en ze belanden in logbestanden en de browsergeschiedenis.
  • "GUID" is Microsofts naam voor hetzelfde. In .NET en SQL Server ziet u GUID; het is dezelfde 128-bitswaarde.
  • De nil-UUID bestaat uit enkel nullen — 00000000-0000-0000-0000-000000000000. Die betekent meestal "geen" of "niet ingesteld", dus het is nuttig hem te herkennen.

Veelgestelde vragen

Wat is een UUID en waar dient hij voor?

Een UUID is een 128-bitsidentificator geschreven als 36 tekens, zoals f47ac10b-58cc-4372-a567-0e02b2c3d479. Het doel ervan is om iets in staat te stellen zelf een unieke ID te maken, zonder een centrale teller te raadplegen. Dat is van belang wanneer records op meerdere servers tegelijk worden aangemaakt, op een telefoon die offline is, of voordat de rij überhaupt in de database bestaat.

Zijn UUID's gegarandeerd uniek?

Nee, maar de kans op een botsing is verwaarloosbaar. Een versie 4-UUID heeft 122 willekeurige bits, goed voor ongeveer 5,3 × 10³⁶ mogelijkheden. U zou er zo'n 2,7 triljoen moeten genereren voordat u een kans van 50% op één duplicaat bereikt. Bij een miljard per seconde is dat ruwweg 85 jaar.

Wat is het verschil tussen UUID en GUID?

In de praktijk geen enkel. GUID is Microsofts naam voor dezelfde 128-bitsidentificator en u ziet hem overal in .NET en SQL Server. Het enige detail is dat sommige Microsoft-hulpmiddelen een GUID tussen accolades tonen, zoals {f47ac10b-...}, en dat een paar oudere API's sommige bytes anders ordenen bij het omzetten naar ruwe binaire vorm.

Welke UUID-versie moet ik gebruiken?

Versie 4 voor algemeen gebruik — die is volledig willekeurig en verraadt niets over waar of wanneer hij is gemaakt. Overweeg versie 7 als deze ID's primaire sleutels in een database worden, want die zet een tijdstempel vooraan zodat de waarden op aanmaaktijd sorteren en veel efficiënter indexeren. Vermijd versie 1 voor alles wat openbaar is, want die bevat een MAC-adres en een tijdstempel.

Kan ik een UUID als beveiligingstoken gebruiken?

Voor een niet te raden link is dat aanvaardbaar, aangezien een v4-UUID realistisch gezien niet te voorspellen is. Maar het is een identificator en geen inloggegeven: hij verloopt nooit, hij kan niet op zichzelf worden ingetrokken, en hij belandt vaak in serverlogboeken, analytics en de browsergeschiedenis. Gebruik voor echte authenticatie een daarvoor gemaakt token met een vervaltijd.

Worden deze UUID's op uw server gegenereerd?

Nee. Ze worden in uw browser gemaakt door crypto.getRandomValues, de cryptografisch veilige generator die in elke moderne browser is ingebouwd. Er wordt geen verzoek gedaan en niets vastgelegd, dus u kunt ze genereren met uw verbinding uitgeschakeld.

Gerelateerde hulpmiddelen

Videohandleiding

We voegen regelmatig nieuwe tools toe — abonneer je op YouTube om bericht te krijgen bij elke nieuwe tool.

Meer tools

Alles bekijken

Aanbevolen apps

Alles bekijken