Générateur UUID/ v4 · v7

Générez des UUID v4 (aléatoires) et UUID v7 (ordonnés dans le temps) en masse. Majuscules, format sans tirets et copie en un clic.

Nombre :
5 × UUID v4
c4ed2059-ed84-42d1-9cbf-fc1b25e1c1a3
8e8fecb3-94c0-4794-85dc-099feda3e98a
44a707dc-6922-4203-b138-4d764c03de27
dd639d7e-b148-4bf4-bdf8-893dd5b138e5
fb10eef7-9dfa-492e-8955-aad3237bcda5
UUID v4 utilise 122 bits d'aléatoire cryptographique. La probabilité de collision avec 1 billion d'UUID est d'environ 10⁻¹⁵ — pratiquement impossible.

Cet outil a-t-il résolu votre problème ?

Qu'est-ce qu'un UUID

Un UUID (Universally Unique Identifier) est un identifiant de 128 bits,通常表示为 32 caractères hexadécimaux, comme `550e8400-e29b-41d4-a716-446655440000`. L'UUID v4 est généré随机ément avec une probabilité de collision astronomiquement basse — il faudrait生成 103 billions d'UUIDs pour avoir 50% de chance d'un doublon. Parfait comme clé primaire唯一e dans les systèmes distribués.

Différences entre versions d'UUID

v1基于 horodatage et adresse MAC (traçable), v3/v5基于 espace de noms et hash (déterministe), v4 est纯ément随机 (le plus courant), v7 est trié par temps +随机 (nouveau standard,平衡 tri et随机ité). v4 est le standard pour le développement日常; v7 est idéal pour les clés primaires de base de données nécessitant un tri chronologique.

Exemples de code

JavaScript / Node.js
// UUID v4 (browser & Node 19+)
const id = crypto.randomUUID();
// "110e8400-e29b-41d4-a716-446655440000"

// Node.js (< 19)
import { randomUUID } from "crypto";
const id = randomUUID();

// npm: uuid package
import { v4 as uuidv4, v7 as uuidv7 } from "uuid";
console.log(uuidv4());
console.log(uuidv7());
Python
import uuid

# UUID v4
print(uuid.uuid4())
# "a8098c1a-f86e-11da-bd1a-00112444be1e"

# UUID v5 (name-based, deterministic)
print(uuid.uuid5(uuid.NAMESPACE_DNS, "example.com"))

# As hex (no dashes)
print(uuid.uuid4().hex)
Go
// go get github.com/google/uuid
import "github.com/google/uuid"

// UUID v4
id := uuid.New()
fmt.Println(id.String())

// UUID v7 (google/uuid v1.6+)
id7, _ := uuid.NewV7()
fmt.Println(id7.String())
SQL
-- PostgreSQL
SELECT gen_random_uuid();          -- v4
INSERT INTO users (id, name)
  VALUES (gen_random_uuid(), 'Alice');

-- MySQL 8+
SELECT UUID();  -- v1 format
-- For v4: use application layer

-- SQLite (with extension or app)
SELECT lower(hex(randomblob(4))) || '-' ||
  lower(hex(randomblob(2))) || '-4' ||
  substr(lower(hex(randomblob(2))),2) || '-' ||
  substr('89ab', abs(random()) % 4 + 1, 1) ||
  substr(lower(hex(randomblob(2))),2) || '-' ||
  lower(hex(randomblob(6)));

Questions fréquentes

Qu'est-ce qu'un UUID ?
Un UUID (Universally Unique Identifier) est un identifiant de 128 bits, généralement représenté sous forme de chaîne hexadécimale de 32 caractères au format 8-4-4-4-12 (ex : 550e8400-e29b-41d4-a716-446655440000). Défini par la RFC 4122, il permet la génération d'identifiants uniques dans les systèmes distribués sans coordination centrale.
Quelle est la différence entre UUID v4 et v7 ?
UUID v4 est entièrement aléatoire (122 bits), simple et universellement supporté. UUID v7 encode un horodatage Unix en millisecondes dans ses 48 premiers bits, le rendant naturellement ordonné dans le temps. Les lignes de base de données peuvent être triées par UUID pour obtenir l'ordre de création, avec de meilleures performances d'index B-tree. UUID v7 est recommandé pour les nouveaux projets.
Quelle est la probabilité de collision des UUID ?
UUID v4 utilise 122 bits d'aléatoire. Il faudrait générer environ 2^61 (~2,3 trillions) d'UUID avant d'atteindre 50 % de probabilité de collision. Générer des millions par seconde est parfaitement sûr pour les clés primaires distribuées.
UUID vs ULID — lequel est meilleur ?
ULID (Universally Unique Lexicographically Sortable Identifier) est similaire à UUID v7 — ordonné dans le temps — mais utilise l'encodage Crockford base32 (26 caractères, sans tirets), ce qui le rend plus court. UUID v7 est un standard IETF avec un support écosystème plus large ; ULID est plus compact quand des identifiants courts sont préférés.
Comment stocker les UUID dans une base de données ?
PostgreSQL dispose d'un type UUID natif. MySQL/MariaDB : BINARY(16) pour un stockage binaire compact ou CHAR(36) pour la lisibilité. MongoDB : BinData(3) ou une chaîne simple. Indexez toujours les colonnes UUID sur lesquelles vous faites des requêtes.
Pourquoi UUID v7 offre-t-il de meilleures performances que v4 ?
L'aléatoire de UUID v4 provoque des insertions B-tree aléatoires, entraînant des fractionnements de pages fréquents et une mauvaise utilisation du cache. L'ordonnancement temporel de UUID v7 signifie que les nouvelles lignes sont ajoutées à la fin de l'index, comme les ID auto-incrémentés — des performances d'écriture et des taux de cache nettement supérieurs pour les grandes tables.