UUID Generator
Générateur des UUIDs multiples aux formats v1, v4 et v7
UUID Generator : générer des UUID v1, v4 et v7 en ligne
Un UUID (Universally Unique Identifier) est un identifiant conçu pour identifier de manière unique une ressource, un enregistrement, un utilisateur, une transaction ou un objet dans une application.
Au lieu d'utiliser simplement un nombre incrémental comme :
1
2
3
4
5
une application peut utiliser un identifiant tel que :
550e8400-e29b-41d4-a716-446655440000
Les UUID sont particulièrement utiles dans les applications Web, les API, les bases de données, les systèmes distribués et les applications mobiles.
Avec UUID Generator de PleaseTools, vous pouvez générer plusieurs UUID à la fois et choisir entre les versions UUID v1, UUID v4 et UUID v7. Vous pouvez également contrôler la quantité générée, la casse et le format de sortie.
Qu'est-ce qu'un UUID ?
UUID signifie Universally Unique Identifier, ou identifiant universellement unique.
Un UUID standard occupe 128 bits, soit 16 octets. Sa représentation textuelle classique contient 32 caractères hexadécimaux séparés par quatre tirets :
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Un exemple de UUID v4 peut être :
f47ac10b-58cc-4372-a567-0e02b2c3d479
La structure et les différentes versions des UUID sont définies par la spécification RFC 9562, publiée en 2024, qui a remplacé RFC 4122.
Le numéro de version est notamment visible dans le troisième groupe de caractères.
Par exemple :
f47ac10b-58cc-4372-a567-0e02b2c3d479
^
version 4
À quoi sert un UUID ?
Un UUID permet d'identifier une donnée sans avoir besoin de connaître les identifiants déjà utilisés ailleurs.
Il peut servir à identifier :
- un utilisateur ;
- un compte ;
- une commande ;
- une facture ;
- une transaction ;
- un fichier ;
- une image ;
- un document ;
- une session ;
- une ressource API ;
- un appareil ;
- un événement ;
- un enregistrement dans une base de données.
Par exemple, une API peut retourner :
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "John Doe"
}
L'identifiant permet ensuite de référencer précisément cette ressource.
UUID ou ID numérique ?
Dans une base de données traditionnelle, les identifiants peuvent être générés automatiquement :
1
2
3
4
5
C'est simple et efficace.
Mais un identifiant numérique incrémental présente certaines limites dans les applications distribuées.
Imaginez deux serveurs qui créent simultanément des données :
Serveur A → 125
Serveur B → 125
Il faut alors coordonner la génération des identifiants.
Avec des UUID, chaque application peut générer localement un identifiant sans devoir demander au serveur central quel sera le prochain numéro.
Cela est particulièrement intéressant pour :
- les architectures distribuées ;
- les API ;
- les applications hors ligne ;
- les systèmes synchronisés ;
- les microservices ;
- les imports de données ;
- les applications mobiles.
Les UUID sont-ils réellement uniques ?
Le terme « unique » doit être compris dans le contexte de la conception des UUID.
Un UUID possède un espace de valeurs extrêmement important. Pour un UUID v4, la spécification réserve certains bits pour la version et la variante, laissant 122 bits pour les données aléatoires ou pseudo-aléatoires.
La probabilité d'une collision avec une génération correctement réalisée est donc extrêmement faible.
Cependant, un UUID n'est pas une garantie mathématique absolue qu'aucune collision ne pourra jamais exister.
Il faut surtout utiliser un générateur conforme et une source d'aléa appropriée lorsque la sécurité ou l'unicité sont importantes.
Les principales versions d'UUID
Il existe plusieurs versions d'UUID, chacune ayant des caractéristiques différentes.
La spécification actuelle définit notamment les versions 1 à 8, avec des rôles différents.
PleaseTools propose actuellement les versions :
- UUID v1
- UUID v4
- UUID v7
UUID v1 : UUID basé sur le temps
L'UUID v1 est historiquement basé sur une information temporelle et certains éléments liés à la génération de l'identifiant.
Il est donc différent d'un UUID v4 purement aléatoire.
Un UUID v1 peut être intéressant lorsqu'une application doit utiliser une génération liée au temps.
Cependant, les UUID v1 peuvent exposer certaines informations liées à leur génération. Ils ne sont donc pas toujours le meilleur choix pour une application moderne.
Pour de nombreux nouveaux projets, il est préférable d'évaluer les versions plus récentes selon le besoin.
UUID v4 : UUID aléatoire
L'UUID v4 est probablement la version la plus connue.
Il est conçu pour être généré à partir de valeurs aléatoires ou pseudo-aléatoires. La RFC 9562 indique que l'UUID v4 utilise 122 bits pour les données aléatoires, les autres bits étant utilisés pour la version et la variante.
Exemple :
550e8400-e29b-41d4-a716-446655440000
Le 4 présent au début du troisième groupe indique la version :
xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx
Quand utiliser UUID v4 ?
UUID v4 convient particulièrement bien pour :
- les identifiants de ressources API ;
- les utilisateurs ;
- les commandes ;
- les fichiers ;
- les objets applicatifs ;
- les identifiants générés côté client ;
- les ressources dont l'identifiant n'a pas besoin d'être trié chronologiquement.
C'est souvent un excellent choix généraliste.
UUID v7 : UUID basé sur le temps Unix
UUID v7 est une version plus récente définie par RFC 9562.
Elle intègre notamment un timestamp Unix exprimé en millisecondes dans les bits les plus significatifs de l'UUID, complété par des données permettant de conserver l'unicité.
Cette conception donne aux UUID v7 une propriété intéressante : ils sont ordonnables approximativement selon leur temps de génération.
Un UUID v7 peut donc être particulièrement intéressant pour les systèmes dans lesquels les identifiants sont fréquemment indexés ou triés.
La RFC 9562 recommande d'utiliser UUID v7 plutôt que UUID v1 ou UUID v6 lorsque cela est possible.
Pourquoi UUID v7 est intéressant pour les bases de données ?
Imaginez une table contenant plusieurs millions d'enregistrements.
Avec des identifiants totalement aléatoires, l'ordre des valeurs ne correspond pas à l'ordre de création.
Avec UUID v7, les identifiants contiennent une composante temporelle en position significative.
Cela peut être avantageux lorsqu'une application doit :
- trier des identifiants ;
- indexer de nombreuses lignes ;
- retrouver des données récentes ;
- générer des identifiants distribués ;
- conserver une notion d'ordre temporel.
Il faut toutefois considérer les caractéristiques du SGBD et de ses index avant de choisir définitivement son format d'identifiant.
UUID v1, v4 ou v7 : lequel choisir ?
| Version | Principe | Cas d'utilisation |
|---|---|---|
| UUID v1 | Basé sur le temps | Compatibilité avec des systèmes utilisant cette version |
| UUID v4 | Aléatoire | Identifiant généraliste |
| UUID v7 | Temps Unix + aléatoire | Applications modernes nécessitant des identifiants ordonnables |
Pour un nouveau projet, le choix dépend donc du besoin.
Choisir UUID v4
Utilisez v4 lorsque vous voulez principalement :
- un identifiant aléatoire ;
- une génération simple ;
- aucune information temporelle directement intégrée ;
- un identifiant indépendant de l'ordre de création.
Choisir UUID v7
Considérez v7 lorsque vous souhaitez :
- générer des identifiants distribués ;
- conserver une composante temporelle ;
- faciliter le tri chronologique ;
- utiliser une approche moderne adaptée aux systèmes de données importants.
Choisir UUID v1
v1 peut rester pertinent dans certains environnements existants, notamment lorsqu'une application doit conserver une compatibilité avec une architecture utilisant déjà cette version.
Comment générer un UUID avec PleaseTools ?
Le générateur UUID de PleaseTools est conçu pour produire rapidement un ou plusieurs identifiants.
1. Choisissez la version UUID
Sélectionnez la version souhaitée :
UUID v1
UUID v4
UUID v7
Le choix dépend de l'utilisation prévue.
2. Indiquez la quantité
Le champ Quantité permet de générer plusieurs UUID en une seule opération.
C'est pratique lorsque vous devez préparer :
- plusieurs identifiants de test ;
- des données de démonstration ;
- des fixtures ;
- des données de développement ;
- des identifiants pour une importation.
Vous n'avez donc pas besoin de cliquer plusieurs fois sur le bouton pour générer chaque UUID individuellement.
3. Choisissez la casse
Le générateur permet également de choisir la casse des caractères hexadécimaux.
Vous pouvez donc obtenir une représentation en :
minuscules
ou :
MAJUSCULES
Par exemple :
550e8400-e29b-41d4-a716-446655440000
ou :
550E8400-E29B-41D4-A716-446655440000
La valeur UUID reste la même ; seule sa représentation textuelle change.
4. Choisissez le format de sortie
PleaseTools propose également plusieurs options concernant le format de sortie.
Vous pouvez notamment contrôler la présence des tirets et des accolades.
La représentation classique est :
550e8400-e29b-41d4-a716-446655440000
Une représentation sans tirets peut également être utile dans certains contextes :
550e8400e29b41d4a716446655440000
Et certaines applications utilisent une représentation entourée d'accolades :
{550e8400-e29b-41d4-a716-446655440000}
Ces différences concernent principalement la représentation textuelle de l'identifiant.
5. Définissez le séparateur
Lorsque plusieurs UUID sont générés, le séparateur de texte permet de contrôler la manière dont les valeurs sont présentées.
Cela peut être pratique pour préparer directement une liste destinée à :
- un fichier texte ;
- une requête SQL ;
- une configuration ;
- un script ;
- une liste de test ;
- une importation.
Générer plusieurs UUID en une seule fois
L'une des fonctionnalités pratiques d'un générateur UUID est la création en quantité.
Supposons que vous devez créer 100 identifiants pour tester une API.
Au lieu de faire :
Générer
Copier
Générer
Copier
Générer
Copier
...
vous pouvez demander directement plusieurs UUID.
Cela permet notamment de gagner du temps lors du développement et des tests.
UUID pour les tests
Les UUID sont très utilisés pour créer des jeux de données de test.
Par exemple :
[
{
"id": "0f7f7d3b-4a5e-4d6e-9b18-1d8f9e7a1234"
},
{
"id": "7c5b8a9e-0d21-4f32-a7c1-92e6d4b56789"
}
]
Vous pouvez ainsi créer rapidement des données réalistes pour tester :
- une API REST ;
- une interface Web ;
- une base de données ;
- une application mobile ;
- une synchronisation ;
- une fonction d'importation.
UUID dans les bases de données
Les UUID peuvent être utilisés comme clés primaires ou comme identifiants externes.
Une table utilisateur peut par exemple contenir :
id
name
email
created_at
avec :
id = 550e8400-e29b-41d4-a716-446655440000
Cette approche permet d'éviter de rendre les identifiants purement séquentiels.
Elle peut également être utile lorsque plusieurs systèmes doivent générer des identifiants indépendamment.
UUID et bases de données distribuées
Dans une architecture distribuée, plusieurs services peuvent créer des données simultanément.
Avec un identifiant auto-incrémenté, il faut généralement gérer une séquence commune ou une stratégie de répartition.
Avec des UUID correctement générés, chaque service peut produire ses propres identifiants.
Cela est particulièrement intéressant pour :
- les microservices ;
- les applications décentralisées ;
- les architectures multi-serveurs ;
- les applications mobiles ;
- les systèmes fonctionnant temporairement hors connexion.
UUID dans les API REST
Les UUID sont très courants dans les URL d'API.
Par exemple :
/users/550e8400-e29b-41d4-a716-446655440000
ou :
/orders/7f5c3e21-2a44-4f8e-b7d1-123456789abc
L'API peut utiliser l'UUID pour identifier directement la ressource demandée.
Cela évite notamment de dépendre uniquement d'un compteur numérique global.
UUID dans Laravel et PHP
Les UUID sont également très utiles dans les applications Laravel et PHP.
Une application peut utiliser un UUID pour identifier :
- un utilisateur ;
- un modèle Eloquent ;
- une commande ;
- une facture ;
- une ressource API ;
- un fichier ;
- un événement.
Selon la version du framework et la conception de l'application, Laravel fournit différentes possibilités pour travailler avec des identifiants UUID et ULID.
Lors du développement, un générateur UUID permet surtout de créer rapidement des valeurs pour tester les modèles, les API et les migrations.
UUID et sécurité
Un UUID n'est pas automatiquement un secret.
C'est une distinction importante.
Un identifiant comme :
550e8400-e29b-41d4-a716-446655440000
peut être difficile à deviner selon la manière dont il a été généré, mais cela ne signifie pas qu'il doit être considéré comme un mot de passe, une clé privée ou un token d'authentification.
Il ne faut donc pas utiliser un UUID comme remplacement automatique d'un mécanisme d'authentification sécurisé.
Pour les secrets, tokens et clés cryptographiques, utilisez les mécanismes cryptographiques adaptés à votre besoin.
UUID v4 et hasard
UUID v4 dépend de valeurs aléatoires ou pseudo-aléatoires. La RFC 9562 fournit des recommandations concernant la génération de ces valeurs.
Pour une utilisation de sécurité, il faut donc s'assurer que l'implémentation utilise une source d'aléa appropriée.
Un simple générateur pseudo-aléatoire mal conçu ne doit pas être utilisé pour créer des secrets de sécurité.
UUID et confidentialité
Les différentes versions d'UUID ne fournissent pas toutes les mêmes propriétés.
Il faut notamment éviter de considérer tous les UUID comme interchangeables.
Un UUID basé sur le temps peut révéler certaines informations liées à sa génération, tandis qu'un UUID v4 est conçu autour de valeurs aléatoires.
UUID v7, quant à lui, intègre explicitement une composante temporelle basée sur l'Unix Epoch en millisecondes.
Le choix de la version doit donc tenir compte de ce que vous souhaitez exposer ou conserver dans l'identifiant.
UUID et performances des bases de données
Le choix entre UUID et identifiant numérique peut également avoir des conséquences sur :
- la taille des index ;
- les performances d'insertion ;
- l'ordre des valeurs ;
- la fragmentation ;
- le stockage ;
- les jointures.
Il ne faut donc pas choisir un UUID uniquement parce qu'il est plus moderne.
Pour une petite application, un entier auto-incrémenté peut être parfaitement adapté.
Pour une architecture distribuée ou un système nécessitant des identifiants générés indépendamment, les UUID peuvent apporter des avantages importants.
Pour les systèmes modernes nécessitant à la fois unicité distribuée et ordre temporel, UUID v7 mérite particulièrement d'être étudié.
UUID, GUID et ULID : quelle différence ?
Ces termes sont souvent mélangés.
UUID
UUID signifie :
Universally Unique Identifier
C'est le terme standard utilisé par les spécifications UUID.
GUID
GUID signifie :
Globally Unique Identifier
Le terme est notamment associé à l'écosystème Microsoft.
Dans de nombreux contextes, GUID et UUID désignent des identifiants de même famille ou une représentation compatible, même si les contextes historiques et certaines conventions diffèrent.
ULID
ULID signifie :
Universally Unique Lexicographically Sortable Identifier
Il s'agit d'un autre format d'identifiant conçu notamment pour être facilement triable sous forme textuelle.
ULID et UUID ne sont donc pas exactement la même chose.
Dans un nouveau projet, il faut choisir le format en fonction des besoins de l'application, de la base de données et des bibliothèques utilisées.
UUID avec ou sans tirets ?
La représentation standard d'un UUID utilise des tirets :
550e8400-e29b-41d4-a716-446655440000
Mais certaines applications préfèrent une représentation compacte :
550e8400e29b41d4a716446655440000
Le choix dépend principalement du système qui consomme la valeur.
Si une API ou une base de données attend le format standard, conservez les tirets.
Si votre système attend exactement 32 caractères hexadécimaux, utilisez la représentation sans tirets.
Quand utiliser UUID Generator ?
Le générateur UUID est utile pour de nombreuses tâches :
- créer des identifiants pour une base de données ;
- préparer des données de test ;
- tester une API ;
- générer des identifiants pour des fixtures ;
- créer des valeurs pour des migrations ;
- préparer des données JSON ;
- tester une application mobile ;
- créer des identifiants pour des fichiers ;
- travailler sur un système distribué ;
- générer rapidement plusieurs UUID.
Il est particulièrement pratique lorsque vous avez besoin d'un grand nombre d'identifiants sans vouloir écrire un script.
Pourquoi utiliser un générateur UUID en ligne ?
Vous pourriez évidemment générer un UUID directement dans votre langage de programmation.
Par exemple, de nombreuses bibliothèques PHP, JavaScript, Python, Java, Go ou autres disposent de fonctions permettant de générer des UUID.
Mais pour un test rapide, il n'est pas toujours nécessaire d'écrire du code.
Un générateur en ligne permet de :
- choisir la version ;
- choisir la quantité ;
- choisir la casse ;
- choisir le format ;
- définir le séparateur ;
- générer immédiatement les valeurs.
C'est particulièrement pratique lorsqu'il s'agit simplement de préparer des données ou de vérifier un comportement.
FAQ sur les UUID
Que signifie UUID ?
UUID signifie Universally Unique Identifier, soit identifiant universellement unique.
Combien de caractères possède un UUID ?
La représentation standard contient 32 caractères hexadécimaux, généralement écrits avec 4 tirets, pour un total de 36 caractères dans la forme textuelle classique.
Combien de bits contient un UUID ?
Un UUID contient 128 bits, soit 16 octets.
Quelle version UUID choisir ?
Pour un usage général, UUID v4 est un choix courant.
Pour un système moderne dans lequel l'ordre temporel des identifiants est intéressant, UUID v7 peut être particulièrement adapté.
UUID v1 peut rester pertinent pour certains besoins de compatibilité ou architectures existantes.
Quelle est la différence entre UUID v4 et UUID v7 ?
UUID v4 est conçu autour de données aléatoires ou pseudo-aléatoires.
UUID v7 intègre un timestamp Unix en millisecondes dans les bits les plus significatifs, ce qui lui donne une propriété d'ordonnancement temporel.
Peut-on générer plusieurs UUID à la fois ?
Oui. Le générateur UUID de PleaseTools permet de définir une quantité d'UUID à générer.
Peut-on choisir les majuscules ou minuscules ?
Oui. Le générateur permet de choisir la casse de la représentation des UUID.
Peut-on supprimer les tirets d'un UUID ?
Oui. Les options avancées permettent de contrôler la conservation des tirets.
Peut-on ajouter des accolades ?
Oui. Le générateur propose une option permettant d'ajouter des accolades autour des UUID.
Un UUID peut-il remplacer un mot de passe ?
Non.
Un UUID est un identifiant. Il ne doit pas être considéré automatiquement comme un secret ou un mécanisme d'authentification.
Un UUID est-il toujours unique ?
Il est conçu pour rendre les collisions extrêmement improbables lorsque les UUID sont générés correctement, mais le concept d'« unicité » ne doit pas être interprété comme une garantie mathématique absolue.
Générez vos UUID gratuitement avec PleaseTools
Que vous développiez une API, une application Laravel, une application mobile, un service Web ou une base de données, les UUID sont un moyen pratique de créer des identifiants distribués.
Avec UUID Generator de PleaseTools, vous pouvez générer plusieurs UUID en quelques secondes et choisir entre les versions v1, v4 et v7.
Vous pouvez également personnaliser :
- la quantité ;
- la casse ;
- le format ;
- les tirets ;
- les accolades ;
- le séparateur.
Pour un identifiant généraliste, UUID v4 constitue souvent un choix simple et efficace. Pour les architectures modernes où l'ordre temporel des identifiants est intéressant, UUID v7 mérite particulièrement votre attention.
Besoin de plusieurs identifiants uniques pour vos tests ou votre application ? Utilisez UUID Generator de PleaseTools.