ForHosting KIT · Outils pour développeurs

Chiffre de contrôle ISIN

Pour le corps US037833100, le chiffre de contrôle est 5, ce qui donne l'ISIN complet US0378331005. Complétez l'identifiant d'un titre avant de l'enregistrer ou de l'imprimer, ou vérifiez un ISIN de 12 caractères reçu dans le fichier d'un partenaire. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Code
US037833100
Vous obtenez
Converti
3028037833100
Mode de calcul
Compute
Entrée
US037833100
Code pays
US

Un International Securities Identification Number (ISIN) est le code de douze caractères qui identifie de façon unique un titre sur les marchés selon la norme ISO 6166. Les deux premiers caractères sont le code pays, les neuf suivants le numéro national d'identification des titres (NSIN), et le douzième est un chiffre de contrôle numérique obtenu en convertissant les lettres en nombres puis en appliquant l'algorithme de Luhn. Cette capacité n'implémente que cette règle officielle : le mode compute accepte exactement onze caractères alphanumériques et renvoie le chiffre de contrôle plus l'ISIN complet de douze ; le mode validate accepte un ISIN complet de douze caractères et indique si le chiffre final correspond à la valeur attendue recalculée.

Comment le chiffre de contrôle Luhn de l'ISIN est calculé

Selon l'ISO 6166, un ISIN comporte toujours douze caractères : deux lettres majuscules pour le pays ou la région d'émission, neuf caractères alphanumériques pour le NSIN (souvent un numéro national complété de zéros, tel qu'un CUSIP ou un SEDOL), et un chiffre final qui est le caractère de contrôle. Pour le calculer, prenez le corps de onze caractères et développez chaque lettre en deux chiffres décimaux selon le mappage fixe A égale dix jusqu'à Z égale trente-cinq, tandis que les chiffres décimaux restent des chiffres uniques.

Le résultat est une chaîne purement numérique dont la longueur dépend du nombre de lettres dans le corps — les codes pays contribuent toujours quatre chiffres car les deux caractères sont des lettres. Appliquez l'algorithme de Luhn classique depuis la droite de cette chaîne développée : doublez chaque second chiffre en commençant par le chiffre du corps le plus à droite, car une fois le chiffre de contrôle ajouté ce chiffre du corps occupe la position deux depuis la droite du numéro complet.

Lorsque le double d'un chiffre est supérieur à neuf, soustrayez neuf (de façon équivalente, additionnez les dizaines et les unités du produit). Additionnez toutes les valeurs pondérées ; le chiffre de contrôle vaut dix moins cette somme modulo dix, modulo dix à nouveau, afin que la séquence complète de chiffres y compris le contrôle ait un total Luhn divisible par dix. La validation recalcule le chiffre attendu à partir des onze premiers caractères et le compare au douzième, qui doit toujours être un chiffre décimal de zéro à neuf.

L'algorithme est déterministe et local : aucun appel à un registre d'émetteurs, aucune horloge, aucun aléa. Cet outil ne résout pas les ISIN en noms, ne gère pas le FIGI ni d'autres identifiants alternatifs, et ne prouve pas qu'un code est actif sur une place — il prouve seulement que la chaîne est bien formée selon la règle Luhn de l'ISO 6166.

Face aux outils Luhn carte ou IMEI, l'intention de recherche ici est étroite : ceux qui ont besoin d'un calculateur de chiffre de contrôle ISIN pour un corps de onze caractères ou d'un vérificateur d'ISIN titres de douze, non d'un outil de paiement ou d'appareil.

Contrat d'entrée, modes et comportement d'erreur

Envoyez un champ code qui, après trim et mise en majuscules, ne contient que les lettres A à Z et les chiffres de zéro à neuf. Une longueur incorrecte est une erreur explicite qui nomme le mode et la longueur envoyée — onze pour compute, douze pour validate — afin que les formulaires clients affichent « onze caractères requis » sans deviner.

Chaînes vides, code manquant, valeurs de mode invalides, douzième caractère non chiffre en validate, et corps qui échoue la forme deux lettres plus neuf alphanumériques échouent avant toute somme Luhn et ne sont pas facturés. Préférez compute lorsque vous créez ou complétez des ISIN pour les données de référence et les étiquettes ; préférez validate lorsque vous conditionnez une transaction, une importation ou une recherche à un ISIN complet provenant d'un utilisateur, d'un fichier partenaire ou d'un flux de marché.

Les tâches de validation qui rejettent une forme incorrecte ne sont pas facturées ; une chaîne bien formée de douze caractères qui a simplement le mauvais chiffre de contrôle renvoie valid false sans lever d'exception.

Où les chiffres de contrôle ISIN s'insèrent dans les flux réels

Émetteurs, agents et agences de numérotation reçoivent des codes nationaux et doivent ajouter le chiffre de contrôle Luhn officiel avant d'imprimer un ISIN sur des prospectus, des opérations sur titres ou des dépôts réglementaires. Les formulaires d'onboarding des courtiers et dépositaires valident les ISIN de douze caractères à l'entrée pour qu'une seule transposition n'ouvre pas une position fantôme ni une instruction de règlement en échec.

Les jobs ETL qui chargent les référentiels d'instruments parcourent chaque colonne ISIN d'un CSV ou d'une définition de sécurité FIX, appellent le mode validate et mettent en quarantaine les lignes où valid est false — capturant à la fois les éditions humaines et les bogues des générateurs.

Ne traitez pas un ISIN qui passe le contrôle comme preuve que le titre est coté, liquide ou libre d'opérations sur titres ; cela prouve seulement que le chiffre Luhn est cohérent avec le pays et le NSIN développés sous les poids standard de l'ISO 6166 pour l'identification internationale des titres.

Auditer les colonnes ISIN dans les inventaires de titres

Validez par lots chaque ISIN de douze caractères dans un CSV middle-office, dépositaire ou données de marché et mettez en quarantaine les lignes dont le chiffre de contrôle ne correspond plus à la valeur attendue recalculée.

Qu'est-ce qu'un chiffre de contrôle ISIN ?

C'est le douzième caractère d'un ISIN, un chiffre de zéro à neuf calculé avec l'algorithme de Luhn après expansion des lettres A–Z en 10–35 sur les onze premiers caractères, afin que les erreurs de saisie et de lecture soient généralement détectées avant le stockage ou la négociation du code.

Que se passe-t-il avec une mauvaise longueur, des tirets ou un contrôle lettre ?

Les tâches de validation en échec de forme ne sont pas facturées.

L'outil de chiffre de contrôle ISIN est-il gratuit ?

L'outil navigateur est gratuit et s'exécute en local.

Comment le chiffre de contrôle ISIN est-il calculé ?

Chaque lettre est remplacée par deux chiffres, de A pour dix à Z pour trente-cinq, et les chiffres restent tels quels. On applique ensuite Luhn depuis la droite : on double un chiffre sur deux en partant du dernier, on retire neuf au-delà de neuf, on additionne et on prend dix moins le reste.

Le numéro national d'un ISIN est-il un code CUSIP ?

Souvent, oui. Les neuf caractères du milieu forment le numéro national, fréquemment un CUSIP ou un SEDOL complété par des zéros, comme 037833100 dans US0378331005.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/isin

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/isin \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code":"US037833100"}'
{
  "code": "US037833100"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.isin",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les entrées non alphanumériques, les longueurs incorrectes et les formes pays ou NSIN mal formées échouent avec invalid_input au lieu d'un nettoyage silencieux, afin que vous ne persistiez jamais un identifiant à moitié nettoyé. La même arithmétique pure s'exécute gratuitement dans le navigateur et au prix API publié, sans appel réseau aux bases d'émetteurs et sans prétendre qu'une somme de contrôle valide signifie que le titre est coté, réglé ou libre d'opérations sur titres.

Contrat d'entrée, modes et comportement d'erreur

Espaces, tirets, symboles et ponctuation sont rejetés comme entrée non alphanumérique avec invalid_input afin qu'une valeur silencieusement tronquée n'atteigne jamais le stockage. Le mode compute est le défaut : le moteur exige exactement onze caractères avec un code pays de deux lettres suivi d'un NSIN alphanumérique de neuf, renvoie check_digit comme chaîne d'un caractère, renvoie with_check comme l'ISIN de douze caractères que vous pouvez imprimer ou persister, et renvoie aussi converted (la chaîne de chiffres développée), country_code et nsin pour les pistes d'audit. Le mode validate exige exactement douze caractères dont le dernier est un chiffre ; la réponse indique valid true lorsque le chiffre final correspond à expected_check_digit recalculé, et inclut toujours payload (les onze premiers caractères), converted, check_digit, expected_check_digit et length douze. Des alias tels que isin, number et text sont acceptés pour le même champ de charge, afin que les intégrations qui parlent déjà « isin » n'aient pas à renommer. Comme le chemin est parse pur sans horloge, source aléatoire ni réseau, le même corps JSON produit toujours le même résultat JSON sur l'outil gratuit du navigateur et sur l'API à $0.002 par requête réussie.

Où les chiffres de contrôle ISIN s'insèrent dans les flux réels

Les équipes middle-office et données statiques recalculent expected_check_digit lorsqu'une contrepartie lit un code au téléphone ou le colle depuis un PDF, capturant les fautes de frappe avant d'enregistrer la transaction sur le mauvais titre. Dans chaque flux le contrat est le même : alphanumérique uniquement, longueur fixe par mode, JSON structuré que vous pouvez tester avec des goldens, comportement identique navigateur gratuit et API prépayée, et invalid_input honnête lorsque la chaîne n'est pas une séquence alphanumérique pure de la bonne forme.

Compléter un corps de 11 caractères pour les données de référence

Appelez le mode compute avec le corps pays+NSIN de onze caractères, stockez with_check et publiez l'ISIN de douze dans le référentiel d'instruments, les prospectus ou les avis d'opérations sur titres.

Valider les ISIN saisis ou importés à l'entrée

Lorsqu'un formulaire, un flux FIX ou un fichier partenaire envoie douze caractères, appelez le mode validate et bloquez l'enregistrement si valid est false, en affichant expected_check_digit pour corriger une seule faute de frappe.

Comment calculer un chiffre de contrôle ISIN avec cette API ?

Envoyez un POST avec code égal à exactement onze caractères alphanumériques (code pays de deux lettres plus NSIN de neuf) et mode compute (ou omettez mode). La réponse inclut check_digit et with_check (l'ISIN complet de douze caractères).

Comment valider un ISIN complet de douze caractères ?

Envoyez un POST avec la chaîne de douze caractères et mode validate. La réponse inclut valid, check_digit, expected_check_digit, payload (caractères sans le dernier) et converted (la chaîne de chiffres développée).

Consulter la documentation complète du KIT →