FreeToGenerate.com

Vérifiez un ISIN, suivez le calcul de la clé de contrôle et découvrez la faute de frappe à laquelle la norme est aveugle. Rien n'est envoyé.

Douze caractères. Les espaces et les tirets sont ignorés, et les minuscules passent.

Essayez

La clé de contrôle correspond

Préfixe
GBUnited Kingdom
Numéro national
000263494
Clé de contrôle
6

Ce sur quoi la clé est calculée

1611000263494

Chaque lettre devient deux chiffres, de A valant 10 à Z valant 35, et le calcul de Luhn porte là-dessus. C'est pourquoi l'arithmétique ne semble jamais correspondre au code que vous avez saisi.

Ce code a un jumeau indétectable

BG0002634946 est également valide, et c'est Bulgaria.

Intervertir les deux premières lettres ne peut jamais changer la clé de contrôle : aucune validation ne détectera donc cette faute de frappe précise. Ce n'est pas une faiblesse de cet outil, c'est de l'arithmétique, expliquée plus bas.

Toutes les paires de préfixes interchangeables sans être détectées

Les deux membres de chaque paire existent réellement, si bien qu'un préfixe interverti n'a pas l'air faux. Ce sont les échanges auxquels la clé est aveugle par construction. Quarante-trois sont des paires de codes pays ISO 3166 ; la ligne supplémentaire est XS, le préfixe des euro-obligations, qui inversé donne Saint-Martin.

CodesLieux
AG / GAAntigua & Barbuda / Gabon
AL / LAAlbania / Laos
AM / MAArmenia / Morocco
AQ / QAAntarctica / Qatar
AS / SAAmerican Samoa / Saudi Arabia
AU / UAAustralia / Ukraine
AZ / ZAAzerbaijan / South Africa
BG / GBBulgaria / United Kingdom
BL / LBSt. Barthélemy / Lebanon
BS / SBBahamas / Solomon Islands
CL / LCChile / St. Lucia
CM / MCCameroon / Monaco
CN / NCChina / New Caledonia
CV / VCCape Verde / St. Vincent & Grenadines
DM / MDDominica / Moldova
EG / GEEgypt / Georgia
ER / REEritrea / Réunion
ES / SESpain / Sweden
FM / MFMicronesia / St. Martin
GM / MGGambia / Madagascar
GN / NGGuinea / Nigeria
GP / PGGuadeloupe / Papua New Guinea
GS / SGSouth Georgia & South Sandwich Islands / Singapore
GT / TGGuatemala / Togo
GU / UGGuam / Uganda
HK / KHHong Kong SAR China / Cambodia
HM / MHHeard Island & McDonald Islands / Marshall Islands
HT / THHaiti / Thailand
IL / LIIsrael / Liechtenstein
IN / NIIndia / Nicaragua
IS / SIIceland / Slovenia
KM / MKComoros / North Macedonia
KP / PKNorth Korea / Pakistan
LS / SLLesotho / Sierra Leone
LT / TLLithuania / Timor-Leste
MO / OMMacao SAR China / Oman
MP / PMNorthern Mariana Islands / St. Pierre & Miquelon
MS / SMMontserrat / San Marino
MT / TMMalta / Turkmenistan
MU / UMMauritius / U.S. Outlying Islands
MZ / ZMMozambique / Zambia
NP / PNNepal / Pitcairn Islands
RS / SRSerbia / Suriname
SX / XSSint Maarten / Euroclear or Clearstream

Aussi disponible en : English · Español · Português · العربية

Validateur ISIN

Validez un ISIN selon la norme ISO 6166, voyez l'arithmétique derrière la clé de contrôle et trouvez la transposition qu'aucune clé ne peut détecter.

Ce qu'est un ISIN

Un ISIN est le code de douze caractères qui identifie un titre précis dans le monde entier. Il est défini par la norme ISO 6166 et comporte trois parties : un préfixe de deux lettres, un numéro national de neuf caractères attribué par l'agence de codification locale, et une unique clé de contrôle à la fin.

Le préfixe est presque toujours un code pays ISO 3166 : une action américaine commence par US, une britannique par GB. Il existe quelques exceptions réservées, et l'importante est XS, utilisée pour les titres internationaux dénoués via Euroclear ou Clearstream. La plupart des euro-obligations la portent, si bien qu'un validateur exigeant un pays en préfixe se trompe sur une large part du marché.

La clé de contrôle est l'algorithme de Luhn, celui des numéros de carte bancaire. Mais il ne s'applique pas à l'ISIN tel qu'on le lit. Chaque lettre est d'abord remplacée par deux chiffres, de A valant 10 à Z valant 35, et la somme de Luhn porte sur cette chaîne étendue. Le US0378331005 d'Apple devient 3028037833100 avant la moindre addition, et c'est pourquoi le calcul ne semble jamais correspondre au code que vous avez sous les yeux.

Comment s'en servir

  1. Collez ou saisissez l'ISIN. Espaces, tirets et minuscules passent sans problème. Douze caractères est la seule exigence.
  2. Lisez le détail. Il nomme le préfixe, isole le numéro national et affiche la chaîne de chiffres étendue sur laquelle la clé est réellement calculée.
  3. Regardez si votre code a un jumeau. Si intervertir les deux premières lettres donne un autre préfixe réel, l'outil vous montre ce code, car il est valide lui aussi et aucune clé de contrôle au monde ne dira lequel des deux vous vouliez.

La transposition qu'on ne peut jamais détecter

Une clé de contrôle existe pour attraper les fautes de frappe, et la plus courante consiste à intervertir deux caractères voisins. L'ISIN en attrape presque toutes. Il en est une catégorie qu'il n'attrape pas, et l'échec est total plutôt qu'occasionnel.

Intervertir deux lettres voisines ne change jamais la clé de contrôle. Ni rarement, ni presque jamais : jamais. Nous avons essayé plus de dix-huit mille transpositions entre lettres, et toutes sans exception ont produit un code qui reste valide. La raison est arithmétique. Luhn double un chiffre sur deux en partant de la droite, et une lettre occupe exactement deux positions une fois étendue. Déplacer un bloc de deux chiffres de deux positions laisse chacun de ses chiffres du même côté de cette alternance : sa contribution à la somme ne change donc pas, la somme ne change pas, et la clé non plus.

Remarquez maintenant où se trouvent les lettres. Les deux premiers caractères de tout ISIN sont le préfixe pays, et ce sont toujours des lettres. La seule transposition à laquelle ce schéma est structurellement aveugle se trouve donc en tête de chaque code jamais émis. Et comme 43 paires de codes ISO 3166 se trouvent être l'inverse l'une de l'autre, le préfixe corrompu nomme le plus souvent un pays réel plutôt que de ressembler à n'importe quoi.

L'exemple travaillé est un titre réel. GB0002634946 est un instrument britannique, et BG0002634946 reprend les mêmes chiffres sous le préfixe de la Bulgarie. Les deux passent. L'Espagne et la Suède font de même, en ES et SE, ainsi que Hong Kong et le Cambodge, Israël et le Liechtenstein, Malte et le Turkménistan, la Corée du Nord et le Pakistan. La liste complète figure dans le tableau au-dessus de l'article.

Il faut être précis sur le caractère exceptionnel de tout cela. Face aux autres clés, l'ISIN ne laisse passer que 1,90 % des transpositions entre chiffres, et ce sont exactement les échanges de 0 et de 9 que l'algorithme de Luhn a toujours laissés filer. Il laisse passer environ 11 % des échanges entre une lettre et un chiffre, qui déplacent les blocs d'un nombre impair de positions et modifient donc généralement la somme. Le cas lettre contre lettre est celui qui atteint cent pour cent.

Limites assumées, et vérifications

Une clé de contrôle correcte signifie que les douze caractères sont cohérents entre eux. Elle ne signifie pas que le titre existe, qu'il est négociable, ni que le numéro national a jamais été attribué. N'importe qui fabrique un ISIN bien formé en quelques secondes, et cette page fait exactement cela pour ses boutons d'exemple. Aucun registre n'est consulté ici, faute de registre public et gratuit à consulter, et un outil laissant croire le contraire mentirait sur ce qu'il sait.

La clé est également plus faible qu'il n'y paraît face à un seul caractère mal saisi : elle en attrape environ neuf sur dix et laisse filer le reste, ce qui est le comportement ordinaire de toute clé unique modulo dix et non un défaut propre à l'ISIN.

L'implémentation est calée sur cinq ISIN publiés provenant de trois pays plutôt que sur elle-même, et la table des pays est le jeu de données ISO 3166 qui alimente déjà la page des codes pays de ce site, si bien que les préfixes acceptés ici et les codes affichés là-bas ne peuvent pas diverger. Il y a 910 assertions au total. Le résultat lettre contre lettre est vérifié deux fois, une fois en balayant des milliers de codes générés et une fois par l'algèbre qui l'impose, et il s'accompagne d'un contrôle négatif : les échanges entre lettre et chiffre sont détectés dans environ 89 % des cas, sans quoi l'affirmation que tout est préservé vaudrait aussi bien pour une fonction ignorant son entrée.

Un piège à signaler pour qui voudrait l'implémenter soi-même : il est tentant d'aligner le doublement sur les douze caractères d'origine plutôt que sur la chaîne étendue. Cela tombe juste assez souvent pour survivre à des essais rapides et diverge de la norme sur environ neuf ISIN sur dix.

Pourquoi est-ce gratuit ?

Ce sont quelques dizaines de lignes d'arithmétique et une table de correspondance, exécutées dans l'onglet que vous avez déjà ouvert. Aucun serveur ne voit le code que vous tapez : il n'y a donc rien à facturer ni de compte à créer.

Rien de ce que vous saisissez n'est envoyé, conservé ni journalisé. Les portefeuilles et les ordres sont précisément le genre de chose que l'on colle dans un validateur, et cela mérite d'être dit clairement plutôt que supposé.