Generatore di UUID

Genera identificatori UUID (v4) casuali, uno o molti alla volta.

100% privato — funziona interamente nel tuo browser. I tuoi dati vengono elaborati sul tuo dispositivo e non vengono mai inviati a Internet.

Informazioni sul generatore di UUID

Questo generatore di UUID gratuito crea UUID di versione 4 casuali (chiamati anche GUID): identificatori universalmente univoci usati in database, API, file di log e sistemi distribuiti. Generane uno oppure un intero lotto e copiali con un clic.

Vengono generati nel tuo browser usando crypto.getRandomValues, la stessa sorgente casuale crittograficamente sicura impiegata per le chiavi di cifratura. Nulla viene richiesto a un server, quindi ogni UUID che vedi qui non è mai esistito altrove.

Che cos'è un UUID

Un UUID è un numero a 128 bit, scritto come 32 cifre esadecimali in cinque gruppi separati da trattini:

f47ac10b-58cc-4372-a567-0e02b2c3d479

Il raggruppamento è 8-4-4-4-12, e la lunghezza totale è sempre di 36 caratteri, trattini compresi.

Il suo scopo è generare un identificatore univoco senza chiedere a nessuno. Un database può distribuire 1, 2, 3… perché è l'unica autorità su ciò che viene dopo. Ma quando due telefoni creano record offline, o dodici server inseriscono righe nello stesso momento, oppure serve un identificatore *prima* che la riga esista, non c'è alcuna autorità a cui chiedere. Un UUID risolve il problema essendo così grande e così casuale che una collisione non merita nemmeno un pensiero.

La versione 4 e le due cifre che la rivelano

Esistono varie versioni di UUID. La versione 4 è quella casuale, ed è ciò che quasi tutti intendono con «un UUID».

Puoi leggere la versione direttamente dalla stringa. In f47ac10b-58cc-4372-a567-0e02b2c3d479:

  • La prima cifra del terzo gruppo è la versione: qui un 4
  • La prima cifra del quarto gruppo è la variante: sempre 8, 9, a o b

Quelle due posizioni sono fisse, il che lascia 122 bit di casualità effettiva invece di 128.

Le altre versioni che potresti incontrare: v1 codifica la marca temporale e l'indirizzo MAC della macchina, il che la rende ordinabile ma rivela dove e quando è stata creata. v7, standardizzata nel 2024, è la risposta moderna: una marca temporale all'inizio e la casualità dopo, così gli identificatori si ordinano per data di creazione senza svelare dettagli hardware. Se stai scegliendo oggi e l'ordinamento nel database conta, vale la pena conoscere la v7.

Sono davvero univoci?

Non è garantito, ma i numeri sono abbastanza assurdi da rendere la cosa irrilevante.

122 bit casuali danno circa 5,3 × 10³⁶ valori possibili. Per arrivare a una probabilità del 50% di una singola collisione dovresti generare all'incirca 2,7 × 10¹⁸ UUID: 2,7 trilioni.

In concreto: generando un miliardo di UUID al secondo, servirebbero circa 85 anni per raggiungere il 50% di probabilità di un solo duplicato nell'intero insieme. Per qualsiasi applicazione reale, il rischio è minore di quello che il tuo storage corrompa silenziosamente il valore.

L'unica vera riserva riguarda la qualità della casualità. Un UUID che nasce da una sorgente casuale debole non è univoco nel modo promesso dalla matematica: ci sono stati bug reali in cui un generatore prevedibile produceva ripetizioni. Questo strumento usa il generatore crittografico del browser, non Math.random().

Un UUID non è un segreto

Vale la pena dirlo chiaramente, perché lo si fraintende in entrambe le direzioni.

Un UUID v4 è imprevedibile, quindi è ragionevole come URL non indovinabile: un link di condivisione o un token per reimpostare la password. Ma non è pensato come primitiva di sicurezza, non ha scadenza e finisce spesso nei log, nelle cache, negli strumenti di analisi e incollato nelle chat. Trattalo come un identificatore che per caso è difficile da indovinare, non come una credenziale.

E viceversa: non dare per scontato che un UUID nasconda qualcosa. Un UUID v1 contiene una marca temporale e un indirizzo MAC in bella vista. Se hai ereditato identificatori da qualche parte e cominciano con una versione 1, stanno dicendo a chiunque li legga quando e dove sono stati creati.

Dove li userai

  • Chiavi primarie di database: soprattutto quando le righe vengono create su più macchine contemporaneamente
  • App offline-first: un telefono può creare record senza connessione e sincronizzarli poi senza rinumerare
  • ID delle richieste API: tracciare una singola richiesta attraverso molti servizi nei log
  • Nomi di file e di caricamenti: evitare collisioni senza fidarsi del nome file dell'utente
  • Deduplicazione dei messaggi: una chiave di idempotenza perché una richiesta ritentata non venga elaborata due volte
  • Link di condivisione: un URL non indovinabile per un documento o un invito
  • Dati di test: valori univoci che non entreranno mai in conflitto con dati reali

Come si usa

  • Scegli quanti te ne servono
  • Genera: compaiono UUID nuovi
  • Copia: copia un singolo UUID o l'intero elenco

Buono a sapersi

  • Maiuscole e minuscole non contano, ma la convenzione è il minuscolo, ed è ciò che produce questo strumento. Alcuni sistemi confrontano gli UUID come semplici stringhe, dove A e a sono diversi: sii coerente.
  • I trattini sono formattazione. Molti sistemi memorizzano le 32 cifre senza trattini, oppure come 16 byte grezzi. Stesso valore, presentazione diversa.
  • Come chiave di database hanno un costo. Un UUID occupa 16 byte contro i 4 o 8 di un intero, e i valori casuali disperdono le scritture su un indice a B-albero invece di accodarle alla fine. Su una tabella grande e con molte scritture la differenza è misurabile, ed è esattamente il problema che la v7 è stata progettata per risolvere.
  • Non usarli come password. Sono imprevedibili, ma sono identificatori, e finiscono nei log e nella cronologia del browser.
  • «GUID» è il nome che Microsoft dà alla stessa cosa. In .NET e in SQL Server vedrai GUID; è lo stesso valore a 128 bit.
  • L'UUID nil è composto da tutti zeri: 00000000-0000-0000-0000-000000000000. Di solito significa «nessuno» o «non impostato», quindi conviene riconoscerlo.

Domande frequenti

Che cos'è un UUID e a cosa serve?

Un UUID è un identificatore a 128 bit scritto con 36 caratteri, ad esempio f47ac10b-58cc-4372-a567-0e02b2c3d479. Il suo scopo è permettere a qualsiasi componente di generare da solo un identificatore univoco, senza consultare un contatore centrale. Questo conta quando i record vengono creati su più server contemporaneamente, su un telefono offline, o prima ancora che la riga esista nel database.

Gli UUID sono garantiti univoci?

No, ma la probabilità di uno scontro è trascurabile. Un UUID di versione 4 ha 122 bit casuali, il che dà circa 5,3 × 10³⁶ possibilità. Dovresti generarne circa 2,7 trilioni prima di arrivare a una probabilità del 50% di un solo duplicato. A un miliardo al secondo sono all'incirca 85 anni.

Qual è la differenza tra UUID e GUID?

Nessuna, in pratica. GUID è il nome che Microsoft dà allo stesso identificatore a 128 bit e lo vedrai ovunque in .NET e SQL Server. L'unica particolarità è che alcuni strumenti Microsoft mostrano un GUID racchiuso tra parentesi graffe, come {f47ac10b-...}, e che qualche vecchia API ordina alcuni byte in modo diverso durante la conversione in binario grezzo.

Quale versione di UUID dovrei usare?

La versione 4 per l'uso generale: è del tutto casuale e non rivela nulla su dove o quando è stata creata. Valuta la versione 7 se questi identificatori diventeranno chiavi primarie di database, perché mette una marca temporale in testa, così i valori si ordinano per data di creazione e si indicizzano in modo molto più efficiente. Evita la versione 1 per qualsiasi cosa pubblica, perché incorpora un indirizzo MAC e una marca temporale.

Posso usare un UUID come token di sicurezza?

Per un link non indovinabile è accettabile, dato che un UUID v4 non può realisticamente essere previsto. Ma è un identificatore, non una credenziale: non scade mai, non può essere revocato da solo e tende a finire nei log del server, negli strumenti di analisi e nella cronologia del browser. Per un'autenticazione vera usa un token creato appositamente e con una scadenza.

Questi UUID vengono generati sul vostro server?

No. Sono creati nel tuo browser da crypto.getRandomValues, il generatore crittograficamente sicuro integrato in ogni browser moderno. Non viene fatta alcuna richiesta e non viene registrato nulla, quindi puoi generarli anche con la connessione spenta.

Strumenti correlati

Video tutorial

Aggiungiamo regolarmente nuovi strumenti — iscriviti su YouTube per ricevere una notifica a ogni novità.

Altri strumenti

Vedi tutti

App consigliate

Vedi tutti