Unealtă gratuită pentru programatori

Generator UUID (v4 și v7)

Generezi până la 100 de UUID-uri v4 (aleatorii) sau v7 (ordonate după timp), cu majuscule, fără cratime sau cu acolade, plus exemple de cod pentru JavaScript, PHP, Python și baze de date.

UUID în limbaje și baze de date

Variante gata făcute: copiază codul direct sau deschide exemplul în generator și modifică-l după nevoie.

JavaScript crypto.randomUUID() există în toate browserele actuale și în Node.js; dă un UUID v4.
const id = crypto.randomUUID();
// 3b241101-e2bb-4255-8caf-4136c566a962
Python uuid7() există de la Python 3.14.
import uuid
uuid.uuid4()
uuid.uuid7()   # Python 3.14+
PostgreSQL gen_random_uuid() dă v4; uuidv7() există de la PostgreSQL 18.
CREATE TABLE comenzi (
  id uuid PRIMARY KEY DEFAULT uuidv7(),
  creat_la timestamptz DEFAULT now()
);
MySQL UUID() dă versiunea 1; UUID_TO_BIN îl stochează compact în 16 octeți.
CREATE TABLE comenzi (
  id BINARY(16) PRIMARY KEY DEFAULT (UUID_TO_BIN(UUID(), 1))
);
SELECT BIN_TO_UUID(id, 1) FROM comenzi;

Cum folosești generatorul de UUID

  1. Alege versiunea: v4 (aleator) sau v7 (ordonat după timp).
  2. Alege câte să genereze, de la 1 la 100.
  3. Bifează după nevoie majuscule, fără cratime sau cu acolade, apoi copiază lista. Valorile se generează în browser; nu se trimite nimic către server.

Formatul UUID

Un UUID are 128 de biți, scriși ca 32 de cifre hexazecimale în grupuri de 8-4-4-4-12. Prima cifră din al treilea grup este versiunea.

v4: 3f2a9c4e-8b1d-4e7a-9c2f-6d5b8a1e0f43
v7: 019a3b5c-7e21-7d4f-8a6b-2c9e1f0d3a57

v4 are 122 de biți aleatori; șansa a două valori identice este neglijabilă. v7, definit în RFC 9562 (2024), începe cu un timestamp Unix în milisecunde, urmat de biți aleatori. De aceea UUID-urile v7 se sortează în ordinea creării.

De ce v7 pentru chei primare

Indexurile bazelor de date (de exemplu B-tree în MySQL InnoDB și PostgreSQL) lucrează mai bine când valorile noi vin la sfârșit. Valorile v4 sunt împrăștiate și produc fragmentare; v7 se adaugă mereu la coadă, ca un număr auto-increment, dar poate fi generat oriunde, fără să întrebi baza de date. Dezavantaj: v7 dezvăluie momentul creării.

// JavaScript (browser și Node.js): doar v4
crypto.randomUUID();

# Python
import uuid
uuid.uuid4()
uuid.uuid7()        # de la Python 3.14

-- PostgreSQL
SELECT gen_random_uuid();   -- v4
SELECT uuidv7();            -- de la PostgreSQL 18

-- MySQL: UUID() dă versiunea 1; stochează compact în BINARY(16)
SELECT UUID_TO_BIN(UUID());

PHP nu are o funcție UUID în nucleu; se folosesc biblioteci ca ramsey/uuid sau symfony/uid, care au și v7. Vezi și Învață MySQL și Învață Python.

Întrebări frecvente

Pot fi ghicite UUID-urile?

v4 generat cu un generator criptografic, ca aici, este practic imposibil de ghicit. Nu le folosi totuși ca singură protecție pentru date private.

Ce înseamnă GUID?

Este numele folosit de Microsoft pentru același lucru. Formatul e identic; uneori apare între acolade.