Gli strumenti UUID di ToolDeck coprono tutti i principali formati di identificatore univoco in un unico posto. La raccolta include: Generatore UUID v4 per ID casuali crittograficamente sicuri; Generatore UUID v7 per chiavi primarie ordinabili per timestamp; Generatore UUID v1 per identificatori basati su tempo e indirizzo MAC; Generatore UUID v2 per sistemi DCE legacy; Generatore UUID v3 per ID deterministici basati su MD5; Generatore ULID per stringhe compatte e ordinabili; Generatore NanoID per token corti e sicuri per URL; Generatore CUID per il formato originale resistente alle collisioni; Generatore CUID2 per il suo successore moderno; e Decodificatore UUID per ispezionare identificatori esistenti. Tutti gli strumenti funzionano interamente nel tuo browser tramite la Web Crypto API — nessun dato viene trasmesso ad alcun server, nessun account richiesto.
Cosa sono gli strumenti UUID e di ID univoco?
Un UUID (Identificatore Universalmente Univoco) è un identificatore a 128 bit standardizzato nella RFC 9562 (precedentemente RFC 4122). Scritto come 32 caratteri esadecimali nel formato 8-4-4-4-12, un UUID ha questo aspetto: 550e8400-e29b-41d4-a716-446655440000. Lo standard definisce più versioni, ognuna con una strategia diversa per garantire l'unicità: numeri casuali, timestamp o hashing deterministico.
Gli UUID sono stati progettati per consentire ai sistemi distribuiti di generare identificatori senza un coordinatore centrale. Che tu stia assegnando una chiave primaria in PostgreSQL, generando un token di sessione in un'applicazione web, o nominando un file nell'archiviazione oggetti, gli UUID permettono a ogni nodo del tuo sistema di creare un ID globalmente univoco in modo indipendente — con una probabilità di collisione così bassa da essere trascurabile in pratica.
Al di là dello standard UUID, sono emersi diversi formati alternativi di ID univoco per affrontare limitazioni specifiche: ULID e UUID v7 aggiungono ordinabilità lessicografica per l'efficienza degli indici del database; NanoID riduce la dimensione per URL e cookie; CUID2 prioritizza la resistenza alle collisioni basata su fingerprint per la generazione ad alto volume lato client.
Perché usare gli strumenti UUID su ToolDeck?
Gli strumenti UUID di ToolDeck funzionano interamente nel tuo browser. Nessuna chiamata API, nessuna elaborazione lato server, nessun dato registrato. Ogni generatore usa la Web Crypto API (crypto.getRandomValues) per un'entropia crittograficamente forte — la stessa fonte che i browser usano per il materiale di chiave TLS.
🔐Entropia crittograficamente forte
Tutti i generatori basati sulla casualità (UUID v4, NanoID, CUID2) usano crypto.getRandomValues, non Math.random. Il risultato è adatto per casi d'uso sensibili alla sicurezza come token di sessione e chiavi API.
📦Tutti i principali formati di ID in un unico posto
UUID v1 fino a v7, ULID, NanoID, CUID e CUID2 — tutti i formati di cui uno sviluppatore ha bisogno, con opzioni per generare in blocco e copiare con un clic.
🔍Decodifica e ispeziona ID esistenti
Il Decodificatore UUID estrae la versione, la variante, il timestamp e i campi nodo da qualsiasi UUID. Utile per il debug, l'auditing e la comprensione degli ID legacy nel tuo codice.
⚡Nessuna configurazione, funziona offline
Nessuna installazione, nessuna registrazione, nessuna dipendenza runtime. Apri la pagina e genera. Tutti gli strumenti funzionano offline una volta caricata la pagina — utile in ambienti isolati o reti con restrizioni.
Casi d'uso degli strumenti UUID
Gli identificatori univoci compaiono a ogni livello dello stack. Ecco come diversi ruoli usano gli strumenti di generazione UUID:
Chiavi primarie del database
Gli ingegneri backend assegnano UUID v4 o UUID v7 come chiavi primarie in PostgreSQL, MySQL e MongoDB. Il prefisso timestamp di UUID v7 mantiene le righe fisicamente ordinate su disco, evitando le divisioni di pagina nei workload con molti inserimenti.
Stato frontend e ID componenti
Gli sviluppatori frontend usano NanoID o UUID v4 per generare chiavi React stabili per elementi di lista creati dinamicamente, ID di dialogo per gli attributi di accessibilità ARIA e token di idempotenza per l'invio di moduli.
Stream di eventi distribuiti
Nei sistemi event-driven, ogni evento ha bisogno di un ID globalmente univoco e ordinabile. Gli ingegneri DevOps e di piattaforma usano ULID o UUID v7 in modo che i consumer Kafka, gli aggregatori di log e le audit trail possano essere ordinati per ora di creazione senza un campo timestamp secondario.
Generazione di dati di test
Gli ingegneri QA generano batch di UUID in blocco per popolare i database di test con ID realistici e non sequenziali. UUID v3 o v5 deterministici permettono loro di rigenerare lo stesso ID da un input noto — utile per fixture di test riproducibili.
ID di correlazione nei microservizi
Allegare un UUID a ogni richiesta HTTP in entrata e propagarlo tra le chiamate di servizio (header X-Request-ID) consente ai sistemi di tracing distribuito di correlare i log tra i servizi. UUID v4 è lo standard di fatto per la correlazione delle richieste.
Denominazione di asset e risorse
Le chiavi dell'archiviazione oggetti (S3, GCS, Cloudflare R2) e i nomi di file degli asset CDN spesso incorporano un UUID per evitare le collisioni di cache e il guessing degli URL. Il formato compatto a 21 caratteri di NanoID riduce la lunghezza dell'URL rispetto agli UUID completi a 36 caratteri.
Riferimento versioni e formati UUID
La tabella sottostante confronta tutte le versioni UUID con le alternative più utilizzate. Usala per identificare rapidamente quale formato soddisfa i tuoi requisiti.
| Identificatore | Algoritmo | Ordinabile | Deterministico | Ideale per |
|---|
| UUID v4 | Casuale (CSPRNG) | — | — | ID generici, token di sessione, chiavi primarie |
| UUID v7 | Timestamp Unix ms + casuale | ✓ | — | Chiavi primarie ordinabili, ID eventi distribuiti (RFC 9562) |
| UUID v1 | Timestamp + indirizzo MAC | ✓ | — | ID ordinati per tempo, sistemi a nodo singolo, compatibilità legacy |
| UUID v3 | Namespace + nome + MD5 | — | ✓ | ID riproducibili da input noti (DNS, URL) |
| UUID v5 | Namespace + nome + SHA-1 | — | ✓ | Come v3 con hash più forte; preferire v5 a v3 |
| UUID v2 | Timestamp + UID/GID DCE | ✓ | — | Ambienti POSIX/DCE legacy; evitare per nuovi progetti |
| ULID | Prefisso timestamp + casuale | ✓ | — | ID ordinabili, sicuri per URL, senza trattini (26 caratteri) |
| NanoID | Casuale (CSPRNG), alfabeto sicuro per URL | — | — | ID corti per URL, cookie, attributi HTML (21 caratteri) |
| CUID2 | Fingerprint + timestamp + casuale | — | — | Generazione ad alto volume lato client, resistente alle collisioni |
UUID v3 e v5 sono deterministici: lo stesso namespace + nome produce sempre lo stesso UUID. Tutti gli altri formati generano un nuovo valore a ogni chiamata.
Come scegliere lo strumento UUID giusto
L'identificatore giusto dipende dalle tue esigenze di ordinabilità, dimensione e determinismo. Usa questa guida decisionale:
- 1
Se hai bisogno di un ID univoco generico senza requisiti speciali → Generatore UUID v4 - 2
Se hai bisogno di ID che si ordinino cronologicamente e siano compatibili con lo standard UUID → Generatore UUID v7 - 3
Se hai bisogno di ID ordinati per tempo con timestamp incorporato per sistemi a nodo singolo o bassa concorrenza → Generatore UUID v1 - 4
Se hai bisogno di ID ordinabili, sicuri per URL e senza trattini → Generatore ULID - 5
Se hai bisogno di ID compatti e sicuri per URL più corti di un UUID completo → Generatore NanoID - 6
Se stai generando molti ID lato client e hai bisogno di forte resistenza alle collisioni → Generatore CUID2 - 7
Se hai bisogno del formato CUID v1 per compatibilità con sistemi esistenti basati sulla specifica originale → Generatore CUID - 8
Se devi riprodurre lo stesso ID in modo deterministico da un namespace e un nome → Generatore UUID v3 - 9
Se stai lavorando con sistemi DCE o POSIX legacy che richiedono identificatori v2 → Generatore UUID v2 - 10
Se hai un UUID esistente e vuoi ispezionarne la versione, la variante o il timestamp → Decodificatore UUID
Sia UUID v7 che ULID forniscono prefissi timestamp con precisione al millisecondo e ordinabilità lessicografica. La differenza chiave: UUID v7 usa il formato UUID standard (8-4-4-4-12, 36 caratteri) per la massima compatibilità con l'ecosistema, mentre ULID usa una codifica Base32 personalizzata (26 caratteri, sicuro per URL, senza trattini). Se il tuo database, ORM o framework supporta nativamente le colonne UUID, preferisci UUID v7. Se hai bisogno di ID più corti senza vincoli di framework, ULID è più compatto.
Domande frequenti
Cos'è un UUID?
Un UUID (Identificatore Universalmente Univoco) è un valore a 128 bit standardizzato nella RFC 9562. È scritto come 32 cifre esadecimali in cinque gruppi separati da trattini: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Lo standard definisce più versioni con diverse strategie di unicità — casuale (v4), basato su timestamp (v1, v7), o deterministico basato su nome (v3, v5).
Qual è la differenza tra UUID v4 e UUID v7?
UUID v4 riempie tutti i 122 bit non fissi con dati casuali provenienti da una fonte crittograficamente sicura. UUID v7 codifica un timestamp Unix di 48 bit in millisecondi nei primi 48 bit, seguito da bit casuali. Il risultato: gli UUID v7 si ordinano cronologicamente come semplici stringhe, il che mantiene gli indici B-tree del database ordinati durante l'inserimento. UUID v7 è stato aggiunto nella RFC 9562 (aprile 2024) ed è la scelta preferita per le nuove chiavi primarie del database.
I valori UUID v4 sono crittograficamente sicuri?
I valori UUID v4 sono generati usando un generatore di numeri pseudo-casuali crittograficamente sicuro (CSPRNG). Sono adatti come token non indovinabili — ID di sessione, link per il reset della password e simili. Tuttavia, un UUID non è un segreto di per sé: non ha HMAC, nessuna scadenza e nessun legame a un utente specifico. Tratta gli UUID come identificatori opachi, non come credenziali di autenticazione.
Due sistemi diversi possono generare lo stesso UUID?
La probabilità di collisione per UUID v4 è approssimativamente 1 su 2^122 per coppia. Per avere il 50% di probabilità di qualsiasi collisione sarebbe necessario generare circa 2,7 × 10^18 UUID — ben oltre ciò che qualsiasi sistema reale produce. UUID v1 e v7 incorporano inoltre un timestamp e/o bit casuali, rendendo la collisione accidentale ancora meno probabile. Per tutti gli scopi pratici, gli UUID di sistemi separati non collidono.
Perché gli UUID hanno 36 caratteri?
Un UUID è a 128 bit = 16 byte. Codificato in esadecimale, sono 32 caratteri. Il formato UUID aggiunge 4 trattini in posizioni fisse (dopo gruppi di 8, 4, 4 e 4 cifre esadecimali) per migliorare la leggibilità e rendere i bit di versione e variante facilmente identificabili visivamente, producendo 36 caratteri in totale. I trattini non portano dati.
Cos'è un ULID e in che cosa differisce da un UUID?
ULID (Identificatore Ordinabile Lessicograficamente Universalmente Univoco) è un identificatore a 128 bit codificato in Crockford Base32 (26 caratteri, case-insensitive, senza trattini). I primi 48 bit codificano il tempo Unix in millisecondi; i restanti 80 bit sono casuali. Gli ULID si ordinano correttamente come semplici stringhe e sono più compatti degli UUID. Non fanno parte della RFC UUID — usano una codifica diversa e mancano dei campi versione/variante degli UUID.
Dovrei usare UUID o interi auto-incrementali come chiavi primarie?
Gli interi auto-incrementali sono sequenziali, compatti ed efficienti per gli indici, ma richiedono un coordinatore centrale (il database) per assegnarli — il che non funziona nei sistemi distribuiti e rivela i conteggi delle righe. Gli UUID (specialmente v7 o ULID) possono essere generati lato client senza un round-trip al database, abilitando inserimenti ottimistici e scritture distribuite. Il compromesso è lo storage (16 byte vs. 4–8 byte) e una località di indice leggermente inferiore per UUID casuali (v4). UUID v7 e ULID eliminano il problema di località dell'indice usando prefissi timestamp.
Qual è la differenza tra UUID v3 e UUID v5?
Sia UUID v3 che v5 sono deterministici: producono sempre lo stesso UUID per la stessa coppia namespace + nome, rendendoli utili per generare ID riproducibili per cose come le voci DNS, gli URL o gli identificatori di oggetti. L'unica differenza è l'algoritmo di hash: v3 usa MD5 (128 bit, legacy), v5 usa SHA-1 (160 bit, troncato a 128 bit). Preferisci UUID v5 per i nuovi progetti — SHA-1 è più forte di MD5, anche se nessuna versione viene usata come hash crittografico.