Générateur d'UUID

Générez des UUID aléatoires v4 instantanément.

Ce qu'est un UUID v4

Un UUID (identifiant universellement unique) est une valeur de 128 bits ecrite sous forme de 32 chiffres hexadecimaux dans un motif 8-4-4-4-12, comme f47ac10b-58cc-4372-a567-0e02b2c3d479. Les UUID de version 4 sont aleatoires : sur les 128 bits, 122 proviennent d'une source aleatoire cryptographiquement sure, tandis que 6 sont fixes par la spec — le 4 qui commence le troisieme groupe marque la version, et le premier caractere du quatrieme groupe est toujours 8, 9, a ou b (les bits de variante). Cela laisse 2¹²² ≈ 5,3 × 10³⁶ valeurs possibles, ce qui explique pourquoi personne ne coordonne les UUID et que les collisions ne se produisent malgre tout jamais en pratique.

Generation en masse, vraiment aleatoire

Definissez un nombre de 1 a 50 et cliquez sur Generer ; Tout copier place le lot dans votre presse-papiers, un UUID par ligne, pret a coller dans un script de peuplement SQL, un fichier de fixtures ou une colonne de tableur. Chaque UUID provient du crypto.randomUUID() natif du navigateur — une API adossee a un CSPRNG, pas Math.random(). Cette distinction compte : Math.random() est assez previsible pour que des "UUID" construits a partir de lui puissent entrer en collision ou etre devines ; la source Web Crypto, non.

Ou les UUID battent les ID auto-incrementes

  • Systemes distribues : n'importe quel client ou service peut creer un ID sans aucune coordination — pas de compteur central, pas d'aller-retour vers la base de donnees.
  • Fusion de donnees : des lignes creees hors ligne ou dans des bases distinctes peuvent etre combinees sans conflit d'ID.
  • References non devinables : les ID sequentiels divulguent de l'information (/invoice/1041 invite a sonder /invoice/1042) ; les UUID aleatoires ne s'enumerent pas. Ils sont indevinables, mais — ce n'est pas un substitut a de vraies verifications d'autorisation.
  • Generes avant l'insertion : votre code connait l'ID avant que la ligne n'existe, ce qui simplifie le lien entre enregistrements associes dans une seule transaction.

Notes pratiques et pieges

  • Stockage : un UUID fait 16 octets en tant que colonne native UUID/binaire mais 36 octets en texte — preferez le type natif dans Postgres ou MySQL 8.
  • Localite d'index : les valeurs v4 aleatoires se dispersent dans un index B-tree, ce qui peut ralentir les tres grandes tables a fortes insertions. L'UUID v7 (ordonne par le temps) resout cela ; v4 reste le bon choix par defaut pour un usage general.
  • Casse : la forme canonique est en minuscules, et les comparaisons doivent etre insensibles a la casse.
  • UUID = GUID : le terme de Microsoft pour le meme format de 128 bits.

La generation tourne entierement dans votre navigateur — aucun serveur ne voit ni ne journalise jamais les identifiants, ils sont donc surs a utiliser directement dans des donnees de production. Besoin de secrets aleatoires plutot que d'ID ? Utilisez le generateur de mots de passe. Vous voulez plutot une empreinte de contenu existant ? C'est le generateur de hash.

Foire aux questions

Qu'est-ce qu'un UUID ?
Un identifiant de 128 bits ecrit sous forme de 32 chiffres hexadecimaux (motif 8-4-4-4-12). Les UUID de version 4 contiennent 122 bits aleatoires, donnant environ 5,3 × 10³⁶ valeurs possibles — uniques en pratique sans aucune coordination centrale.
Ces UUID sont-ils vraiment uniques ?
Statistiquement, oui. Il faudrait generer environ un milliard d'UUID par seconde pendant 85 ans pour atteindre ne serait-ce qu'une chance sur deux d'une collision. Chaque ID ici provient d'une source aleatoire cryptographiquement sure.
Puis-je generer plusieurs UUID a la fois ?
Oui — definissez le nombre (1 a 50), cliquez sur Generer, et utilisez Tout copier pour recuperer le lot entier, un UUID par ligne, pour des scripts de peuplement ou des tableurs.
Pourquoi le troisieme groupe commence-t-il toujours par 4 ?
Ce chiffre est le champ de version — 4 signifie "genere aleatoirement". Le premier caractere du quatrieme groupe est toujours 8, 9, a ou b, ce qui encode la variante de l'UUID. Les 122 bits restants sont aleatoires.
Dois-je utiliser des UUID comme cles primaires de base de donnees ?
Ils sont excellents pour les systemes distribues et les references non devinables. Stockez-les dans une colonne native UUID/binaire (16 octets, pas 36 octets de texte), et pour des tables a tres fortes insertions envisagez l'UUID v7 ordonne par le temps pour une meilleure localite d'index.