UUID-generator
Generer UUID v4 (og NIL/maks), enkeltvis eller i bulk.
Slik fungerer det
UUID v4 er tilfeldige 128-bits identifikatorer, generert med nettleserens kryptografisk sikre tilfeldighet (crypto.randomUUID). De er praktisk talt garantert unike.
Om dette verktøyet
En UUID (Universally Unique Identifier), også kalt GUID, er en 128-bits identifikator som er praktisk talt garantert å være unik i hele verden, uten en sentral autoritet. Formatet er 32 heksadesimale sifre gruppert som `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`. Den vanligste varianten er UUID v4, som er ren tilfeldighet (122 bits), sannsynligheten for kollisjon er så liten at du kan generere en milliard i sekundet i 85 år før du forventer én duplikat. Dette verktøyet lager v4-UUIDer med `crypto.randomUUID()`, den kryptografisk sikre nettleser-APIen, og lager også NIL-UUID (`0…0`) og maks-UUID (`f…f`) etter behov.
Slik bruker du det
- Klikk «Generer» for én ny UUID v4, kopieres til utklippstavlen med ett klikk.
- Skru på «bulk»-modus for å generere flere hundre UUIDer på én gang.
- Bruk NIL-UUID (`00000000-0000-0000-0000-000000000000`) som «tom»/sentinel-verdi når `null` ikke fungerer.
- Bruk maks-UUID (`ffffffff-ffff-ffff-ffff-ffffffffffff`) som «uendelig»/sluttverdi ved sortering.
- Alle UUIDer genereres lokalt med `crypto.randomUUID()`, sendes aldri over nettverket.
Eksempler
a3f5c8e2-4b7d-4e91-9c6f-8b1a2c3d4e5f00000000-0000-0000-0000-000000000000count = 5f1e2d3c4-b5a6-4798-9231-a1b2c3d4e5f6
a7b8c9d0-e1f2-4a3b-8c4d-5e6f7a8b9c0d
… (5 rader/rows totalt)Vanlige bruksområder
- Primærnøkler i databaser der du vil unngå å eksponere sekvensielle IDer.
- Distribuerte systemer der flere noder må lage IDer uten koordinering.
- Idempotency-nøkler i API-forespørsler (Stripe, betalingsprosessorer).
- Trace-IDer i logging og distribuerte spor (OpenTelemetry).
- Filnavn for opplastninger eller midlertidige filer der navnekollisjon må unngås.
- Sesjonsidentifikatorer i cookies eller URLer (som ikke må gjettes).
- Korrelasjons-IDer for meldinger i køer (RabbitMQ, Kafka, SQS).
Ofte stilte spørsmål
- Hva er forskjellen på UUID og GUID?
- De er samme ting. «GUID» er Microsofts betegnelse (mest brukt i .NET og Windows), mens «UUID» kommer fra RFC 4122 og er den offisielle standarden. Formatet er identisk.
- Er UUID v4 virkelig unik?
- Ikke absolutt, men praktisk talt. Det er 2¹²² ≈ 5,3 × 10³⁶ mulige v4-UUIDer. For at det skal være 50 % sjanse for kollisjon må du generere ~2,7 × 10¹⁸ (2,7 kvintiljoner). For sammenligning: hvert atom i din kropp har flere unike UUIDer tilgjengelig enn du kommer til å generere.
- Bør jeg bruke UUID som primærnøkkel i databasen?
- Fordeler: kan genereres uten roundtrip til DB, lekker ikke antall rader, trygt å eksponere i URLer. Ulemper: 16 bytes vs 8 for bigint, fragmenterer B-tree-indekser (siden v4 er tilfeldig). Vurder UUID v7 (tidsstempel-basert) hvis du vil ha unikhet + sortering. For høy-ytelse OLTP med milliarder av rader, bigint er ofte bedre.
- Hva er UUID v7 og bør jeg bruke det?
- UUID v7 (godkjent i RFC 9562, 2024) kombinerer en Unix-tidsstempel i millisekunder med 74 tilfeldige bits. Fordel: nye v7-IDer sorterer naturlig etter opprettelsestid, det gjør dem svært mye vennligere for database-indekser enn v4. Bruk v7 for nye systemer der du vil ha UUID og god DB-ytelse; v4 er fortsatt greit for tokens, nonce eller når tidsstempel-lekkasje ikke er ønsket.
Teknisk bakgrunn
UUID-formatet er definert i RFC 4122 (2005) og oppdatert i RFC 9562 (2024). En UUID er 128 bits totalt, hvorav 4 bits identifiserer versjonen (1–8) og 2–3 bits identifiserer varianten. UUID v1 baserer seg på MAC-adresse + tidsstempel (lekker maskinvareidentitet), v3 og v5 er navn-baserte hasher (MD5/SHA-1), v4 er ren tilfeldighet, v6/v7/v8 er nyere varianter fra 2024. `crypto.randomUUID()` er tilgjengelig i alle moderne nettlesere og Node.js siden 2021 og bruker OSets sikre entropikilde.