UUID-generator
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)
- Välj UUID-version från rullgardinsmenyn. Standard är v4.
- Klicka på Generera eller tryck på Enter. En ny UUID visas omedelbart i utmatningsfältet.
- 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.
- 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)
- Välj v3 eller v5 från versionsrullgardinen i den namnbaserade panelen.
- Välj en namnrymd genom att välja ett av de fördefinierade alternativen (DNS, URL, OID, X.500) eller Anpassad.
- 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.
- Ange namnet i namninmatningsfältet. UUID återskapas automatiskt medan du skriver.
- 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
- Öppna verktyget i din webbläsare. UUID-generatorns gränssnitt visar två paneler.
- I Block 1, se till att versionsrullgardinen är inställd på v4 (standard).
- Klicka på Generera. En UUID v4 visas, till exempel
550e8400-e29b-41d4-a716-446655440000. - Klicka på Kopiera för att kopiera UUID till ditt urklipp, klistra sedan in den i ditt webbformulär eller API-förfrågan.
- Växla till Versaler och klicka på Generera igen för att producera
550E8400-E29B-41D4-A716-446655440000. - Växla till Inga bindestreck för att producera
550e8400e29b41d4a716446655440000fö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.
- Välj v7 från versionsrullgardinen i Block 1. Utmatningsfältet visar omedelbart en ny v7-UUID, som
018f3a6e-1a2b-7bcd-8a1b-2c3d4e5f6789. - 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.
- 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.
- 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.
- I Block 2, ställ in versionen på v5.
- Välj URL-namnrymden från namnrymdsradioknapparna. Detta använder
6ba7b811-9dad-11d1-80b4-00c04fd430c8, standardnamnrymden för URL-baserade UUID. - Ange artikel-URL i Namn-fältet, till exempel
https://example.com/articles/uuid-guide. - UUID visas automatiskt — varje gång du anger samma URL med URL-namnrymden får du samma UUID.
- 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