Décodeur d'horodatage UUID v7
Extrayez l'horodatage en millisecondes intégré dans les 48 premiers bits d'un UUID v7 et reconvertissez-le en date et heure UTC en collant simplement la chaîne. Détecte les versions autres que v7 et les anomalies de variant, et fonctionne comme l'inverse de l'outil jumeau « Générateur d'UUID v7 ».
Disposition des bits de l'UUID v7
| Plage de bits | Champ | Description |
|---|---|---|
| 0-47 | unix_ts_ms | Millisecondes depuis l'époque Unix, stockées en big-endian. La valeur extraite par cet outil. |
| 48-51 | version | Le numéro de version de l'UUID. Fixé à 0111 (7 en hexadécimal) pour la v7. |
| 52-63 | rand_a | 12 bits de données aléatoires. Certaines implémentations les utilisent pour préserver l'ordre au sein d'une même milliseconde. |
| 64-65 | variant | Valeur fixe 10 indiquant le variant de la RFC 4122/9562. Le premier chiffre hexadécimal devient 8/9/a/b. |
| 66-127 | rand_b | 62 bits de données aléatoires, apportant de l'entropie pour éviter les collisions. |
Ce que signifie extraire l'horodatage d'un UUID v7
L'UUID v7, normalisé par la RFC 9562 en 2024, intègre l'instant de création dans ses 48 premiers bits sous la forme d'un horodatage Unix en millisecondes. C'est pourquoi un ensemble d'UUID triés se retrouve dans l'ordre de création, et pourquoi leur usage comme clés primaires limite la fragmentation des index. Collez ici un UUID et cet outil restitue ces 48 bits sous forme de date et d'heure en UTC.
Il indique également la version et la variante. Si vous collez autre chose qu'un v7, l'horodatage est tout de même calculé et affiché, accompagné d'un avertissement précisant que la valeur n'est pas un v7. Un v4 aléatoire donnera une date dépourvue de sens, mais le constater aide à comprendre ce que chaque type d'UUID transporte réellement. Un tableau de répartition des bits montre ce qui suit ces 48 premiers bits. Tout s'exécute dans votre navigateur.
Comment lire un horodatage dans un UUID
- Collez l'UUID La forme standard de 36 caractères avec tirets, 8-4-4-4-12. Les majuscules comme les minuscules conviennent.
- Vérifiez la version et la variante Un v7 ne déclenche aucun avertissement. Tout le reste est signalé comme n'étant pas un v7.
- Lisez l'heure restituée Elle apparaît sous trois formes : millisecondes Unix, ISO 8601 en UTC, et l'heure locale de votre appareil.
- Consultez le tableau des bits Vous voyez ce qui occupe chaque plage de bits après l'horodatage de 48 bits : la version, la variante et la partie aléatoire.
Astuces pour en tirer le meilleur parti
- Tout le décodage s'effectue entièrement dans le JavaScript de votre navigateur ; l'UUID saisi n'est jamais envoyé au serveur de toolbase.cc.
- Si la clé primaire de votre base de données utilise l'UUID v7, vous pouvez retrouver le moment de création de l'enregistrement en collant simplement la clé ici, même sans colonne created_at dédiée.
- Saisir un UUID autre que v7 (comme v4) déclenche un avertissement, mais la valeur de référence extraite mécaniquement des 48 premiers bits reste affichée, ce qui est utile pour comprendre les différences entre les formats.
- Si vous devez générer un UUID, utilisez l'outil jumeau « Générateur d'UUID v7 » : il produit des UUID que cet outil peut décoder directement en retour.
- Coller ici un par un les UUID v7 trouvés dans des fichiers de journal ou des réponses d'API est un moyen pratique d'estimer quand des événements se sont produits dans un système externe lors du débogage.
Dans quelles situations cela sert
Retrouver quand un événement journalisé s'est produit
Même un journal dépourvu de colonne de date peut être daté si ses clés primaires sont des v7, ce qui aide à reconstituer l'enchaînement lors d'un incident.
Confirmer que les clés se trient bien par création
Saisissez tour à tour les UUID de plusieurs enregistrements et vérifiez que l'implémentation produit réellement des valeurs ordonnées dans le temps.
Décider d'adopter ou non le v7
Voir ce qu'on peut en extraire rend l'arbitrage concret : quiconque détient la valeur peut lire l'instant de création, ce qui devient un inconvénient dès que ce moment est sensible.
Distinguer les versions
Savoir à l'œil nu si un UUID reçu est un v4 ou un v7 est difficile ; ici la réponse est immédiate.
Le vocabulaire des UUID
- UUID v7
- La version normalisée par la RFC 9562, portant un horodatage Unix en millisecondes sur ses 48 premiers bits. Le tri chronologique est ce qui la distingue principalement du v4.
- Version
- Le chiffre à la treizième position hexadécimale, qui indique comment l'UUID a été produit. Pour un v7, il vaut 7.
- Variante
- Une valeur distincte décrivant l'agencement interne. Dans les UUID conformes à la RFC 9562, la dix-septième position vaut 8, 9, a ou b.
- Millisecondes Unix
- Millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC. Quarante-huit bits suffisent jusqu'à l'an 10889.
- Ce qui distingue le v4
- Un v4 est pour l'essentiel entièrement aléatoire et **ne porte aucune information sur sa date de création.** Il ne se trie donc pas par ordre de création, mais en contrepartie personne ne peut en lire le moment d'origine.
Questions fréquentes
Anecdote — Donner à l'UUID une horloge intégrée
Ce qui rend l'UUID v7 révolutionnaire, c'est que l'identifiant lui-même conserve en permanence son moment de génération. Avec l'ancien UUID v4, une colonne created_at séparée était indispensable pour savoir quand un enregistrement avait été créé, mais si la clé primaire d'une table utilise l'UUID v7, le moment de génération peut être retrouvé mécaniquement à partir de la seule chaîne de l'identifiant. Cet outil propose ce processus de récupération comme l'inverse de l'outil jumeau « Générateur d'UUID v7 ».
Cette propriété est particulièrement utile lors d'enquêtes sur des incidents et de migrations de données. Si un identifiant de commande enfoui dans un ancien journal, ou un identifiant d'événement reçu d'un système externe, se trouve être au format UUID v7, vous pouvez savoir instantanément, de façon approximative, quand l'enregistrement a été créé, sans consulter de colonne d'horodatage dédiée. Cela s'applique aussi aux systèmes hérités dépourvus de colonne created_at, ou à l'analyse de valeurs UUID v7 émises par une autre entreprise.
Cela dit, certaines réserves s'imposent. Un horodatage d'UUID v7 dépend entièrement de l'horloge de la machine génératrice ; si l'horloge de ce serveur est décalée, le résultat extrait le sera aussi. Gardez également à l'esprit que cet outil extrait mécaniquement un « horodatage potentiel » même à partir d'autres versions d'UUID comme la v4 : il s'agit purement d'une interprétation de positions de bits, qui ne garantit pas que la valeur obtenue ait un sens.