Outils Développeur

Validateur de Numéro de Carte Bancaire | Algorithme de Luhn

Saisissez un numéro de carte bancaire pour vérifier sa clé de contrôle avec l'algorithme de Luhn et détecter automatiquement la marque (Visa, Mastercard, Amex, etc.). Pratique pour tester la validation de formulaires.

[[ labels.client_side_note ]]


[[ labels.format_error ]]
[[ labels.sample_label ]]:
[[ labels.no_input ]]

[[ labels.result_label ]]

[[ labels.formatted_label ]] [[ result.formatted ]]
[[ labels.brand_label ]] [[ brandName ]] [[ labels.brand_unknown ]]
[[ labels.checksum_label ]] ✓ [[ labels.checksum_valid ]] ✗ [[ labels.checksum_invalid ]]

Marques prises en charge et règles de détection (IIN et longueur)

Marque Chiffres de tête (IIN) Longueur
Visa 4 13, 16, 19
Mastercard 51–55, 2221–2720 16
American Express 34, 37 15
Discover 6011, 65 16
JCB 3528–3589 16
Diners Club 300–305, 36, 38 14
UnionPay 62 16–19

Astuces

  • Essayez les boutons d'exemple avec des numéros de test connus (ex. Visa : 4111 1111 1111 1111) plutôt qu'un numéro réel.
  • Les espaces et tirets sont supprimés automatiquement, vous pouvez donc coller un numéro copié depuis n'importe où.
  • Cet outil ne vérifie que le format via l'algorithme de Luhn. Pour une autorisation réelle ou une consultation de solde, utilisez l'API de votre prestataire de paiement.
  • Lors du développement d'une validation de formulaire, utilisez cet outil pour générer un cas valide et un cas invalide afin de tester votre logique.

Questions Fréquentes

Non. Cet outil effectue uniquement une vérification de format via l'algorithme de Luhn : il ne peut pas dire si la carte existe réellement, a été désactivée, ou dispose d'un solde suffisant. Une autorisation réelle nécessite les systèmes de votre prestataire de paiement.

Le numéro n'est jamais envoyé à un serveur : tout le calcul s'effectue dans le JavaScript de votre navigateur. Si vous souhaitez simplement tester l'outil, nous recommandons toutefois d'utiliser l'un des numéros de test fournis plutôt qu'une carte réelle.

C'est un algorithme de détection d'erreurs conçu en 1954 par Hans Peter Luhn, d'IBM. En partant de la droite, un chiffre sur deux est doublé, et si la somme totale est un multiple de 10, le format est considéré comme valide. Il détecte la plupart des erreurs de frappe.

Elle se base sur les premiers chiffres (l'Issuer Identification Number) combinés à la longueur totale. Par exemple, les numéros Visa commencent par « 4 » et comptent 13, 16 ou 19 chiffres, Mastercard commence par « 51-55 » et compte 16 chiffres, tandis que JCB commence par « 3528-3589 » et compte également 16 chiffres, selon des règles publiques. Le tableau « Marques prises en charge et règles de détection (IIN et longueur) » en bas de la page détaille l'ensemble de ces correspondances.

Non. Réussir la vérification de Luhn confirme seulement que le numéro est cohérent en tant que format. Même un numéro à 16 chiffres inventé peut être ajusté sur son dernier chiffre pour passer la vérification.
ツールくん

Anecdote — Hans Peter Luhn, le Père de la Clé de Contrôle

La clé de contrôle située à la fin d'un numéro de carte bancaire est vérifiée grâce à un algorithme conçu en 1954 par l'ingénieur d'IBM Hans Peter Luhn. Il en obtint le brevet en 1960, mais celui-ci a expiré depuis longtemps : l'algorithme est aujourd'hui libre d'utilisation pour tous.

Le mécanisme est étonnamment simple. En partant du chiffre le plus à droite, un chiffre sur deux est doublé ; si le résultat comporte deux chiffres, on les additionne entre eux (par exemple 8×2=16 → 1+6=7). Si la somme de tous les chiffres est un multiple de 10, le numéro est considéré comme formellement valide.

Cet algorithme est utilisé bien au-delà des cartes bancaires : il détecte aussi les erreurs de frappe dans les numéros IMEI (qui identifient les smartphones) ou les numéros d'assurance sociale canadiens. Il faut garder à l'esprit que Luhn détecte uniquement les erreurs de saisie accidentelles ; il ne dit rien sur l'existence réelle de la carte ni sur son solde.

Les 6 à 8 premiers chiffres d'un numéro de carte forment l'IIN (Issuer Identification Number), qui identifie le réseau de la carte et la banque émettrice. La détection de marque de cet outil repose sur les plages d'IIN publiquement documentées pour chaque réseau.