UUID-generator

Kod
Namnrymd

Introduktion

Toollect UUID-generator är ett webbläsarbaserat verktyg som producerar universellt unika identifierare (UUID, även kända som GUID) i alla åtta standardversioner — v1 till v8. Oavsett om du behöver slumpmässiga identifierare för webbformulär, tidsordnade nycklar för databasposter, deterministiska namnområdes-ID för distribuerade system eller anpassade UUID för legacy-integration, täcker detta verktyg hela spektrat utan att kräva programvaruinstallation eller serverbearbetning.

UUID är en av de mest använda identifieringsstandarderna inom programvaruteknik, som används överallt från databasprimärnycklar och API-resursidentifierare till distribuerad spårning och sessionstokens. Toollect UUID-generator sammanför alla UUID-versioner i ett enda gränssnitt, så att du kan välja rätt variant för ditt användningsfall och generera den direkt med ett enda klick.

All generering sker helt i din webbläsare med Web Crypto API. Ingen data överförs över nätverket, inga cookies sätts och inga identifierare loggas. Verktyget fungerar offline efter den första sidladdningen och på alla moderna webbläsare och enheter.

Användningsområden

Olika UUID-versioner tjänar olika arkitektoniska behov. Att välja rätt version beror på dina krav på ordning, determinism, integritet och systemkoordinering.

Databasprimärnycklar

UUID eliminerar behovet av en central sekvens vid generering av primärnycklar över distribuerade databasinstanser. UUID v4 är det enklaste valet, men UUID v6 och v7 erbjuder tidsbaserad sortering som avsevärt minskar B-träd-indexfragmentering i databaser som PostgreSQL och MySQL. För system som behöver både global unicitet och snabb skrivprestanda har v7 blivit det moderna rekommenderade valet.

Identifierare för Distribuerade System

Mikrotjänster och distribuerade system genererar ofta identifierare oberoende på olika noder. UUID v1 innehåller en nodidentifierare (härledd från MAC-adress) och klocksekvens, vilket gör varje genererande nods ID unikt utan samordning. UUID v4 och v7 är också populära för detta scenario på grund av sin enkelhet.

Deterministiska Namnbaserade ID

När samma indata alltid ska producera samma UUID — till exempel att generera en stabil identifierare från en användares e-post, en resurs-URL eller ett namnrymdskvalificerat namn — ger UUID v3 (MD5-baserad) och v5 (SHA-1-baserad) determinism. Detta är användbart för innehållsadresserbar lagring, enhetsidentitet i event sourcing och migrering av legacy-data utan att ändra identifierare.

API-Resursidentifierare

Att exponera auto-inkrementerande heltal i API-URL:er läcker information om resurskvantitet och ordning. UUID ger ogenomskinliga identifierare som inte avslöjar något om systemets interna delar. UUID v4 är det vanligaste valet för REST API-resurssökvägar. Verktygets alternativ för versaler och inga bindestreck gör det enkelt att anpassa UUID till olika URL- och formateringskonventioner.

Anpassade och Legacy-System

UUID v2 (DCE Security) lägger till lokala användar- och gruppidentifierare för säkerhetskontexter på operativsystemsnivå. UUID v8 tillåter anpassade fältlayouter för system som behöver bädda in specifika databitar samtidigt som standardformatet för UUID bibehålls. Dessa versioner är nischade men värdefulla för specialiserade integrationsscenarier.

Hur det fungerar

UUID-generatorn fungerar helt klientbaserat. När du väljer en version och klickar på generera anropar verktyget lämplig algoritm med JavaScript och webbläsarens Web Crypto API.

För slumpmässiga UUID (v4) anropar verktyget crypto.getRandomValues() för att producera kryptografiskt säkra slumpmässiga byte, formaterar dem sedan i standard UUID-layout med korrekta versions- och variantbitar. För tidsbaserade UUID (v1, v2, v6, v7) läser verktyget den aktuella tidsstämpeln från systemklockan och kombinerar den med slumpmässiga klocksekvens- och nodbyte. För namnbaserade UUID (v3, v5) hash-ar verktyget en namnrymd och ett namn tillsammans med MD5 eller SHA-1 via SubtleCrypto API, extraherar sedan 128 bitar till standard UUID-format.

UUID-format

En UUID är ett 128-bitars värde som visas som en 36-teckens sträng i formatet xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, där varje x är en hexadecimal siffra. De 128 bitarna är strukturerade i fält:

Fält Bit Syfte
time_low 32 Låga 32 bitar av tidsstämpeln (v1, v2, v6)
time_mid 16 Mellersta 16 bitar av tidsstämpeln
time_hi_and_version 16 Höga 12 bitar av tidsstämpeln + 4 versionsbitar
clock_seq_hi_and_reserved 8 Höga 6 bitar av klocksekvens + 2 variantbitar
clock_seq_low 8 Låga 8 bitar av klocksekvens
node 48 Nodidentifierare (MAC-adress eller slumpmässig)

Versions-nibblen (bitar 48-51, den mest signifikanta nibblen i den tredje gruppen) identifierar vilken algoritm som producerade UUID: 0001 (v1), 0010 (v2), 0011 (v3), 0100 (v4), 0101 (v5), 0110 (v6), 0111 (v7), 1000 (v8). Detta är 4 som du ser i en standard UUID v4 som 550e8400-e29b-41d4-a716-446655440000.

Variantbitarna (bitar 64-65, de två mest signifikanta bitarna av den första byten i den fjärde gruppen) anger UUID-varianten. RFC 9562 specificerar variant 10xxxxxx (bitar 64-65 = 10), vilket betyder att det första tecknet i den fjärde gruppen alltid är 8, 9, a eller b.

Exempel på Binär Layout

128-bitarsstrukturen hos en UUID förstås bäst visuellt. Ta en konkret UUID v4 550e8400-e29b-41d4-a716-446655440000, här är hur bitarna mappas till varje grupp och fält:

Grupp:      1          2          3          4          5
Hex:     550e8400    e29b       41d4       a716       446655440000
Binärt:   [32 bitar] [16 bitar]  [16 bitar] [16 bitar]  [48 bitar]

Versions-nibble (grupp 3, hög nibble):
  550e8400-e29b-4  1d4-a716-446655440000
                  ^
                  version = 0100 (v4)

Variantbitar (grupp 4, hög byte):
  550e8400-e29b-41d4-  a  716-446655440000
                       ^
                       variant = 10xxxxxx

Full binär uppdelning av grupper 3-4:

  grupp 3 (16 bitar)      början grupp 4 (8 bitar)
  0100 0001 1101 0100    1010 0111
  └─┘                    └─┘
  ver=0100 (v4)          variant | clock_seq_hi
                          10

För UUID v7 kodar de första 48 bitarna Unix-millisekund-tidsstämpeln:

  018f3a6e-1a2b-  7  bcd-8a1b-2c3d4e5f6789
                  ^
                  version = 0111 (v7)

  grupper 1-2: 48-bitars Unix ms-tidsstämpel
  0000 0001 1000 1111 0011 1010 0110 1110 0001 1010 0010 1011
  hög nibble grupp 3:
  0111  = version 7

Den höga byten i grupp 4 (a i exemplet ovan) innehåller variantbitarna. Eftersom varianten är 10, faller denna byte alltid i intervallet 1000 0000 (0x80) till 1011 1111 (0xBF), vilket i hex motsvarar 8, 9, a eller b som det första tecknet i den fjärde gruppen.

UUID-versioner Förklarade

Följande tabell sammanfattar de åtta standard UUID-versionerna i en överblick:

Version Algoritm Primär Indata Deterministisk Sorterbar Typisk Användning
v1 Tidsbaserad + Nod Tidsstämpel, klocksekvens, MAC Nej Ja (tid) Distribuerade system, legacy tidsbaserade ID
v2 DCE-säkerhet Tidsstämpel, POSIX UID/GID Nej Ja (tid) DCE-miljöidentifierare (nisch)
v3 MD5-hash Namnrymd + namn Ja Nej Namnbaserade ID där MD5 räcker
v4 Slumpmässig 122 slumpmässiga bitar Nej Nej Allmänna identifierare
v5 SHA-1-hash Namnrymd + namn Ja Nej Namnbaserade identifierare (rekommenderas framför v3)
v6 Omordnad tidsbaserad Tidsstämpel (tid-hög först) Nej Ja (tid) Tidsordnade databasnycklar
v7 Unix-tidsstämpel + slump Unix ms-tidsstämpel + slump Nej Ja (ms) Moderna tidsordnade identifierare
v8 Anpassad Användardefinierade fält Beror på Beror på Anpassade experimentella eller proprietära format

UUID v1 — Tidsbaserad

UUID v1 kombinerar en 60-bitars tidsstämpel (100-nanosekundersintervaller sedan 15 oktober 1582), en 14-bitars klocksekvens (för detektering av klockåterställning) och en 48-bitars nodidentifierare (traditionellt härledd från MAC-adressen). Detta ger varje genererande nod ett unikt identifieringsutrymme utan samordning.

Tidsstämpeln är utlagd med låga, mellersta och höga delar över de första tre grupperna av UUID. Denna icke-sekventiella layout innebär att v1-UUID är tidsmässigt sorterbara men inte i en databasvänlig monoton ordning — v6 och v7 åtgärdar detta.

UUID v2 — DCE-säkerhet

UUID v2 utökar v1:s tidsstämpel- och klocksekvenslayout men ersätter 48-bitars nodfältet med ett 32-bitars POSIX-användar-ID (UID) eller grupp-ID (GID) och en 6-bitars lokal domänidentifierare. De återstående 10 bitarna av nodfältet och 2 bitar av klocksekvensen återanvänds för den lokala domänen och dess struktur:

Fält Bitar Källa
Tidsstämpel 60 Samma epok som v1 (100 ns tick sedan 1582-10-15)
Klocksekvens 6 Standard, reducerad från 14 bitar
Lokal domän 6 Identifierar UID-domän (POSIX, DCE, etc.)
Lokal identifierare 32 POSIX UID- eller GID-värde

UUID v2 specificeras i DCE 1.1: Remote Procedure Call-standarden, inte i den centrala UUID-specifikationen RFC 9562. Den används sällan utanför legacy DCE-miljöer, och de flesta moderna UUID-generatorer utelämnar den eller inkluderar den endast för fullständighetens skull. Om du bygger ett nytt system, använd v4, v7 eller v5 istället.

UUID v3 — MD5 Namnbaserad

UUID v3 genererar en deterministisk UUID från en namnrymd-UUID och en namnsträng. Processen sammanfogar namnrymds- och namnbytes, beräknar en MD5-hash och tar de första 128 bitarna som UUID. Samma namnrymd och namn producerar alltid samma v3-UUID, vilket gör den lämplig för innehållsadressering och stabila identifierare.

Se avsnittet UUID v3 vs v5 nedan för en jämförelse av de två namnbaserade versionerna.

UUID v4 — Slumpmässig

UUID v4 använder 122 slumpmässigt genererade bitar plus 6 fasta bitar (4 för versions-nibblen, 2 för varianten). Detta är den mest använda UUID-versionen, som stöds direkt av de flesta programspråks standardbibliotek. Toollect UUID-generator använder crypto.getRandomValues() för att säkerställa kryptografiskt säker slumpmässighet, vilket gör utdata lämplig för säkerhetskänsliga sammanhang som sessionstokens.

Sannolikheten för en kollision över en miljard genererade v4-UUID är ungefär 1 på 5,3 × 10²¹ — försumbar för alla praktiska ändamål.

UUID v5 — SHA-1 Namnbaserad

UUID v5 är motsvarigheten till v3 och använder SHA-1 istället för MD5 för den underliggande hashen. Den producerar samma determinismgarantier (samma namnrymd + namn = samma UUID) med en mer kollisionsresistent hash-algoritm. För nya system som behöver namnbaserade UUID rekommenderar RFC 9562 v5 framför v3.

Se avsnittet UUID v3 vs v5 nedan för den detaljerade jämförelsen.

UUID v6 — Omordnad Tidsbaserad

UUID v6 omstrukturerar v1-tidsstämpeln för att placera de mest signifikanta tidsbitarna först. Detta gör v6-UUID monotont ökande vid lexikografisk sortering, till skillnad från v1 där tidsstämpeln är uppdelad över icke-intilliggande fält. UUID v6 är en modern ersättning för v1 i miljöer där tidsordnade databasindex eller sorterad lagring är viktig.

UUID v7 — Unix Tidsstämpel + Slumpmässig

UUID v7 använder en 48-bitars Unix-millisekund-tidsstämpel följt av 74 slumpmässiga bitar. Tidsstämpeln upptar de mest signifikanta bitarna, vilket gör v7-UUID sorterbara efter skapelsetid — idealiskt för databasprimärnycklar där B-träd-indexprestanda är viktig. UUID v7 är enklare än v1 eller v6 eftersom den inte kräver MAC-adresser, klocksekvenser eller 100-ns epokkonverteringar.

För nya system som behöver tidsordnade UUID är v7 generellt det bästa valet: den ger sortering med millisekundprecision, bred slumpmässighet och enkel implementering.

UUID v8 — Anpassad

UUID v8 reserverar versions-8-identifieringsutrymmet för experimentella eller proprietära UUID-format. De enda fasta bitarna är 4-bitars versions-nibblen (1000) i bitar 48-51 och 2-bitars varianten (10) i bitar 64-65 — de återstående 122 bitarna är fria för valfri anpassad fältlayout.

Fält Bitar Begränsning
Anpassat innehåll 48 Bitar 0-47 (grupper 1-2), fri form
Version 4 Fixerad till 1000
Anpassat innehåll 12 Bitar 52-63 (slut grupp 3), fri form
Variant 2 Fixerad till 10
Anpassat innehåll 62 Bitar 66-127 (grupper 4-5), fri form

Vanliga användningsområden för UUID v8 inkluderar att bädda in ett företagsspecifikt prefix, kombinera en trunkerad tidsstämpel med en sekvensräknare eller koda en legacy-identifierare i UUID-format samtidigt som standardformatets kompatibilitet bibehålls. Till exempel kan ett system allokera de första 32 bitarna som ett tenant-ID, de nästa 32 bitarna som en millisekund-tidsstämpel och de återstående 64 bitarna som ett slumpmässigt suffix — allt inom ett format som vilken standard UUID-parser som helst kan läsa utan modifiering.

v8-formatet är inte registrerat hos IANA och har inga interoperabilitetsgarantier mellan system. Det är ett privat utrymme för fall där standard UUID-versioner inte passar den önskade datalayouten.

UUID v3 vs v5

Både UUID v3 och v5 genererar deterministiska identifierare från en namnrymd-UUID och ett namn, men de skiljer sig åt i sin hash-algoritm:

Aspekt UUID v3 UUID v5
Hash-algoritm MD5 (128-bit) SHA-1 (160-bit, trunkerad till 128)
Kollisionsmotstånd Lägre — MD5 anses kryptografiskt brutet Högre — inga praktiska kollisionsattacker
Prestanda Något snabbare (MD5 vs SHA-1) Något långsammare
Standardrekommendation Endast för v3 bakåtkompatibilitet RFC 9562 rekommenderar v5 för nya system
Interoperabilitet Krävs om befintligt system använder v3 Krävs om befintligt system använder v5

Toollect UUID-generator innehåller fyra fördefinierade standardnamnrymder definierade av RFC 9562: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) och X.500 (6ba7b814-9dad-11d1-80b4-00c04fd430c8). Du kan också ange en anpassad namnrymd i standard UUID-format för användning med icke-standard namnrymder.

Användning

Att använda Toollect UUID-generator kräver ingen installation eller registrering. Gränssnittet är uppdelat i två paneler — en för UUID v1/v2/v4/v6/v7/v8 (direkt generering) och en för UUID v3/v5 (namnbaserad generering).

Block 1 — Standard UUID (v1, v2, v4, v6, v7, v8)

  1. Välj UUID-version från rullgardinsmenyn. Standard är v4.
  2. Klicka på Generera eller tryck på Enter. En ny UUID visas omedelbart i utmatningsfältet.
  3. Växla formateringsalternativ efter behov:
    • Versaler: Konverterar utmatningen till versaler hexadecimala siffror.
    • Inga bindestreck: Tar bort bindestrecken, vilket ger en kompakt 32-teckens sträng.
  4. Kopiera resultatet genom att klicka på Kopiera-knappen bredvid utmatningsfältet.

Ändring av versionsrullgardinen utlöser automatisk regenerering, så att växla från v4 till v7 omedelbart producerar en ny identifierare.

Block 2 — Namnbaserade UUID (v3, v5)

  1. Välj v3 eller v5 från versionsrullgardinen i den namnbaserade panelen.
  2. Välj en namnrymd genom att välja ett av de fördefinierade alternativen (DNS, URL, OID, X.500) eller Anpassad.
  3. Om du använder en anpassad namnrymd, ange en giltig UUID i textfältet. Verktyget validerar formatet och visar ett fel om UUID är felaktigt.
  4. Ange namnet i namninmatningsfältet. UUID återskapas automatiskt medan du skriver.
  5. Växla versaler och inga bindestreck och Kopiera resultatet som i Block 1.

Den namnbaserade panelen genererar UUID vid varje inmatningsändring — det finns ingen separat genereringsknapp för denna panel.

Handledning

Denna handledning går igenom tre vanliga scenarier från att öppna verktyget till att kopiera den slutliga UUID.

Scenario 1: Generera en UUID v4 för ett Webformulär

  1. Öppna verktyget i din webbläsare. UUID-generatorns gränssnitt visar två paneler.
  2. I Block 1, se till att versionsrullgardinen är inställd på v4 (standard).
  3. Klicka på Generera. En UUID v4 visas, till exempel 550e8400-e29b-41d4-a716-446655440000.
  4. Klicka på Kopiera för att kopiera UUID till ditt urklipp, klistra sedan in den i ditt webbformulär eller API-förfrågan.
  5. Växla till Versaler och klicka på Generera igen för att producera 550E8400-E29B-41D4-A716-446655440000.
  6. Växla till Inga bindestreck för att producera 550e8400e29b41d4a716446655440000 för kompakt lagring eller URL-parametrar.

Scenario 2: Generera en Tidsordnad UUID v7 för en Databasprimärnyckel

Anta att du designar en tabell i PostgreSQL som behöver globalt unika primärnycklar utan en central sekvens, men du vill också ha bra skrivprestanda.

  1. Välj v7 från versionsrullgardinen i Block 1. Utmatningsfältet visar omedelbart en ny v7-UUID, som 018f3a6e-1a2b-7bcd-8a1b-2c3d4e5f6789.
  2. Lägg märke till de första tecknen — UUID v7 börjar med en Unix-millisekund-tidsstämpel, så successiva generationer kommer att visa ökande värden i de första grupperna.
  3. Generera flera UUID i snabb följd och observera att värdena är monotona: varje ny UUID börjar med ett större eller lika prefix än den föregående.
  4. Kopiera identifieraren för användning i din INSERT-sats: INSERT INTO users (id, name) VALUES ('018f3a6e-1a2b-7bcd-8a1b-2c3d4e5f6789', 'Alice');

Scenario 3: Generera en Deterministisk UUID v5 från en Resurs-URL

Föreställ dig att du har ett innehållshanteringssystem där varje artikel identifieras av sin URL och du behöver en stabil UUID som inte ändras mellan distributioner.

  1. I Block 2, ställ in versionen på v5.
  2. Välj URL-namnrymden från namnrymdsradioknapparna. Detta använder 6ba7b811-9dad-11d1-80b4-00c04fd430c8, standardnamnrymden för URL-baserade UUID.
  3. Ange artikel-URL i Namn-fältet, till exempel https://example.com/articles/uuid-guide.
  4. UUID visas automatiskt — varje gång du anger samma URL med URL-namnrymden får du samma UUID.
  5. Testa determinism: Välj DNS-namnrymden istället och observera att UUID ändras. Växla tillbaka till URL — den ursprungliga UUID visas igen.

Proffstips

Bemästra dessa avancerade tekniker för att få ut det mesta av Toollect UUID-generator:

  • Använd v7 istället för v1 för databasprimärnycklar: UUID v7 sorterar efter millisekund-tidsstämpel från de mest signifikanta bitarna, vilket ger dig B-träd-vänlig monoton ordning utan komplexiteten med MAC-adresser eller klocksekvenshantering. För nya projekt som kräver tidsordnade UUID, börja med v7.

  • Föredra v5 framför v3 för namnbaserade UUID: Om du inte måste samverka med ett system som använder v3, använd alltid UUID v5. SHA-1 ger mer kollisionsmarginal än MD5 med försumbar prestandaskillnad. Verktyget använder v5 som standard i den namnbaserade panelen av denna anledning.

  • Ta bort bindestreck för URL-parametrar: Växla till Inga bindestreck när du använder UUID i URL-sökvägar eller frågeparametrar. Utan bindestreck blir en UUID en 32-teckens hexadecimal sträng som inte kräver URL-kodning och är visuellt renare i routesegment.

  • Använd fördefinierade namnrymder för konsekventa tvärsystem-identifierare: Namnrymderna DNS, URL, OID och X.500 är standardiserade i RFC 9562. Att använda dem säkerställer att alla RFC-kompatibla UUID-generatorer producerar samma v3- eller v5-UUID för samma namn. Detta är väsentligt för tvärsystem-identifieringsöverenskommelse.

  • Anpassad namnrymd med en fast v4-UUID: När du skapar din egen namnrymd för v3/v5-UUID, generera en UUID v4 en gång, spara den i din konfiguration och återanvänd den. Detta garanterar att alla identifierare inom din anpassade namnrymd är distinkta från alla andra namnrymder.

  • Generera i batch genom att klicka flera gånger: För små mängder producerar snabba klick på Generera distinkta UUID varje gång. För storskalig generering använd kommandorads- eller programmatisk metod som beskrivs nedan.

Vanliga Missuppfattningar om UUID

Flera allmänt upprepade föreställningar om UUID är felaktiga eller missvisande. Att förstå nyanserna hjälper dig att fatta bättre arkitekturbeslut.

"UUID är 100% garanterat unika." Inget identifieringssystem ger absoluta garantier, men UUID erbjuder astronomiskt hög kollisionsresistens vid korrekt användning. För UUID v4 är sannolikheten för minst en kollision över en miljard genererade ID ungefär 1 på 10¹⁴. För tidsbaserade versioner (v1, v6, v7) kräver kollisioner över olika noder samtidig klockåterställning på flera maskiner. Den praktiska kollisionsfrekvensen över alla korrekt implementerade UUID är i praktiken noll.

"UUID v4 är alltid det bästa valet." UUID v4 är det mest allmänna och fungerar för de flesta applikationer, men det är inte optimalt för alla scenarier. För databasprimärnycklar orsakar v4:s slumpmässiga fördelning indexsiddelning och skrivförstärkning i B-träd-index. UUID v7 erbjuder tidsbaserad sortering som underhåller index mer effektivt. För deterministiska identifierare som måste vara reproducerbara från ett namn är v3 eller v5 det enda korrekta valet.

"UUID är helt slumpmässiga." Endast UUID v4 är helt slumpmässig (122 bitar entropi). UUID v1, v2, v6 och v7 innehåller tidsstämplar, vilket gör dem delvis förutsägbara — information som kan läcka genom identifieraren. UUID v3 och v5 är deterministiska för en given indata. Om oförutsägbarhet är ett krav (säkerhetstokens, sessionsidentifierare), använd v4 med Web Crypto API.

"Alla UUID har samma format." Alla RFC 9562 UUID delar 36-teckens 8-4-4-4-12 hex-format, men den interna strukturen skiljer sig radikalt mellan versioner. En UUID v1 innehåller MAC-adress och tidsstämpelbitar; UUID v4 är ren slumpmässighet; UUID v7 kombinerar en tidsstämpel med slumpmässiga bitar. Du kan identifiera versionen från det 13:e tecknet (4 = v4, 7 = v7, etc.) och varianten från det 17:e tecknet (8, 9, a eller b).

"UUID saktar ner databasprestanda." Detta var delvis sant med äldre databasversioner och UUID v4 lagrade som ASCII-strängar. Moderna databaser (PostgreSQL med uuid-typ, MySQL 8+ med UUID_TO_BIN, SQL Server) lagrar UUID som 16-byte binära värden med inbyggt indexstöd. UUID v7 minskar ytterligare indexfragmentering genom tidsordnad generering. Prestandaskillnaden jämfört med auto-inkrementerande heltal är försumbar för de flesta arbetsbelastningar.

Alternativ

Det finns flera alternativ till Toollect UUID-generator, var och en lämpad för olika arbetsflöden.

Verktyg / Metod Bäst För Begränsningar
Toollect UUID-generator Webbläsarbaserad generering, alla v1-v8-versioner, ingen installation, integritet först Kräver internet för första sidladdning, inte skriptbar
Unix uuidgen-kommando Terminalbaserad batchgenerering, skriptning, pipeline-integration Vanligtvis endast v1 och v4; varierar beroende på plattformsimplementering
ULID 26-tecken base32 sorterbara ID, URL-säkra, skiftlägesokänsliga Inga versions-/variantbitar; inte UUID-kompatibelt; begränsat till 80 bitars slumpmässighet
NanoID Korta URL-säkra ID (standard 21 tecken), konfigurerbart alfabet och längd Inte en UUID; ingen standardformatering eller versionering; längd varierar beroende på konfiguration
Snowflake (Twitter-stil) 64-bitars tidssorterade ID, mycket kompakta, hög genomströmning i distribuerade system Kräver worker-ID-samordning; inte UUID-format; plattformsspecifika implementeringar
Online UUID-generatorer (t.ex. uuidgenerator.net) Snabb enkel UUID-generering offline Begränsad till en eller två versioner; ofta ingen kryptografisk slumpmässighet; kan skicka data till server
PostgreSQL gen_random_uuid() Databassidegenerering vid INSERT-tid Endast PostgreSQL; vanligtvis endast v4; inga v7 eller namnbaserade versioner utan tillägg
Python uuid-modul Programmatisk generering i Python-applikationer Kräver Python-runtime; inte webbläsarbaserad
Node.js crypto.randomUUID() Server-side Node.js-generering Endast Node.js; saknar tidsbaserade och namnbaserade versioner
Web Crypto API (crypto.randomUUID) Webbläsarnativ v4-generering med noll beroenden Stöder endast v4; inga formateringsalternativ eller namnbaserade UUID

För de flesta användare som vill ha omedelbar, privat, multi-version UUID-generering utan att lämna webbläsaren, erbjuder Toollect UUID-generator den mest omfattande funktionsuppsättningen.

Dataintegritet

Toollect UUID-generator bearbetar varje byte av dina data helt i din webbläsare. Ingen data du anger — namn, namnrymder eller genererade identifierare — överförs till någon server, lagras i någon databas eller loggas i något system.

All generering använder JavaScripts inbyggda Web Crypto API (crypto.getRandomValues, crypto.randomUUID, crypto.subtle.digest). Verktygssidan innehåller inga analytikskript, inga spårningspixlar, inga cookies och inga tredjepartsinbäddningar. Inga localStorage- eller sessionStorage-poster skapas eller läses.

Efter den första sidladdningen fungerar UUID-generatorn helt offline — generera identifierare även i flygplansläge med noll nätverksaktivitet. Du kan verifiera detta genom att inspektera fliken Nätverk i din webbläsares utvecklarverktyg eller genom att koppla bort från internet helt.

Felsökning

Problem Trolig Orsak Lösning
UUID v4-utdata upprepas mellan generationer crypto.getRandomValues() kan vara förfalskad eller otillgänglig i testmiljöer I produktionswebbläsare returnerar crypto.getRandomValues() alltid färsk entropi. Testa genom att generera tio UUID i följd — de bör alla vara olika.
Namnbaserad UUID (v3/v5) visar ingen utdata Namnfältet är tomt eller anpassad namnrymd är ogiltig Se till att Namn-fältet innehåller text. Om du använder en anpassad namnrymd, kontrollera att det är en giltig UUID i standardformat (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
Validering av anpassad namnrymd misslyckas UUID-formatet är felaktigt — saknade bindestreck, fel längd eller ogiltiga hex-tecken Ange namnrymden som en full 36-teckens UUID inklusive bindestreck. Verktyget validerar formatet innan generering.
Kopiera-knappen fungerar inte Webbläsarens urklipps-API kräver säker kontext eller användargeste Se till att sidan serveras över HTTPS. Kopiera-knappen använder navigator.clipboard.writeText(), som fungerar i alla moderna webbläsare på HTTPS-sidor.
UUID v1 visar oväntade värden Tidsstämpel eller klocksekvens kan ha rullats över UUID v1 använder 100 ns tick sedan oktober 1582. Klockcykeln 2026 är väl inom 60-bitarsintervallet (~292 år). Klocksekvenser återställs naturligt om systemtiden går bakåt.
Webbläsaren stöder inte crypto.randomUUID Äldre webbläsarversion Verktyget faller tillbaka till crypto.getRandomValues() internt. Stöds i Chrome 80+, Firefox 75+, Safari 13+, Edge 80+.
UUID v7-värden är inte strikt ökande Två generationer inom samma millisekund producerar samma tidsstämpelprefix UUID v7 använder millisekundprecision. Inom samma millisekund delar flera generationer samma tidsstämpel; det slumpmässiga suffixet ändras varje gång. Detta är avsiktligt och påverkar inte databasindexordning.

Tekniska specifikationer

Toollect UUID-generator är konstruerad för korrekthet, prestanda och cross-browser-kompatibilitet.

Standardefterlevnad

Aspekt Specifikation
RFC RFC 9562 (ersätter RFC 4122)
UUID-format 128-bit, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Variant RFC 9562-variant (10xxxxxx)
Skiftläge Gemener som standard, versaler kan aktiveras
Bindestreck Inkluderade som standard, borttagbara med inga-bindestreck-växling

Algoritmdetaljer per Version

Version Källa till Entropi Genereringstid
v1 performance.now() för tidsstämpel, crypto.getRandomValues() för klocksekvens och nod < 1 ms
v2 Samma som v1 med POSIX UID/GID (lokal), nodfält anpassat < 1 ms
v3 MD5 via crypto.subtle.digest() ~2-5 ms (async)
v4 crypto.getRandomValues() < 1 ms
v5 SHA-1 via crypto.subtle.digest() ~2-5 ms (async)
v6 Samma tidsstämpel som v1 men omordnad (tid-hög först) < 1 ms
v7 Date.now() för tidsstämpel, crypto.getRandomValues() för slumpmässigt suffix < 1 ms
v8 crypto.getRandomValues() för slumpmässiga bitar < 1 ms

Webbläsarkompatibilitet

Webbläsare Minsta Version Status
Google Chrome 80+ Fullt stöd
Mozilla Firefox 75+ Fullt stöd
Apple Safari 13+ Fullt stöd
Microsoft Edge 80+ Fullt stöd
Samsung Internet 13+ Fullt stöd
Opera 67+ Fullt stöd

Integritet och Säkerhet

  • Noll dataöverföring: all generering sker i webbläsarens minne
  • Inga cookies, localStorage eller sessionStorage används
  • Inga analys- eller spårningsskript på verktygssidan
  • Fullt fungerande i offline-läge efter första sidladdningen
  • Ingen registrering, inloggning eller API-nycklar krävs
  • Kryptografiskt säker slumpmässighet via Web Crypto API

Funktioner

  • Generera alla UUID-versioner v1 till v8 inklusive tidsbaserade (v1, v6, v7), slumpmässiga (v4), namnbaserade (v3, v5), DCE-säkerhet (v2) och anpassade (v8)
  • Kryptografiskt säker slumpmässig generering med Web Crypto API utan nätverksöverföring
  • Växla mellan versaler och gemener samt ta bort bindestreck för kompakta eller presentationsklara UUID
  • Namnbaserad UUID-generering med inbyggda namnrymder (DNS, URL, OID, X.500) och stöd för anpassad namnrymd med validering
  • 100% klientbaserad bearbetning — ingen data skickas till någon server, ingen registrering eller installation krävs
  • Generering och kopiering med ett klick med omedelbara resultat på alla moderna webbläsare och enheter

Vanliga frågor

Vad är en UUID?
En UUID (Universally Unique Identifier) är en 128-bitars identifierare standardiserad av RFC 9562. Den ger ett sätt att generera unika identifierare utan central samordning i distribuerade system. UUID finns i flera versioner, var och en med en annan algoritm — tidsbaserade (v1, v6, v7), slumpmässiga (v4), namnbaserad hashning (v3, v5) och andra — med ungefär 5,3 × 10³⁶ möjliga värden för enbart den slumpmässiga versionen.
Vilken UUID-version ska jag använda?
UUID v4 är det vanligaste valet för allmänna identifierare på grund av sin enkelhet och slumpmässighet. UUID v7 rekommenderas för databasprimärnycklar där tidsbaserad sortering förbättrar B-träd-indexprestanda. UUID v5 är idealiskt när du behöver deterministiska identifierare härledda från ett namn och en namnrymd. UUID v1 passar för distribuerade system som kräver tidsordnade identifierare utan samordning, även om v6 och v7 är moderna ersättningar.
Är UUID garanterat unika?
Inget identifieringssystem kan garantera absolut unicitet, men UUID gör kollisioner astronomiskt osannolika vid korrekt generering. För UUID v4 skulle generering av en miljard UUID per sekund i 100 år fortfarande ge en kollisionssannolikhet på endast 50%. Tidsbaserade versioner (v1, v6, v7) innehåller unika nodidentifierare och klocksekvensvärden. I praktiken är UUID-kollisioner praktiskt taget obefintliga vid användning av korrekta slumpkällor och unika nodidentifierare.
Är denna UUID-generator säker för produktionsanvändning?
Ja. Verktyget använder Web Crypto API (crypto.getRandomValues och crypto.randomUUID), som är kryptografiskt säkert och backas upp av operativsystemets entropikällor. All generering sker helt i din webbläsare — ingen data skickas till någon server, lagras eller loggas. För namnbaserade UUID v3 och v5 använder hashning webbläsarens inbyggda SubtleCrypto-digestmetoder.
Vad är skillnaden mellan UUID v3 och v5?
Både v3 och v5 genererar deterministiska UUID från en namnrymd och ett namn med hashning. UUID v3 använder MD5 (128-bitars hash) och UUID v5 använder SHA-1 (160-bitars hash trunkerad till 128 bitar). RFC 9562 rekommenderar UUID v5 framför v3 eftersom SHA-1 är mer kollisionsresistent än MD5, som anses vara kryptografiskt brutet. För nya system, använd UUID v5 om inte interoperabilitet med ett befintligt v3-baserat system krävs.
Kan jag använda UUID som databasprimärnycklar?
Ja, men prestandan beror på vilken version du väljer. UUID v4-värden är slumpmässigt fördelade, vilket kan orsaka indexfragmentering i B-träd. UUID v6 och v7 är tidsordnade — nya värden sorteras sekventiellt, vilket minimerar siddelning och förbättrar skrivprestanda. Många moderna databaser (PostgreSQL, MySQL 8+, SQL Server) stöder inbyggda UUID-typer och index.
Är en GUID samma sak som en UUID?
Ja. GUID (Globally Unique Identifier) är Microsofts implementering av UUID-standarden. Även om GUID ursprungligen avsåg Microsofts specifika UUID-variant, används termerna omväxlande i praktiken. GUID som genereras av detta verktyg följer RFC 9562 UUID-standarden och är fullt kompatibla med alla system som accepterar standard-UUID.
ESC