Generatore UUID v4

Generi valori UUID v4 online: 122 bit casuali, struttura UUID standard e risultati pronti da copiare direttamente nel Suo browser.

Formato
ID generati
Pronto. Generi valori UUID v4 direttamente nel Suo browser.

Come viene generato questo ID

Struttura
UUID a 128 bit con versione 4 e bit di variante RFC, mostrato in gruppi esadecimali 8-4-4-4-12.
Entropia
122 bit casuali forniti dalla funzione crypto.randomUUID().
Data/Ora
Nessuna; gli ID v4 non rivelano in alcun modo il momento in cui sono stati creati.
Rischio di collisione
Le collisioni sono regolate da 122 bit casuali, una sicurezza che supera di gran lunga i volumi di dati dei sistemi convenzionali.
Esempio
27fc6fa6-0ae6-4f35-90ba-5bef3de459bd

I Suoi ID vengono generati localmente tramite funzioni di generazione casuale sicure del browser. Nessun dato viene inviato a BroBroGo.

Domande frequenti

Quando dovrei utilizzare l'UUID v4?

Utilizzi l'UUID v4 quando necessita di identificativi casuali opachi che non devono essere ordinati in base alla data di creazione e che non devono esporre informazioni temporali.

Posso rimuovere i trattini o convertire l'output in maiuscolo?

Sì. Lo strumento dedicato per UUID v4 include un pannello delle opzioni che consente di rimuovere i trattini o di impostare l'output in lettere maiuscole.

Generatore di UUID v4: identificatori casuali con 122 bit di entropia

Questo strumento genera identificatori UUID versione 4, stringhe casuali di 36 caratteri nel formato esadecimale standard 8‑4‑4‑4‑12. Ogni UUID è costruito con 122 bit di pura casualità: i restanti 6 bit sono fissi per indicare la versione (4) e la variante (RFC 4122). Contrariamente a identificatori ordinati nel tempo come UUID v7 o ULID, i valori UUID v4 non hanno alcuna relazione temporale – se usati come chiavi primarie in un database, frammentano gli indici B‑tree. La probabilità di collisione è trascurabile per qualunque applicazione pratica: con 100 miliardi di UUID generati, la probabilità di una collisione è circa 1 su 5,3 miliardi.

Il generatore permette di controllare il numero di UUID (da 1 a 100), l'uso di lettere maiuscole e la presenza dei trattini. Le modifiche a queste opzioni rigenerano immediatamente tutti gli identificatori. La generazione avviene interamente nel browser tramite API crittografiche (crypto.randomUUID o equivalenti), senza inviare dati a server.


Struttura tecnica di UUID v4

Un UUID versione 4 è una stringa di 128 bit, di cui 122 derivano da un generatore di numeri casuali. I 6 bit rimanenti sono fissi:

  • 4 bit per la versione (posizione 13, valore 0100 binario → cifra esadecimale 4)
  • 2 bit per la variante (posizione 17, valori 10 binario → cifra esadecimale 8, 9, a o b)

Nel formato canonico con trattini, la stringa è composta da:

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

dove x rappresenta un nibble (4 bit) casuale e y rappresenta un nibble che nei primi due bit vale 10 e nei restanti due è casuale (valori possibili: 8, 9, a, b).

Se i trattini sono rimossi, si ottiene una stringa di 32 caratteri esadecimali. Lo strumento permette di attivare o disattivare questa opzione. L'uso delle lettere maiuscole (A–F) è una scelta puramente estetica: sia a che A rappresentano lo stesso valore esadecimale e vengono gestiti correttamente da qualsiasi parser conforme allo standard.

La quantità di entropia di 122 bit significa che ogni UUID generato è, in pratica, indipendente da ogni altro: non esiste alcuna correlazione sequenziale.


Probabilità di collisione

Con 122 bit di casualità, lo spazio totale degli UUID v4 possibili è 2^122, circa 5,3 × 10^36. La probabilità di collisione è modellata dal problema del compleanno. Per n UUID generati, la probabilità approssimata di almeno una collisione è:

P ≈ 1 - e^(-n² / (2 × 2¹²²))

Alcuni esempi concreti:

Numero di UUID generati Probabilità di collisione
1 milione ~ 9,4 × 10^‹-20›
1 miliardo ~ 9,4 × 10^‹-14›
1 trilione ~ 9,4 × 10^‹-8›
100 miliardi ~ 1,9 × 10^‹-13›

Per metterlo in prospettiva: se generassi un miliardo di UUID al secondo per 100 milioni di anni, la probabilità di trovare una collisione sarebbe ancora inferiore a quella di vincere due volte consecutive alla lotteria nazionale. Per applicazioni pratiche – anche con database distribuiti su milioni di nodi – la collisione è un evento da considerare solo a livello teorico.

Lo strumento genera UUID esclusivamente nel browser, utilizzando funzioni crittografiche sicure (CSPRNG). Non esiste alcuna condivisione di dati con il server, quindi l'entropia utilizzata è quella del sistema client.


Impatto sulle prestazioni dei database

Gli UUID v4 sono completamente casuali. Se utilizzati come chiave primaria clusterizzata in un database relazionale (ad esempio, PostgreSQL o MySQL con indice primario B-tree), ogni nuova riga viene inserita in una posizione arbitraria dell'albero. Questo causa:

  • Frammentazione dell'indice: l'albero si riorganizza continuamente, aumentando il numero di split di pagina.
  • Cache miss: le pagine calde diventano imprevedibili, riducendo l'efficienza del buffer pool.
  • Degrado delle prestazioni in scrittura: per carichi elevati di inserimento, la velocità può calare del 50–80% rispetto a chiavi sequenziali.

Al contrario, identificatori temporali come UUID v7 (incluso nel menù a tendina di questo strumento) incorporano un timestamp nei primi 48 bit, garantendo una sequenzialità approssimata. Anche ULID e NanoID, presenti nello stesso menù, offrono diverse proprietà di ordinamento. La scelta tra questi formati dipende dal contesto:

  • UUID v4: quando serve massima indipendenza distribuita e non è importante l'ordine.
  • UUID v7: quando si vuole compatibilità con UUID e ordinamento temporale.
  • ULID: quando si vuole compattezza (26 caratteri base32) e ordinamento.
  • NanoID: quando la lunghezza variabile è accettabile e si richiede massima flessibilità.

Il generatore offre tutti e quattro i formati, ma la pagina specifica per UUID v4 permette di regolare solo le opzioni rilevanti per questo formato: maiuscole e trattini.


Personalizzazione del formato: maiuscole e trattini

Due opzioni specifiche per UUID v4 (e v7) sono l'attivazione delle lettere maiuscole e la rimozione dei trattini. Ecco quando ha senso usarle.

Maiuscole (A–F): Lo standard RFC 4122 non impone una capitalizzazione specifica. Alcuni sistemi legacy o regole aziendali richiedono maiuscolo per coerenza visiva. Altri usano minuscolo per compatibilità con URL case-sensitive. L'impostazione è puramente cosmetica: il valore numerico non cambia.

Rimozione dei trattini: I trattini nel formato canonico (8-4-4-4-12) servono solo a migliorare la leggibilità umana. Rimuoverli produce una stringa di 32 caratteri esadecimali. Questo è utile quando l'UUID deve essere utilizzato in contesti dove i trattini sono vietati o ineleganti:

  • Nomi di file
  • Parametri URL (più compatti, meno caratteri da percent-encode)
  • Token di autenticazione in header HTTP
  • Chiavi in sistemi di storage key-value
  • Campi di database che richiedono lunghezza fissa senza caratteri speciali

Lo strumento rigenera immediatamente tutti gli UUID quando una qualsiasi opzione viene modificata. Non esiste uno stato "non aggiornato": il risultato è sempre sincrono con le impostazioni correnti.


Chi ha bisogno di UUID v4

Questi identificatori sono adatti a scenari dove la casualità non sequenziale è un vantaggio.

Sviluppatori di applicazioni distribuite: In un sistema senza un coordinatore centrale (ad esempio, microservizi, database offline-first), ogni nodo deve poter generare identificatori univoci senza consultare gli altri. UUID v4 elimina ogni necessità di sincronizzazione.

Ingegneri della sicurezza: Gli UUID v4 non rivelano alcuna informazione sul momento di creazione o sulla sorgente. Sono adatti per token di sessione, ID di richiesta, e identificatori di risorse che non devono essere enumerabili. Un attaccante non può prevedere il prossimo UUID e non può dedurre il numero di risorse esistenti da un campione.

Progettisti di database con partizionamento geografico: La casualità di UUID v4 distribuisce uniformemente le scritture tra i diversi nodi di un cluster, evitando colli di bottiglia su un singolo server caldo (fenomeno comune con chiavi sequenziali).

Tester e generatori di dati di esempio: Popolare un database di test con UUID realistici è semplice: basta cliccare "Genera" e copiare tutti gli identificatori in blocco. Il conteggio massimo di 100 per generazione è sufficiente per la maggior parte degli scenari di test.


FAQ

1. Quanti UUID v4 posso generare contemporaneamente?

È possibile generare da 1 a 100 UUID per volta. Il conteggio è un numero intero: non sono accettati valori esterni a questo intervallo. Modificando il conteggio, gli UUID vengono rigenerati automaticamente.

2. Come copio un singolo UUID?

Fai clic su uno qualsiasi degli UUID generati. Viene copiato immediatamente negli appunti. Lo strumento mostra anche un pulsante "Copia tutti" che copia l'intero elenco come testo separato da ritorni a capo.

3. Qual è la differenza tra maiuscole e minuscole?

Nessuna differenza funzionale. L'opzione "Uppercase" trasforma i caratteri esadecimali a-f in A-F. Il valore esadecimale rimane identico. Scegli in base alle convenzioni del tuo progetto.

4. È sicuro generare UUID sensibili con questo strumento?

La generazione avviene interamente nel browser utilizzando l'API crypto.getRandomValues() – un generatore di numeri pseudo-casuali crittograficamente sicuro. Nessun dato viene inviato al server. Per usi che richiedono massima sicurezza, è consigliabile eseguire lo strumento in una finestra di navigazione privata o in un ambiente isolato.

5. Perché rimuovere i trattini?

I trattini non fanno parte del valore numerico dell'UUID, sono solo una comodità visiva. Rimuoverli rende la stringa più compatta (32 caratteri invece di 36) e priva di caratteri speciali, utile per URL, nomi di file e campi di database che non accettano trattini.

6. Quali formati sono disponibili oltre a UUID v4?

Il menù a tendina include anche UUID v7, ULID e NanoID. Ognuno ha caratteristiche di ordinamento, lunghezza e casualità differenti. UUID v4 è l'unico con 122 bit di pura casualità e senza componente temporale.