← Accéder à l'outil

UUID v7 · Timestamp · Trié · RFC 9562

UUID v7 horodaté : générer et comprendre

Mis à jour : mai 2026

UUID v7 est la version moderne recommandée pour les bases de données. Contrairement à UUID v4 entièrement aléatoire, UUID v7 encode le timestamp Unix en millisecondes dans ses premiers bits, ce qui le rend trié naturellement par ordre de création.

Générer des UUID v7 →

Gratuit · Sans upload · Génération dans le navigateur

Structure d'un UUID v7

UUID v7 est défini dans la RFC 9562 (2024). Sa structure :

0192f6a4-1234-7xxx-yxxx-xxxxxxxxxxxx
│ 48 bits │ ver │ 12 bits │ var │    62 bits    │
  timestamp         rand          rand
  • Bits 0–47 : timestamp Unix en millisecondes (Big-endian).
  • Bits 48–51 : version = 7.
  • Bits 52–63 : compteur ou bits aléatoires sub-milliseconde.
  • Bits 64–65 : variant = 10 (RFC 4122).
  • Bits 66–127 : bits aléatoires.

Avantages pour les bases de données

Les bases de données comme PostgreSQL, MySQL et SQLite indexent les données dans des structures B-tree. Insérer des UUID v4 (aléatoires) fragmente l'index car chaque insertion peut tomber n'importe où dans l'arbre, provoquant des réécritures de pages fréquentes.

Avec UUID v7, chaque nouvel identifiant est plus grand que le précédent (même timestamp ou timestamp plus récent), ce qui produit des insertions séquentielles à la fin de l'index. Résultat : moins de fragmentation, meilleure localité de cache, insertions plus rapides.

Extraire le timestamp d'un UUID v7

Les 12 premiers caractères hexadécimaux contiennent le timestamp. Pour le décode :

uuid   = "0192f6a4-1234-7abc-9def-0123456789ab"
ts_hex = "0192f6a41234"  // premiers 12 chars (sans tirets)
ms     = parseInt(ts_hex, 16)  // → 1747820716596
date   = new Date(ms).toISOString()  // → "2025-05-21T..."

L'outil Valider de Flowfiles extrait et affiche automatiquement cette date.

Questions fréquentes

UUID v7 est-il standardisé ?

Oui. UUID v7 est défini dans la RFC 9562 publiée en mai 2024, qui remplace et étend la RFC 4122.

UUID v7 est-il supporté par les frameworks ?

De plus en plus. Laravel 11+, Ruby on Rails 7.1+, Java UUID Creator, Go google/uuid v1.6+ supportent nativement UUID v7.

Y a-t-il un risque de collision pour UUID v7 ?

Non en pratique. Même au sein du même milliseconde, les bits aléatoires restants (74 bits) rendent la collision pratiquement impossible.

UUID v7 est-il trié correctement en SQL ?

Oui, si le type de colonne est UUID ou CHAR(36) et que le tri est alphabétique (ce qui est le cas par défaut). Le format hexadécimal lowercase d'UUID v7 est trié correctement par ordre lexicographique.