Générateur d'UUID v7
Générez en masse, directement dans votre navigateur, des UUID v7 — la norme RFC 9562 qui intègre un horodatage de 48 bits en millisecondes permettant de trier les identifiants par ordre de création. Formats standard, majuscules, sans tirets, avec accolades et URN pris en charge, et compatibilité immédiate avec vos colonnes UUID existantes.
UUID v7 face à UUID v4 et ULID
| Format | Longueur | Triable par ordre de création | Compatible avec les colonnes UUID existantes | Description |
|---|---|---|---|---|
| UUID v7 | 36 caractères (dont 4 tirets) | Oui (les 48 premiers bits forment un horodatage en millisecondes) | Oui (type UUID standard, notation hexadécimale conservée) | Normalisé par la RFC 9562. Combine un horodatage Unix avec des bits aléatoires, offrant un tri par ordre de création tout en restant compatible avec l'infrastructure UUID existante. C'est le format généré par cet outil. |
| UUID v4 | 36 caractères (dont 4 tirets) | Non (entièrement aléatoire) | Oui (type UUID standard) | Identifiant de 128 bits entièrement aléatoire, normalisé par la RFC 9562. Ne contient aucune information sur son origine et reste la variante la plus utilisée. |
| ULID | 26 caractères | Oui (les 10 premiers caractères forment un horodatage) | Non (le Base32 nécessite un type de colonne dédié) | Spécification indépendante de la norme UUID (RFC 4122/9562) utilisant le Base32 de Crockford. Plus court que l'UUID v7, mais ne peut pas être stocké directement dans une colonne UUID native. |
Ce qu’est l’UUID v7
L’UUID v7 est un nouvel UUID (Universally Unique Identifier) triable par date, normalisé par l’IETF dans la RFC 9562 en mai 2024. L’UUID v4, longtemps la version la plus répandue, est une valeur de 128 bits entièrement aléatoire qui ne laisse aucun indice sur l’ordre de création des identifiants ; l’UUID v7, lui, porte dans ses 48 premiers bits un horodatage Unix en millisecondes, si bien qu’un simple tri des chaînes les range dans leur ordre de production. Les bits restants sont remplis de valeurs aléatoires : l’unicité tient donc même lorsque plusieurs naissent dans la même milliseconde.
Cet outil produit des UUID v7 dans le navigateur grâce à l’API Web Crypto et les délivre en lot sous la forme de votre choix : standard, en majuscules, sans traits d’union, entre accolades ou en URN. La notation est pleinement compatible avec les colonnes de base de données qui contiennent déjà des UUID v4, si bien que vous pouvez enregistrer les valeurs sans changer le type de colonne. Pour vérifier que les valeurs s’ordonnent bien selon l’horodatage, le décodeur d’UUID v7 en extraira pour vous l’heure enfouie.
Comment produire des UUID v7
- Indiquez le nombre voulu Saisissez le nombre d’UUID v7 souhaité d’un coup. Vous pouvez en demander plusieurs à la fois pour préparer des jeux d’essai.
- Choisissez la forme de sortie Retenez standard, majuscules, sans traits d’union, entre accolades ou URN, selon la base ou le système qui recevra les valeurs.
- Cliquez sur produire Ils naissent aussitôt de l’API Web Crypto dans votre navigateur et s’affichent dans le panneau des résultats. Rien n’est envoyé à un serveur.
- Copiez les résultats Prenez-les un par un avec le bouton de copie, ou utilisez « tout copier » pour placer la liste entière dans le presse-papiers.
Astuces pour en tirer le meilleur parti
- Chaque UUID v7 est généré directement dans le navigateur via l'API Web Crypto — rien n'est jamais envoyé aux serveurs de toolbase.cc.
- Comme les 48 premiers bits d'un UUID v7 forment un horodatage Unix en millisecondes, un simple tri alphabétique des valeurs générées suffit à retrouver l'ordre chronologique de création.
- Un UUID v7 peut être stocké directement dans n'importe quelle colonne contenant déjà des valeurs UUID v4 (colonne CHAR(36), type uuid natif de PostgreSQL, etc.), sans qu'aucun changement de schéma ne soit nécessaire lors de la migration.
- Le format « sans tirets » est pratique pour les segments de chemin d'URL ou les noms de fichiers, tandis que le format « avec accolades » correspond à la notation GUID utilisée dans le registre ou COM sous Windows.
- Si vous hésitez entre UUID v7 et ULID (Base32 de Crockford, 26 caractères) : privilégiez UUID v7 lorsque votre système suppose déjà une colonne UUID native, et ULID lorsque la priorité est d'obtenir la chaîne la plus courte possible.
Quand l’UUID v7 est utile
Concevoir la clé primaire d’une base de données
Comme les lignes tendent à s’insérer dans l’ordre chronologique plutôt qu’au hasard, la fragmentation de l’index B-tree reste moindre qu’avec l’UUID v4 – et vous conservez la colonne UUID déjà en place.
Attribuer des identifiants dans un système réparti
Plusieurs serveurs ou microservices produisent chacun des identifiants uniques et ordonnés dans le temps, sans dépendre d’un émetteur central de séquences.
Identifiants de journaux et d’événements
Employer l’UUID v7 pour des journaux d’accès ou des historiques d’événements permet de deviner à peu près la date d’un fait à partir du seul identifiant, sans colonne d’horodatage distincte.
Créer en masse des jeux d’essai et des enregistrements factices
Pour garnir un environnement de développement ou de recette de nombreuses lignes factices, produisez un lot et reportez-le tel quel dans des instructions SQL INSERT ou dans une charge utile d’essai d’API.
Examiner ce que vous avez produit
Pour confirmer qu’un UUID v7 porte bien l’horodatage attendu, servez-vous du décodeur d’UUID v7 ; s’il vous faut au contraire un UUID v4 purement aléatoire, le générateur d’UUID s’en charge.
Termes liés à l’UUID v7
- UUID v7
- La version d’UUID normalisée par la RFC 9562, qui loge dans ses 48 premiers bits un horodatage Unix en millisecondes. Elle se trie par date tout en restant compatible avec les colonnes UUID existantes.
- Identifiant triable par horodatage
- Identifiant qui porte en lui l’heure de sa création, de sorte qu’un tri des valeurs comme chaînes ou comme nombres les range dans l’ordre des faits. UUID v7, ULID et Snowflake ID entrent dans cette catégorie.
- Différence avec l’UUID v4
- L’UUID v4 est aléatoire sur ses 128 bits et ne dit rien de l’ordre, tandis que les 48 premiers bits d’un UUID v7 sont un horodatage et rendent visible l’ordre de production. L’écriture – 36 caractères hexadécimaux – est la même pour les deux.
- Monotonie
- Propriété de valeurs qui croissent régulièrement dans l’ordre de leur création. Lorsque plusieurs UUID v7 naissent dans la même milliseconde, l’ordre peut ne tenir qu’à la partie aléatoire selon la mise en œuvre : la monotonie stricte dépend donc de celle-ci et n’est pas exigée par la spécification.
- Localité d’index
- Tendance des valeurs nouvellement insérées à se placer près des données existantes – le plus souvent à la fin – dans l’index B-tree d’une base. Comme les valeurs d’UUID v7 se rangent par horodatage, la localité est forte et les divisions de page comme l’efficacité du cache à l’insertion s’améliorent par rapport à l’UUID v4 entièrement aléatoire.
- RFC 9562
- Document de norme définissant l’UUID, publié par l’IETF en mai 2024. Il remplace l’ancienne RFC 4122 et ajoute les versions v6 et v7, triables par date, ainsi que la v8, qui accepte des champs propres.
Questions fréquentes
Anecdote — comment UUID v7 a redonné le sens du temps à la famille UUID
UUID v7 a été normalisé en mai 2024 par la RFC 9562 de l'IETF, la première révision majeure de la spécification UUID depuis la RFC 4122 originale de 2005, publiée près de vingt ans plus tôt. Cette révision a ajouté les variantes triables v6 et v7, ainsi que la variante v8 à champs personnalisés, motivée par un reproche de longue date : le caractère entièrement aléatoire d'UUID v4 nuit à l'efficacité des index de bases de données.
La conception d'UUID v7 ressemble beaucoup à celle de notre outil jumeau, ULID : les deux placent un horodatage en millisecondes en tête et remplissent le reste avec des bits aléatoires. La différence décisive réside dans la représentation — ULID adopte un format Base32 de Crockford de 26 caractères, indépendant de la norme UUID, tandis qu'UUID v7 conserve la notation hexadécimale sur 36 caractères qui définit les UUID depuis la RFC 4122. Ce choix permet à UUID v7 de s'intégrer directement, sans aucune modification, aux colonnes, bibliothèques et contrats d'API de type UUID déjà en place.
La prise en charge d'UUID v7 s'est rapidement répandue parmi les principales bases de données et environnements d'exécution peu après sa publication. PostgreSQL propose une fonction native uuidv7() depuis la version 18, et les bibliothèques d'autres langages et ORM majeurs ont elles aussi rapidement ajouté la prise en charge de v7. Concilier la commodité d'un tri par ordre de création avec la compatibilité de ne pas remettre en cause l'existant UUID explique précisément pourquoi UUID v7, aux côtés d'ULID, a été adopté aussi vite.