Generatore UUID

Generi UUID standard online. Questa pagina utilizza UUID v4 casuali con 122 bit di entropia e la classica struttura a 36 caratteri.

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

Come viene generato questo ID

Struttura
UUID v4: gruppi esadecimali in formato 8-4-4-4-12 con bit di variante conformi a RFC.
Entropia
122 bit casuali; la versione e la variante occupano 6 bit del valore complessivo a 128 bit.
Data/Ora
Non viene codificata alcuna marcatura temporale né informazione sul dispositivo.
Rischio di collisione
Il limite del paradosso del compleanno per 122 bit casuali è del tutto trascurabile per i normali utilizzi in applicazioni, test e database.
Esempio
8143748c-74f8-4d12-abe7-134b706f2aa6

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

Domande frequenti

Che tipo di UUID genera questa pagina?

Genera valori UUID v4: identificativi casuali con la classica struttura separata da trattini. Utilizzi la pagina specifica per UUID v4 se desidera visualizzare dettagli incentrati su tale versione.

Gli UUID vengono inviati a un server?

No. La generazione avviene interamente nel Suo browser tramite l'API Web Crypto, pertanto i valori non lasciano mai il Suo dispositivo.

Cos'è UUID v4 e come funziona questo generatore

Il generatore di UUID v4 di questa pagina produce identificatori a 36 caratteri nel formato standard 8-4-4-4-12, basati su 122 bit di casualità pura, senza alcun timestamp incorporato. Al contrario di UUID v7 o ULID, questi valori non contengono informazioni temporali e vengono generati interamente nel browser utilizzando il generatore crittografico di numeri pseudocasuali (CSPRNG) del sistema. Quando premi il pulsante, il tuo dispositivo esegue l’intero calcolo: nessun dato viaggia verso un server, nessuna connessione di rete è necessaria, e la generazione avviene in millisecondi anche per lotti di 100 identificatori.

Ogni UUID v4 è composto da 16 ottetti (128 bit totali), ma 6 bit sono fissati dalla specifica RFC 4122 (4 bit per indicare la versione 4 e 2 bit per la variante), lasciando 122 bit realmente casuali. Quei 122 bit vengono poi rappresentati come 32 caratteri esadecimali, raggruppati in cinque blocchi separati da trattini – a meno che non si disabiliti l’opzione “Includi trattini”. La forma tipica è xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, dove 4 indica la versione e y è un valore compreso tra 8 e b (esadecimale) per segnalare la variante. Il generatore di questa pagina rispetta scrupolosamente questi vincoli, producendo identificatori validi secondo lo standard.

Il conteggio è regolabile da 1 a 100 inclusi; valori fuori da questo intervallo non vengono accettati. L’interfaccia mostra subito lo stato “Pronto.”, che diventa “Generati.” dopo l’operazione e “Copiati tutti!” quando si usa il pulsante per la copia in blocco. Un clic su un singolo UUID lo copia negli appunti del sistema.

Caratteristiche distintive rispetto ad altri formati

Ciò che rende questa pagina diversa non è solo la generazione di UUID casuali: è l’attenzione alle specifiche e la possibilità di regolare due parametri chiave – maiuscolo e trattini – che molti strumenti online non offrono. Il formato predefinito è minuscolo con trattini, ma attivando “Maiuscolo” ottieni stringhe come 550E8400-E29B-41D4-A716-446655440000, utili per ambienti dove si richiede omogeneità con altri identificatori in maiuscolo. Disabilitando i trattini generi stringhe continue di 32 caratteri esadecimali, adatte per sistemi che li accettano solo senza separatori.

A differenza di UUID v7 (che codifica un timestamp di 48 bit nei primi 6 ottetti) o ULID (che usa 48 bit temporali più 80 bit casuali), UUID v4 non offre alcuna ordinabilità cronologica. Questo è un vantaggio quando la sicurezza richiede che l’identificatore non riveli il momento della creazione, ma è uno svantaggio negli indici di database, come approfondiremo in seguito.

Un’altra differenza rispetto a NanoID è la dimensione fissa: UUID v4 produce sempre 36 caratteri (o 32 senza trattini), mentre NanoID può essere configurata con lunghezze variabili e alfabeti personalizzati. Questa pagina mantiene il formato UUID v4 stabile, cambiando automaticamente le opzioni disponibili se si seleziona un formato diverso (non coperto da questa scheda).

Opzioni di personalizzazione: conteggio, maiuscolo, trattini

Le tre variabili di input sono accessibili in tempo reale. Modificare Conteggio (da 1 a 100) rigenera l’intero set di UUID. Modificare l’interruttore Maiuscolo o Includi trattini fa altrettanto: ogni cambiamento produce istantaneamente nuovi identificatori, perché la libreria interna usa la casualità del browser per ogni generazione.

L’opzione Maiuscolo converte solo la rappresentazione esadecimale; i bit interni rimangono identici. Se generate un UUID in minuscolo e poi attivate il maiuscolo, otterrete una stringa diversa perché la generazione è forzata di nuovo. Lo stesso vale per Includi trattini: passare da con a senza trattini genera un nuovo lotto, anche se il numero di UUID e la loro casualità sono indipendenti.

La copia di un singolo UUID avviene cliccando direttamente sul testo. La copia di tutti gli UUID si attiva con il pulsante “Copia tutti”. Il messaggio di stato cambia per confermare l’operazione. Per chi lavora con script o importazioni batch, la copia in blocco è particolarmente utile.

Impatto sulle prestazioni del database e confronto con identificatori temporali

Quando si utilizza UUID v4 come chiave primaria in un database relazionale (ad esempio PostgreSQL o MySQL con indice B‑tree), l’ordinamento arbitrario genera un fenomeno noto come frammentazione dell’indice (page splits). I nuovi UUID non vengono inseriti in sequenza, ma sparsi in tutto l’indice, costringendo il database a riorganizzare frequentemente le pagine. Questo impatta negativamente sulle prestazioni di scrittura e sull’occupazione dello spazio su disco.

Al contrario, UUID v7 e ULID incorporano un timestamp a 48 bit che li rende monotonici se generati con la stessa sorgente e nello stesso secondo. Quando usati come chiave primaria, vengono inseriti in ordine crescente, riducendo la frammentazione e migliorando il throughput di scrittura. Tuttavia, questi formati perdono la proprietà di imprevedibilità: un attaccante in grado di osservare una serie di UUID v7 può stimare l’intervallo di tempo in cui sono stati generati e, in alcuni casi, prevedere valori futuri se la casualità residua è insufficiente.

La scelta tra UUID v4 e formati temporali dipende dal caso d’uso. Se hai bisogno di identificatori anonimi, non sequenziali, per token di sicurezza o chiavi esterne senza requisiti di ordinamento, UUID v4 è la soluzione più sicura. Se invece stai progettando una tabella con milioni di righe e l’indice deve supportare scritture in alta concorrenza, considera UUID v7 o ULID. Questo generatore ti permette di cambiare formato nella stessa interfaccia, ma la scheda attuale si concentra solo su UUID v4.

Qualità della casualità e sicurezza lato client

La generazione avviene tramite crypto.getRandomValues nei browser moderni o equivalenti CSPRNG in ambienti come Node.js (se usato offline). Questi generatori sono certificati per usi crittografici e producono sequenze imprevedibili con elevata entropia. Nessun dato trasmesso a un server: la privacy è totale e la pagina funziona anche offline dopo il primo caricamento. Per utenti con restrizioni di rete o policy di sicurezza stringenti, questo è un vantaggio determinante rispetto a servizi web che generano UUID lato server.

La qualità della casualità è direttamente legata ai 122 bit effettivi. Non esiste alcuna debolezza intrinseca nello standard UUID v4, a patto che la sorgente di entropia sia affidabile. I browser moderni utilizzano generatori basati su hardware (ad esempio, RDRAND su CPU Intel) o pool di entropia del sistema operativo, garantendo una qualità adeguata anche per applicazioni sensibili. La pagina non conserva mai uno storico degli UUID generati: ogni sessione è indipendente.

Probabilità di collisione e casi d'uso pratici

Con 122 bit di spazio di indirizzamento, la probabilità di collisione tra due UUID v4 generati indipendentemente è trascurabile. Per dare un ordine di grandezza: se generassi 1 miliardo di UUID al secondo per 100 anni, la probabilità di una collisione sarebbe ancora inferiore a 10⁻¹². Questa caratteristica rende UUID v4 ideale per identificatori di sessione, token di ripristino password, chiavi univoche in database distribuiti e sistemi che non possono tollerare duplicati.

Tuttavia, c’è un’insidia comune: alcuni sviluppatori assumono che l’unicità globale sia garantita matematicamente. In pratica, se due sistemi indipendenti generano UUID con gli stessi 122 bit (evento estremamente raro ma non impossibile), la collisione può verificarsi. È buona norma avere un vincolo di unicità a livello database e gestire eventuali eccezioni.

Casi d’uso tipici: generazione di UUID per entità in microservizi senza coordinamento centrale, creazione di ID anonimi per tracciamento eventi (dove l’ordine non conta), sostituzione di chiavi auto‑incrementali quando si espone un’API pubblica (per evitare enumerazione). Il generatore di questa pagina facilita la creazione di lotti fino a 100 ID, adatti per test, popolamento iniziale di database o assegnazione in batch di token.

Domande frequenti

1. Perché i UUID generati cambiano ogni volta che modifico un’opzione?
Perché ogni modifica (conteggio, maiuscolo, trattini) forza una rigenerazione completa basata su nuova casualità. Le opzioni non si applicano retroattivamente a UUID già generati; il sistema produce sempre un set fresco.

2. Posso usare questi UUID per produzione in un ambiente con requisiti di sicurezza elevati?
Sì, la generazione lato client con crypto.getRandomValues è considerata sicura per la maggior parte degli usi. Tuttavia, per applicazioni che richiedono entropia aggiuntiva o conformità a standard specifici (FIPS 140-2), verifica che il browser utilizzato sia certificato.

3. Perché l’ottavo carattere è sempre “4”?
Il nibble (4 bit) che indica la versione del UUID è fisso a 4 nello standard UUID v4 (RFC 4122). I generatori conformi mantengono quel valore; cambiarlo produrrebbe un UUID malformato.

4. Qual è la differenza tra minuscolo e maiuscolo oltre all’aspetto?
Nessuna differenza semantica o algoritmica. La scelta influenza solo la leggibilità e la compatibilità con sistemi che richiedono un case specifico. La casualità sottostante è identica.

5. Perché non posso generare più di 100 UUID in una volta?
Il limite è arbitrario ma pratico: lotti superiori possono rallentare l’interfaccia o causare problemi di copia negli appunti. Se hai bisogno di più UUID, esegui più generazioni consecutive.

6. Cosa succede se genero UUID v4 con trattini disabilitati?
Ottieni una stringa continua di 32 caratteri esadecimali, senza separatori. È ancora un UUID v4 valido? No: lo standard RFC 4122 richiede i trattini per la rappresentazione canonica. Tuttavia, molte implementazioni accettano anche la forma senza trattini; il valore esadecimale sottostante è identico. La pagina ti avverte visivamente che stai producendo un formato non standard.