Générateur chiffres contrôle IBAN
Le pays DE, le code banque 37040044 et le compte 0532013000 donnent les chiffres de contrôle 89 et l'IBAN DE89370400440532013000. Composez un IBAN complet avec les données nationales pour la paie, un fichier SEPA ou un formulaire, avec alerte si la longueur ne colle pas. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Pays
- DE
- Banque
- 37040044
- Compte
- 0532013000
- BBAN
- 370400440532013000
- Chiffres de contrôle
- 89
- IBAN
- DE89370400440532013000
- IBAN formaté
- DE89 3704 0044 0532 0130 00
Les paiements internationaux, les fichiers de paie et les formulaires d’inscription ont souvent besoin d’un IBAN complet avant que la contrepartie ne voie le numéro. Les banques émettent des détails domestiques sous forme de code banque plus numéro de compte ; les deux chiffres de contrôle ISO 13616 placés après le code pays ne s’inventent pas facilement à la main. Ce générateur de chiffres de contrôle IBAN accepte un code pays de deux lettres, un identifiant de banque et un numéro de compte, construit le BBAN, le réordonne avec le pays et un marqueur de zéros, puis applique l’algorithme ISO 7064 mod 97-10 utilisé par tous les registres SEPA et IBAN. Vous recevez l’IBAN compact, la forme groupée avec espaces, les deux chiffres de contrôle, le BBAN et un court rapport des parties mal formées, par exemple une longueur officielle incorrecte pour ce pays.
Comment les chiffres de contrôle IBAN se calculent à partir du pays, de la banque et du compte
Un IBAN commence toujours par un code pays de deux lettres, puis deux chiffres de contrôle décimaux, puis un Basic Bank Account Number (BBAN) propre au pays. Cet outil n’invente pas le BBAN : vous fournissez les pièces domestiques — en général un code banque ou sort code et un numéro de compte — et elles sont concaténées après suppression des espaces et tirets.
ISO 13616 réordonne ensuite la chaîne pour le contrôle : place le code pays et les deux positions de contrôle à la fin, met des zéros dans ces positions, mappe chaque lettre de A à Z vers les valeurs dix à trente-cinq, puis réduit la chaîne de chiffres obtenue modulo quatre-vingt-dix-sept. La valeur de contrôle officielle est quatre-vingt-dix-huit moins ce reste, écrite en deux chiffres de zéro-zéro à quatre-vingt-dix-huit. Réassembler pays, ces deux chiffres et le BBAN produit l’IBAN complet.
Un exemple allemand bien connu est pays DE, banque trois-sept-zéro-quatre-zéro-zéro-quatre-quatre, compte zéro-cinq-trois-deux-zéro-un-trois-zéro-zéro-zéro, qui donne les chiffres quatre-vingt-neuf et l’IBAN DE89370400440532013000. Valider un IBAN déjà formé est le contrôle inverse : réordonner et exiger un reste égal à un. La génération n’a pas besoin d’accès réseau à un annuaire bancaire ; seulement des composants domestiques corrects pour la structure de ce pays.
Contrat d’entrée, champs de réponse et signalement des parties mal formées
Le pays doit se normaliser en exactement deux lettres A–Z. Banque et compte doivent se normaliser en chaînes non vides A–Z et de zéro à neuf après suppression des espaces, tirets, underscores et points ; les lettres passent en majuscules. La longueur combinée du BBAN doit rester dans trente caractères afin que l’IBAN final respecte la limite mondiale de trente-quatre.
Le tableau malformed liste des problèmes lisibles qui n’ont pas bloqué le checksum : par exemple une longueur générée qui ne correspond pas au registre pour DE ou GB, ou un pays hors de ce registre. L’entrée invalide n’est pas facturée. Associez ce générateur à un validateur IBAN distinct si vous devez revérifier une chaîne qui inclut déjà les chiffres de contrôle.
Cas d’usage
Préparation de fichiers SEPA et de paie
Transformez les colonnes ERP de code banque et de compte en IBAN complets avec les bons chiffres de contrôle mod 97-10 avant de générer des lots de virement ou de prélèvement.
Formulaires d’onboarding de paiements
Prévisualisez un IBAN compact et groupé à partir du pays, de la banque et du compte pour que l’utilisateur confirme le numéro avant les rails de paiement en production.
Oracles QA pour le code de paiement
Figez des vecteurs connus comme DE89370400440532013000 en CI afin que l’assemblage IBAN et la logique des chiffres de contrôle ne dérivent pas entre services.
Questions fréquentes
Quel algorithme utilisez-vous pour les deux chiffres de contrôle ?
ISO 7064 MOD 97-10 tel que spécifié pour l’IBAN dans ISO 13616 : réordonnez BBAN + country + 00, mappez les lettres A–Z vers 10–35, prenez 98 moins (valeur mod 97).
Que signifie le tableau malformed ?
Des problèmes souples qui permettent encore un checksum : longueur officielle incorrecte pour un pays connu, ou pays hors du registre de longueurs intégré.
Est-ce la même chose que valider un IBAN déjà existant ?
Non. Cette capacité génère les chiffres de contrôle et un IBAN complet à partir de pièces. Pour valider une chaîne IBAN complète, utilisez une capacité de validation IBAN dédiée.
Pourquoi une alerte signale-t-elle une longueur incorrecte pour mon pays ?
Chaque pays fixe la longueur de son IBAN ; en Allemagne, elle est de 22 caractères. Si le code banque et le compte n'atteignent pas cette longueur, les chiffres de contrôle sont quand même calculés, mais l'alerte indique que les éléments nationaux sont sans doute incomplets ou mal placés.
Un IBAN généré prouve-t-il que le compte existe ?
Non. L'outil se contente de calculer à partir des éléments saisis et ne consulte jamais d'annuaire bancaire. Si le code banque ou le numéro de compte est faux, vous obtenez un IBAN correctement calculé pour un compte qui n'existe peut-être pas.
Outils associés
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/iban-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"country":"DE","bank":"37040044","account":"0532013000"}'const res = await fetch("https://api.kit.forhosting.com/enc/iban-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"country": "DE",
"bank": "37040044",
"account": "0532013000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/iban-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"country": "DE",
"bank": "37040044",
"account": "0532013000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/iban-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"country":"DE","bank":"37040044","account":"0532013000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"country":"DE","bank":"37040044","account":"0532013000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/iban-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"country": "DE",
"bank": "37040044",
"account": "0532013000"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.iban_generate",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Contrat d’entrée, champs de réponse et signalement des parties mal formées
Envoyez un corps JSON avec trois champs obligatoires : country (alias country_code, cc, nation), bank (alias bank_code, bank_id, sort_code, bic_bank) et account (alias account_number, acct, account_no, iban_account). En succès le corps inclut country, bank, account, bban, check_digits, iban, iban_formatted (groupes de quatre), length, algorithm à iso13616_mod97_10 et, si le pays figure dans la table des longueurs officielles, expected_length et length_ok. Les échecs durs — champs manquants, déchets non alphanumériques, pays qui n’est pas deux lettres — lèvent invalid_input et nomment la partie mal formée dans le message pour que le client mette en évidence le bon contrôle du formulaire.
Où un générateur de chiffres de contrôle IBAN apporte une vraie valeur
Les flux d’onboarding SaaS collectent pays, banque et compte dans des champs séparés et doivent afficher un IBAN de prévisualisation avant que l’utilisateur confirme le profil de paiement. Les suites QA et de régression ont besoin d’un oracle déterministe pour des vecteurs connus comme l’échantillon allemand DE89, afin que la CI échoue si quelqu’un modifie la boucle mod-97. Les équipes finance et opérations construisent des fichiers de virement SEPA à partir d’exports ERP qui stockent encore des colonnes domestiques banque et compte ; calculer les chiffres de contrôle dans une petite API de parse évite d’embarquer une bibliothèque bancaire complète dans chaque worker. Comme l’implémentation est parse pur de niveau A, chaque appel réussi coûte le prix de base publié $0.002, sans jetons de modèle et sans réseau sortant. Gardez les requêtes petites, figez l’iban et les check_digits renvoyés dans les tests, et traitez les avertissements de longueur mal formée comme des signaux souples indiquant que la composition domestique peut ne pas coller à la mise en page BBAN du pays même si le calcul est correct.
Questions techniques
Comment générer les chiffres de contrôle IBAN à partir du pays, de la banque et du compte ?
Envoyez country (deux lettres), bank et account. L’API construit le BBAN, applique ISO 13616 mod 97-10 et renvoie check_digits ainsi que les chaînes iban et iban_formatted complètes.
Combien coûte le générateur de chiffres de contrôle IBAN ?
L’outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; l’entrée invalide n’est pas facturée.