PK Systems PK Systems
Generatori

Generatore di UUID

Genera identificatori UUID v4 (casuali) o v7 (ordinati per timestamp) nel tuo browser.

Generatore di UUID

UUID generati

    Cos'è un UUID?

    Un UUID (Universally Unique Identifier, a volte chiamato GUID) è un numero a 128 bit scritto come 32 cifre esadecimali nella forma canonica 8-4-4-4-12 — per esempio a1b2c3d4-e5f6-4a7b-9c0d-1e2f3a4b5c6d. Il punto è che qualsiasi sistema può crearne uno senza coordinazione e la probabilità di collisione è trascurabile. v4 è completamente casuale; v7 incorpora un timestamp in millisecondi all'inizio, così i v7 si ordinano cronologicamente e si comportano molto meglio nei B-tree dei database rispetto ai v4.

    Come usare questo strumento

    Scegli una versione (v4 per ID casuali opachi, v7 quando vuoi ordinamento temporale per le chiavi primarie), scegli quanti te ne servono (1-100), scegli minuscolo o MAIUSCOLO e premi Rigenera. Usa Copia accanto a una riga per prenderne uno, oppure Copia tutti per scaricarli tutti negli appunti, uno per riga. v4 usa crypto.randomUUID() del browser; v7 viene costruito in locale da un timestamp a 48 bit più 74 bit casuali.

    v4 vs v7 — quale dovrei usare?

    Usa v4 per token, ID di richieste, identificatori opachi rivolti al pubblico, ovunque tu non voglia far trapelare ordine o tempo. Usa v7 per le chiavi primarie nei database moderni — ti dà ID univoci globalmente senza il caos da inserimento casuale negli indici, e le righe si ordinano naturalmente per data di creazione. Evita v1 (espone il MAC address) e v3/v5 (basate su nome, uso di nicchia). Non troncare gli UUID per "risparmiare spazio" — le collisioni esplodono in fretta.

    Versioni di UUID a colpo d'occhio

    Tutti gli UUID sono a 128 bit e sembrano uguali sul filo; il numero di versione (la prima cifra esadecimale del terzo gruppo) ti dice come sono stati creati.

    Versione Costruito da Uso tipico
    v1Timestamp + MAC addressLegacy. Leaks host info — avoid.
    v3 / v5Hash of namespace + name (MD5 / SHA-1)Deterministic IDs from a name. Niche.
    v4122 random bitsTokens, opaque IDs, request IDs.
    v6Reordered v1 (sortable)v1 replacement when you can't move to v7.
    v748-bit ms timestamp + 74 random bitsModern default for DB primary keys.
    v8Custom (RFC-defined slot)Bring-your-own scheme.

    Domande frequenti

    Questi UUID sono davvero unici?
    A fini pratici, sì. Un v4 ha 122 bit casuali (~5×10³⁶ valori); la probabilità che due UUID casuali collidano è così piccola che dovresti generarne miliardi al secondo per secoli prima di aspettarti una collisione. I v7 condividono il prefisso del timestamp tra UUID generati nello stesso millisecondo, ma hanno comunque 74 bit casuali — le collisioni restano astronomicamente improbabili.
    v7 è uno standard reale e ratificato?
    Sì. UUID v7 è definito nella RFC 9562 (maggio 2024), che ha sostituito la RFC 4122 e ha aggiunto v6/v7/v8. Postgres, MySQL, SQL Server e la maggior parte dei linguaggi moderni ora forniscono helper nativi.
    Perché usare v7 invece di v4 per le chiavi primarie?
    I v4 vengono inseriti in posizioni casuali in un indice B-tree, il che frammenta l'indice e penalizza le scritture su tabelle grandi. I v7 iniziano con un timestamp in millisecondi, quindi le nuove righe finiscono in coda all'indice — stesso pattern di inserimento di un intero auto-incrementale, ma globalmente univoco. In più ottieni il "created at" praticamente gratis.
    Posso ordinare gli UUID v7 per tempo?
    Sì. I primi 48 bit sono un timestamp Unix in millisecondi, big-endian, quindi un semplice ordinamento per stringa o per byte sui v7 ti dà l'ordine cronologico. Gli UUID generati nello stesso millisecondo si distinguono per la coda casuale, ma le righe si raggruppano comunque per data di creazione.
    Qual è la differenza tra UUID e GUID?
    Nulla di significativo. "GUID" è il termine storicamente preferito da Microsoft; "UUID" viene dalla tradizione DCE/RFC originale. Sono lo stesso identificatore a 128 bit nello stesso formato canonico. Puoi usarli in modo intercambiabile.
    Vengono generati su un server?
    No. v4 chiama crypto.randomUUID(), una funzione nativa del browser. v7 viene assemblato in locale da Date.now() e crypto.getRandomValues. Non c'è un round-trip di rete, niente log — puoi verificarlo in DevTools > Network: non parte nulla quando clicchi Rigenera.