Clé de contrôle EAN : calcul expliqué, avec un calculateur gratuit

Comment se calcule le 13e chiffre d'un code EAN, comment vérifier n'importe quel GTIN en quelques secondes, et pourquoi une clé de contrôle correcte ne dit rien du propriétaire du code.

En bref

  • La clé de contrôle est le dernier chiffre d'un EAN-13 et se calcule à partir des 12 premiers chiffres.
  • Multipliez les chiffres alternativement par 1 et par 3 depuis la gauche, additionnez-les et prenez ce qu'il manque pour atteindre le multiple de 10 suivant.
  • Pour le GTIN-8, l'UPC-A et le GTIN-14, les pondérations partent de la droite : le chiffre voisin de la clé de contrôle compte toujours trois fois.
  • La clé de contrôle détecte toute erreur sur un seul chiffre et la plupart des inversions, mais pas l'inversion de chiffres qui diffèrent de 5.
  • Une clé de contrôle valide ne prouve que le format ; elle ne dit rien de l'enregistrement, de la propriété ou de l'unicité.

La clé de contrôle EAN est le 13e et dernier chiffre du code EAN-13 imprimé sous un code-barre. Elle est calculée à partir des 12 premiers chiffres, afin que les lecteurs et les logiciels puissent repérer les erreurs de saisie et de lecture. Pour le calcul de la clé de contrôle EAN, multipliez les 12 premiers chiffres alternativement par 1 et par 3 (en commençant par 1 à gauche), additionnez les résultats, puis prenez ce qu'il manque pour atteindre le multiple de 10 suivant : ce nombre, de 0 à 9, est la clé de contrôle.

Voilà toute la méthode, et c'est la même que celle publiée par GS1 pour toutes les longueurs de GTIN. Ce guide la détaille étape par étape avec des exemples entièrement calculés, montre comment les pondérations changent pour le GTIN-8, l'UPC-A (GTIN-12) et le GTIN-14, explique quelles erreurs la clé de contrôle détecte et lesquelles lui échappent, et vous donne des formules à coller directement dans Excel ou Google Sheets. Vous pouvez aussi utiliser le calculateur gratuit ci-dessous pour calculer ou vérifier un code EAN en une seconde.

Une précision avant de commencer, car elle prête souvent à confusion : une clé de contrôle correcte indique qu'un numéro est bien formé. Elle ne dit pas que ce numéro a été attribué à quelqu'un, qu'il est unique ni qu'il vous appartient. Nous y revenons en détail plus bas.

Saisissez les 12 premiers chiffres pour obtenir le 13e, ou les 13 pour vérifier un code.
Saisissez au moins 12 chiffres.

Qu'est-ce que la clé de contrôle d'un code EAN et à quoi sert-elle ?

Un code EAN-13 (aussi appelé GTIN-13, le Global Trade Item Number à 13 chiffres) se compose d'un préfixe entreprise GS1, d'une référence article et d'une clé de contrôle à la fin. Le préfixe et la référence article identifient ensemble le produit. La clé de contrôle n'apporte aucune information sur le produit. Son seul rôle est de protéger les 12 autres chiffres contre les erreurs.

Pensez au nombre de fois où un code produit est recopié, à la main ou par une machine : un vendeur saisit le code dans un fichier d'import pour une marketplace, un préparateur de commandes le tape dans le logiciel de stock quand une étiquette ne passe pas, un outil de flux convertit une colonne de tableur, un lecteur scanne un code-barre sur un sachet froissé. Chacune de ces étapes peut introduire une erreur. Sans clé de contrôle, un numéro erroné paraîtrait aussi plausible que le bon, et l'erreur n'apparaîtrait qu'au moment où le mauvais produit se retrouverait dans une commande.

Avec une clé de contrôle, le système qui reçoit le numéro peut recalculer le dernier chiffre à partir des 12 premiers et comparer. S'ils ne correspondent pas, le numéro est refusé immédiatement. Les lecteurs en caisse le font à chaque bip, ce qui explique qu'un code-barre abîmé ne passe généralement pas, plutôt que d'enregistrer le mauvais produit. Les outils de validation des marketplaces et des flux produits font de même avec les numéros que vous importez. Google, par exemple, demande aux marchands de s'assurer que la clé de contrôle est valide et renvoie vers le calculateur de GS1 pour la vérifier.

Où se trouve la clé de contrôle dans le code

Pour le numéro EAN-13 8712345678906, les éléments sont les suivants :

  • 871234567890 : les 12 premiers chiffres, qui contiennent le préfixe entreprise GS1 (7 à 10 chiffres, commençant par un préfixe GS1 de 2 ou 3 chiffres) et la référence article.
  • 6 : la clé de contrôle, calculée à partir de ces 12 chiffres.

Ce numéro sert tout au long de cet article uniquement à illustrer le calcul. Il ne correspond à aucun produit réel. Si vous voulez comprendre ce que signifient le préfixe et la référence article, et pourquoi les premiers chiffres ne révèlent pas le pays de fabrication d'un produit, lisez notre guide complet du code EAN.

Calcul de la clé de contrôle d'un EAN-13, étape par étape

GS1, l'organisation qui gère le standard GTIN, décrit le calcul comme une méthode modulo 10 avec des pondérations de 1 et 3 (GS1 : calculer une clé de contrôle à la main). « Modulo 10 » signifie simplement que seul compte le reste de la division par 10, c'est-à-dire le dernier chiffre de la somme. Voici les étapes pour un EAN-13.

  1. Notez les 12 premiers chiffres. Laissez de côté la clé de contrôle si vous en avez déjà une, ou partez des 12 chiffres que vous voulez compléter.
  2. Attribuez une pondération à chaque chiffre. En partant de la gauche, le 1er chiffre a la pondération 1, le 2e la pondération 3, le 3e la pondération 1, et ainsi de suite en alternance. Les positions impaires valent 1, les positions paires valent 3.
  3. Multipliez chaque chiffre par sa pondération. Vous obtenez 12 produits.
  4. Additionnez les 12 produits.
  5. Trouvez le multiple de 10 suivant. Arrondissez la somme au multiple de 10 supérieur (si la somme se termine déjà par 0, c'est déjà un multiple de 10).
  6. Soustrayez. Le multiple de 10 suivant moins la somme donne la clé de contrôle. Si la somme se termine déjà par 0, la clé de contrôle est 0.

Un raccourci qui donne le même résultat : prenez le dernier chiffre de la somme et soustrayez-le de 10. Si le résultat est 10, la clé de contrôle est 0. Sous forme de formule : clé de contrôle = (10 − (somme mod 10)) mod 10.

Moyen mnémotechnique : pour un EAN-13, les chiffres en positions 2, 4, 6, 8, 10 et 12 (celui situé juste à gauche de la clé de contrôle, puis un chiffre sur deux avant lui) sont ceux que l'on multiplie par 3. Tous les autres comptent une fois.

Exemples détaillés : calcul complet de la clé de contrôle EAN-13

Le meilleur moyen de faire confiance à la méthode est de la voir fonctionner sur quelques numéros. Chaque exemple ci-dessous a été calculé et vérifié deux fois.

Exemple 1 : 871234567890 devient 8712345678906

PositionChiffrePondérationProduit
18×18
27×321
31×11
42×36
53×13
64×312
75×15
86×318
97×17
108×324
119×19
120×30
Somme114

Le multiple de 10 suivant 114 est 120, et 120 − 114 = 6. La clé de contrôle est 6, donc le code EAN-13 complet est 8712345678906.

Exemple 2 : l'exemple de GS1, 629104150021 devient 6291041500213

GS1 utilise ce numéro sur sa page de calcul manuel. Les chiffres 6 2 9 1 0 4 1 5 0 0 2 1, pondérés 1, 3, 1, 3 et ainsi de suite, donnent les produits 6, 6, 9, 3, 0, 12, 1, 15, 0, 0, 2 et 3. Leur somme est 57. Le multiple de 10 suivant est 60, et 60 − 57 = 3. Le numéro complet est 6291041500213.

Observez le 2 en position 11 et le 1 en position 12 : le 2 est multiplié par 1 et le 1 est multiplié par 3. Les inverser est la cause la plus fréquente d'erreur dans un calcul à la main.

Exemple 3 : un code d'exemple tiré d'un guide de mise en ligne Kaufland, 4006381333931

Un guide de mise en ligne pour Kaufland publié par wisepim utilise 4006381333931 comme exemple d'EAN. Vérifions le dernier chiffre. Les 12 premiers chiffres sont 4 0 0 6 3 8 1 3 3 3 9 3.

  • Positions impaires (pondération 1) : 4 + 0 + 3 + 1 + 3 + 9 = 20
  • Positions paires (pondération 3) : (0 + 6 + 8 + 3 + 3 + 3) × 3 = 23 × 3 = 69
  • Somme : 20 + 69 = 89
  • Multiple de 10 suivant : 90, donc la clé de contrôle est 90 − 89 = 1

Le code se termine par 1 : il est donc valide. Cet exemple montre aussi une astuce pratique pour le calcul mental : additionnez les positions impaires, additionnez les positions paires, multipliez une seule fois le total pair par 3, puis additionnez les deux totaux. C'est le même calcul, avec moins de multiplications.

Exemple 4 : quand la clé de contrôle vaut 0

Prenons les 12 chiffres 501234567890. Les positions impaires donnent 5 + 1 + 3 + 5 + 7 + 9 = 30. Les positions paires donnent 0 + 2 + 4 + 6 + 8 + 0 = 20, et 20 × 3 = 60. Le total est 90, qui est déjà un multiple de 10 : la clé de contrôle est donc 0 et le numéro complet est 5012345678900. On s'attend parfois à obtenir 10 dans ce cas. Ce n'est jamais le cas : une clé de contrôle est toujours un seul chiffre, de 0 à 9.

Exemple 5 : un ISBN-13 utilise exactement la même méthode

Les numéros de livres commençant par 978 ou 979 sont des GTIN-13 de la plage GS1 « Bookland », leur dernier chiffre suit donc la même règle. Pour l'ISBN-13 d'exemple 978030640615, les positions impaires donnent 9 + 8 + 3 + 6 + 0 + 1 = 27 et les positions paires (7 + 0 + 0 + 4 + 6 + 5) × 3 = 22 × 3 = 66. La somme est 93, la clé de contrôle est donc 7 et le numéro est 9780306406157. Rappelons que les ISBN sont attribués par les agences ISBN nationales, et non par GS1 ni par les revendeurs de codes-barres.

Vérifier un code EAN-13 complet en une seule étape

Lorsque vous avez déjà les 13 chiffres et voulez simplement savoir si le numéro est valide, inutile de calculer la clé de contrôle séparément pour la comparer. Il existe un test plus rapide.

  1. Pondérez les 13 chiffres : 1, 3, 1, 3… à partir de la gauche, ce qui signifie que la clé de contrôle elle-même reçoit la pondération 1.
  2. Additionnez les 13 produits.
  3. Si le total se termine par 0 (c'est un multiple de 10), le numéro est valide. S'il se termine par un autre chiffre, il ne l'est pas.

Pour 8712345678906, les 12 premiers chiffres donnent 114 (comme dans l'exemple 1), et la clé de contrôle ajoute 6 × 1 = 6. Le total est 120, qui se termine par 0 : le numéro est valide. Pour 8712345678909, le total serait 114 + 9 = 123, qui se termine par 3 : le numéro est invalide.

C'est exactement ce que fait le calculateur ci-dessus quand vous collez un code complet de 13 chiffres, et c'est ce que font en coulisses les scripts de validation des marketplaces et des solutions e-commerce.

Clé de contrôle du GTIN-8, de l'UPC-A (GTIN-12) et du GTIN-14 : pondérations depuis la droite

Les GTIN existent en quatre longueurs : GTIN-8, GTIN-12, GTIN-13 et GTIN-14. Le flux produits de Google accepte les quatre (aide Google Merchant Center sur le GTIN). Tous utilisent le même calcul modulo 10, mais une règle est souvent mal appliquée quand on passe d'une longueur à l'autre : les pondérations partent de la droite, pas de la gauche.

Le chiffre situé immédiatement à gauche de la clé de contrôle reçoit toujours la pondération 3. En allant vers la gauche, les pondérations alternent 1, 3, 1, 3. Pour un GTIN-13, cela donne 1, 3, 1, 3… depuis la gauche, car il y a 12 chiffres avant la clé de contrôle (un nombre pair). Pour le GTIN-8 et le GTIN-12, il y a un nombre impair de chiffres avant la clé de contrôle (7 et 11) : comptée depuis la gauche, la séquence commence donc par 3. Il en va de même pour le GTIN-14, qui compte 13 chiffres avant la clé de contrôle.

FormatChiffres avant la clé de contrôlePondérations depuis la gaucheUsage courant
GTIN-8 (EAN-8)73, 1, 3, 1, 3, 1, 3Très petits emballages
GTIN-12 (UPC-A)113, 1, 3 … 3Produits aux États-Unis et au Canada
GTIN-13 (EAN-13)121, 3, 1 … 3Produits de consommation hors Amérique du Nord
GTIN-14133, 1, 3 … 3Cartons et autres unités logistiques (ITF-14, GS1-128)

Une règle pour toutes les longueurs : complétez n'importe quel GTIN par des zéros à gauche jusqu'à 14 chiffres, puis pondérez les 13 premiers chiffres 3, 1, 3, 1… depuis la gauche. Les zéros de tête n'ajoutent rien à la somme, le résultat est donc identique pour les GTIN-8, 12, 13 et 14. De nombreux scripts de validation fonctionnent exactement ainsi.

Exemple GTIN-8 : 9638507 devient 96385074

Les pondérations depuis la gauche sont 3, 1, 3, 1, 3, 1, 3. Les produits sont 9×3 = 27, 6×1 = 6, 3×3 = 9, 8×1 = 8, 5×3 = 15, 0×1 = 0 et 7×3 = 21. La somme est 86, le multiple de 10 suivant est 90 et la clé de contrôle est 4. Le GTIN-8 complet est 96385074.

Si vous aviez appliqué par erreur la séquence de l'EAN-13 (1, 3, 1… depuis la gauche), vous obtiendriez un autre chiffre, faux. C'est l'erreur classique avec les codes EAN-8. En pratique, peu de vendeurs en ligne ont besoin d'un EAN-8 : GS1 Nederland n'en attribue que pour certains petits emballages, par exemple lorsque la surface imprimable fait moins de 80 cm², et suggère de réduire un EAN-13 comme alternative (support GS1 NL).

Exemple UPC-A (GTIN-12) : 03600029145 devient 036000291452

Pour les 11 chiffres 0 3 6 0 0 0 2 9 1 4 5, les pondérations depuis la gauche sont 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3. Les positions impaires donnent 0 + 6 + 0 + 2 + 1 + 5 = 14, multiplié par 3 = 42. Les positions paires donnent 3 + 0 + 0 + 9 + 4 = 16. La somme est 42 + 16 = 58, la clé de contrôle est donc 60 − 58 = 2, ce qui donne 036000291452.

Écrivez maintenant le même UPC sous forme d'EAN-13 en ajoutant un zéro devant : 0036000291452. Pondérez les 12 premiers chiffres 1, 3, 1, 3… depuis la gauche : vous obtenez la même somme de 58 et la même clé de contrôle, 2. C'est pourquoi un UPC-A précédé d'un 0 est un GTIN-13 valide, et pourquoi les numéros d'origine américaine commencent par 0 lorsqu'ils sont écrits en EAN-13. La différence entre ces formats est expliquée dans EAN, UPC et GTIN : les différences.

Exemple GTIN-14 : 1871234567890 devient 18712345678903

Les GTIN-14 identifient des unités logistiques comme les cartons de regroupement, généralement imprimées sous forme de code-barre ITF-14 ou GS1-128 (GS1 UK sur les niveaux d'emballage). Uniquement pour illustrer le calcul, prenons les 13 chiffres 1 8 7 1 2 3 4 5 6 7 8 9 0. Avec les pondérations 3, 1, 3… depuis la gauche :

  • Positions impaires (pondération 3) : 1 + 7 + 2 + 4 + 6 + 8 + 0 = 28, multiplié par 3 = 84
  • Positions paires (pondération 1) : 8 + 1 + 3 + 5 + 7 + 9 = 33
  • Somme : 84 + 33 = 117, la clé de contrôle est donc 120 − 117 = 3

Le numéro complet est 18712345678903. Remarquez que sa clé de contrôle (3) diffère de celle de l'EAN-13 pour 871234567890 (6). Modifier le premier chiffre change la somme : un GTIN-14 pour un carton a donc besoin de sa propre clé de contrôle. Les GTIN de cartons sont attribués par le propriétaire de la marque selon les règles GS1 ; ne les inventez donc pas pour de vrais produits.

Compléter un EAN-13 à 14 chiffres

Certains systèmes stockent tous les GTIN dans un champ de 14 chiffres. Dans ces champs, un GTIN-13 reçoit un zéro devant : 8712345678906 devient 08712345678906, comme l'explique GS1 UK pour les champs de code-barre à 14 chiffres. La clé de contrôle reste 6, car un zéro en tête n'ajoute rien à la somme pondérée. Seuls des zéros sont autorisés pour compléter. Tout autre chiffre de tête crée un numéro différent avec une clé de contrôle différente, comme le montre l'exemple GTIN-14.

Quelles erreurs la clé de contrôle détecte-t-elle, et lesquelles lui échappent ?

Les pondérations 1 et 3 ont été choisies pour que les erreurs humaines les plus courantes modifient le dernier chiffre de la somme. Voici ce que cela signifie concrètement.

Un seul chiffre erroné : toujours détecté

Si un seul chiffre est faux, le numéro échoue toujours au contrôle. Remplacez le 5e chiffre de 8712345678906, un 3, par un 8 et vous obtenez 8712845678906. Les 12 premiers chiffres donnent désormais 119 au lieu de 114, la bonne clé de contrôle serait donc 1, et non 6. Le validateur refuse le code. Cela fonctionne pour n'importe quel chiffre erroné, quelle que soit sa position : multiplier la différence par 1 ou par 3 ne peut jamais donner un multiple de 10, sauf si la différence est nulle.

Deux chiffres voisins inversés : presque toujours détecté

Inverser deux chiffres adjacents est une faute de frappe très courante. Inversez les deux derniers chiffres avant la clé de contrôle dans 8712345678906 et vous obtenez 8712345678096. Les 12 premiers chiffres (871234567809) donnent alors une clé de contrôle de 8, et non de 6 : le code est refusé.

Il existe un angle mort. Si les deux chiffres inversés diffèrent d'exactement 5 (0 et 5, 1 et 6, 2 et 7, 3 et 8, 4 et 9), l'inversion n'est pas détectée. Un chiffre passe de la pondération 1 à la pondération 3 et l'autre fait le chemin inverse : la somme varie donc de 2 × 5 = 10, ce qui ne change pas son dernier chiffre. Par exemple, 8712345678500 et 8712345678050 sont tous deux des numéros EAN-13 valides : leurs 12 premiers chiffres donnent 110 et 120, et tous deux ont une clé de contrôle de 0. Si quelqu'un tape l'un à la place de l'autre, aucun validateur ne s'en apercevra.

Erreurs plus importantes : détectées la plupart du temps, pas toujours

Lorsque deux chiffres ou plus sont faux en même temps, ou que des chiffres plus éloignés sont inversés, la clé de contrôle détecte l'erreur dans la plupart des cas, mais pas dans tous. En gros, un numéro erroné pris au hasard a environ une chance sur dix de se terminer par la bonne clé de contrôle, puisqu'il n'existe que dix clés possibles. C'est pourquoi la clé de contrôle est un filet de sécurité contre les petites fautes, et non une garantie qu'un numéro est correct.

Type d'erreurExempleDétectée ?
Un chiffre erroné8712845678906Oui, toujours
Inversion de chiffres voisins dont l'écart n'est pas 58712345678096 (9 et 0 inversés)Oui
Inversion de chiffres voisins dont l'écart est 58712345678050 au lieu de 8712345678500Non
Seule la clé de contrôle est fausse8712345678909Oui, toujours
Plusieurs chiffres erronésQuelconqueGénéralement, pas toujours
Numéro correct, mauvais produitUn code valide d'un autre articleNon, jamais

La dernière ligne est la plus importante pour les vendeurs, et elle mène directement à la section suivante.

Ce qu'une clé de contrôle valide ne prouve pas

En ligne, vous trouverez quantité de « validateurs EAN » qui déclarent un numéro « valide », voire « vérifié ». Dans presque tous les cas, ils n'ont fait que le calcul décrit dans cet article. Google lui-même suggère d'utiliser le calculateur de clé de contrôle de GS1 pour vérifier un GTIN, mais il s'agit d'un contrôle de format. Une coche verte d'un outil de clé de contrôle ne vous apprend rien sur les points suivants.

  • Si le numéro a déjà été attribué. Environ une suite aléatoire de 13 chiffres sur dix se termine par la bonne clé de contrôle. Ces numéros ont un format valide et n'ont peut-être jamais été attribués à personne.
  • À qui appartient le numéro. La clé de contrôle ne contient aucune information sur le propriétaire de la marque, le titulaire de la licence ou l'acheteur.
  • Si le numéro est unique. Un code déjà utilisé pour un autre produit passe le test de la clé de contrôle aussi facilement qu'un code inutilisé.
  • Si le préfixe est autorisé pour des produits. Les plages restreintes et spéciales comme 200–299 (codes internes aux magasins et produits à poids variable), 977 (ISSN), 978–979 (ISBN), 980 (bons de remboursement), ainsi que 981–983 et 99 (coupons) peuvent toutes porter une clé de contrôle valide (liste des préfixes GS1). Google Merchant Center refuse les préfixes 02, 04 et 2 comme plages restreintes, et 05, 98, 99 et 981–984 comme plages de coupons, même lorsque la clé de contrôle est correcte.
  • Si une marketplace l'acceptera. Amazon compare les codes produits avec les données de GS1, et bol.com exige un EAN enregistré auprès de GS1 pour les articles de marque. Une clé de contrôle correcte ne vous permet de passer aucune de ces deux règles. Consultez les codes EAN pour Amazon pour comprendre le fonctionnement de ce contrôle de marque.

Contrôle de format ou consultation d'un registre

Pour en savoir plus sur un numéro que son format, il faut un registre. L'outil de recherche de GS1, Verified by GS1 (gepir.gs1.org y redirige désormais), affiche l'entreprise qui a obtenu le numéro sous licence auprès de GS1, ainsi que les données produit éventuellement saisies par ce titulaire (Verified by GS1). Pour un numéro revendu, il affiche le titulaire initial de la licence, ou aucune donnée produit, et non l'entreprise qui l'utilise aujourd'hui.

GTINcodes.com tient son propre registre, distinct. Chaque code EAN-13 vendu dans nos boutiques est un numéro valide issu du stock de GTINcodes, attribué une seule fois et enregistré au nom de l'acheteur dans le registre GTINcodes, et chacun peut le consulter sur la page de vérification des codes. Ce registre indique à quel client le numéro a été attribué et à quelle date, avec un plan de protection, y compris le nom de l'entreprise de l'acheteur. Il ne s'agit pas d'un enregistrement GS1 et cela ne modifie pas ce qu'affiche Verified by GS1. Si vous devez prouver qu'un code vous appartient lors d'un litige, notre guide pour prouver la propriété d'un code EAN explique quel type de preuve fonctionne et où.

QuestionCalcul de la clé de contrôleVerified by GS1Registre GTINcodes
Le numéro est-il bien formé ?OuiOuiOui
Qui l'a obtenu sous licence auprès de GS1 ?NonOuiNon
Qui l'a acheté chez GTINcodes.com, et quand ?NonNonOui, pour les numéros GTINcodes
Est-il propre à un seul produit ?NonUniquement pour les données publiées par le titulaireAttribué une seule fois par GTINcodes.com
Une marketplace l'acceptera-t-elle ?NonSelon les règles du canalSelon les règles du canal

Calculer la clé de contrôle EAN dans Excel, Google Sheets et en code

Si vous gérez des dizaines ou des centaines de produits, vous voudrez vérifier les codes en masse plutôt qu'un par un. Les formules ci-dessous supposent que le code est stocké au format texte dans la cellule A2, sans espaces ni tirets.

Formule de tableur : calculer le 13e chiffre

Placez les 12 premiers chiffres en A2 et utilisez cette formule en B2 (Excel en français) :

=MOD(10-MOD(SOMMEPROD(--STXT(A2;{1;2;3;4;5;6;7;8;9;10;11;12};1);{1;3;1;3;1;3;1;3;1;3;1;3});10);10)

Elle extrait chacun des 12 caractères avec STXT (MID en anglais), les transforme en nombres grâce au double signe moins, les multiplie par les pondérations 1, 3, 1, 3… avec SOMMEPROD (SUMPRODUCT) et applique la règle du modulo 10 avec MOD (MOD). Pour 871234567890, elle renvoie 6. Dans un tableur en anglais, remplacez les noms de fonctions par leur équivalent anglais et les points-virgules par des virgules. Assemblez ensuite les deux avec =A2&B2 pour obtenir le code complet de 13 chiffres.

Formule de tableur : vérifier un EAN-13 complet

Placez les 13 chiffres complets en A2 :

=ET(NBCAR(A2)=13;MOD(SOMMEPROD(--STXT(A2;{1;2;3;4;5;6;7;8;9;10;11;12;13};1);{1;3;1;3;1;3;1;3;1;3;1;3;1});10)=0)

ET (AND) vérifie à la fois la longueur avec NBCAR (LEN) et la somme pondérée. La formule renvoie VRAI (TRUE) pour 8712345678906, 6291041500213 et 4006381333931, et FAUX (FALSE) pour 8712345678909. Testez la formule sur ces exemples connus avant de vous y fier pour votre propre liste. Les versions de tableur et les paramètres régionaux diffèrent : en français, le séparateur d'arguments est le point-virgule au lieu de la virgule, et les constantes matricielles sont ici écrites avec des points-virgules, ce qui fonctionne pour ce calcul car les deux séries ont la même forme.

Attention aux zéros de tête et à la notation scientifique

Les tableurs sont la première source de codes EAN abîmés. Deux choses tournent mal.

  • Les zéros de tête disparaissent. Saisissez 0036000291452 dans une cellule au format nombre et il devient 36000291452, soit seulement 11 chiffres. Mettez la colonne au format texte avant de coller les codes, ou tapez une apostrophe devant le numéro.
  • Les nombres longs passent en notation scientifique. Un nombre de 13 chiffres peut s'afficher sous la forme 8,71235E+12. Si le fichier est enregistré en CSV dans cet état, les vrais chiffres peuvent être perdus et remplacés par des zéros. Là encore, la solution est de traiter la colonne comme du texte dès le départ.

Après chaque import ou export, appliquez la formule de vérification à toute la colonne. Une colonne de valeurs FAUX se repère bien plus facilement qu'un rapport de refus d'une marketplace une semaine plus tard.

Quelques lignes de Python pour toutes les longueurs de GTIN

Les développeurs peuvent utiliser la règle des « pondérations depuis la droite » pour traiter les quatre longueurs avec une seule fonction :

def check_digit(body):
    total = sum(int(d) * (3 if i % 2 == 0 else 1) for i, d in enumerate(reversed(body)))
    return (10 - total % 10) % 10

Passez-lui les chiffres sans la clé de contrôle : 7 pour un GTIN-8, 11 pour un GTIN-12, 12 pour un GTIN-13 ou 13 pour un GTIN-14. Comme elle commence par le chiffre le plus à droite avec la pondération 3, check_digit("871234567890") renvoie 6, check_digit("9638507") renvoie 4 et check_digit("03600029145") renvoie 2. Pour vérifier un code complet, comparez le résultat à son dernier chiffre. Avant d'appeler la fonction, supprimez espaces et tirets et assurez-vous que l'entrée ne contient que des chiffres.

Les solutions e-commerce qui vérifient pour vous

Certaines plateformes effectuent désormais ce contrôle dès la saisie. La version 2026-10 de l'API Shopify, annoncée le 8 septembre 2026, remplace le champ unique de code-barre des variantes par une liste de 20 identifiants maximum par variante, chacun typé UPC, EAN, ISBN, GTIN ou ASIN et vérifié selon sa norme (journal des modifications Shopify pour les développeurs). Concrètement, un code avec une clé de contrôle erronée, ou un EAN à 13 chiffres saisi comme UPC, peut être refusé au moment où vous enregistrez le produit, plutôt que plus tard dans un flux.

Erreurs de validation EAN fréquentes sur les marketplaces et dans les flux

Lorsqu'un canal refuse un code comme « invalide », la cause est souvent l'un des problèmes ci-dessous. Passez-les en revue dans cet ordre, car les premiers se vérifient en quelques secondes.

1. Le numéro n'a pas la bonne longueur

Un EAN-13 compte exactement 13 chiffres. Comptez-les. Un numéro de 12 chiffres est souvent un UPC-A qui a perdu son zéro de tête, ou un EAN-13 qui a perdu sa clé de contrôle. Un numéro de 11 chiffres est souvent un UPC-A qui a perdu son zéro de tête dans un tableur. Un numéro de 14 chiffres peut être un GTIN-13 complété (un 0 en tête) ou un GTIN-14 de carton qui n'a rien à faire sur une fiche produit destinée aux consommateurs.

2. Un UPC dans un champ EAN, ou l'inverse

Certains formulaires et flux ont des champs distincts pour l'UPC et l'EAN. Un UPC-A de 12 chiffres saisi dans un champ EAN de 13 chiffres a besoin d'un zéro devant pour devenir un GTIN-13. Un EAN de 13 chiffres saisi dans un champ UPC échouera purement et simplement. Placer un EAN de 13 chiffres dans un champ UPC est l'un des problèmes de GTIN les plus courants chez les vendeurs, selon gtin.info, site partenaire de GS1 US.

3. Des caractères cachés

Les espaces, tirets, espaces insécables et la lettre O à la place du chiffre 0 font tous échouer la validation, et certains sont invisibles dans un tableur. Si un code semble correct mais échoue, ressaisissez-le ou nettoyez la colonne avec une formule « chiffres uniquement » avant l'import.

4. La clé de contrôle est vraiment fausse

Si la longueur et les caractères sont corrects, recalculez la clé de contrôle avec le calculateur ci-dessus. Un dernier chiffre faux signale généralement une faute de frappe quelque part dans les 13 chiffres, pas seulement à la fin. Revenez à la source (les données du fournisseur, votre confirmation d'achat ou le code-barre imprimé) au lieu de « corriger » le dernier chiffre pour que le contrôle passe. Modifier la clé de contrôle pour qu'un numéro incorrect paraisse valide crée simplement un autre numéro, tout aussi faux.

5. De mauvaises pondérations dans un outil maison

Si votre propre tableur ou script ne donne pas le même résultat que le calculateur, vérifiez les pondérations. Appliquer 3, 1, 3… depuis la gauche aux 12 chiffres d'un EAN-13 (la séquence du GTIN-12) donne un mauvais résultat : pour 871234567890, on obtient une somme de 126 et une clé de contrôle de 4 au lieu de 6. La solution consiste à faire partir les pondérations de la droite, comme expliqué plus haut.

6. Des préfixes restreints ou spéciaux

Un numéro peut avoir une clé de contrôle parfaite et être tout de même refusé à cause de son préfixe. Les numéros commençant par 2 (codes magasin et poids variable), 977–979 (publications en série et livres) ou 98–99 (bons de remboursement et coupons) ne sont pas des GTIN de produits ordinaires, et les règles de flux de Google classent plusieurs de ces plages comme non autorisées. Si un fournisseur ou un générateur gratuit en ligne vous a fourni un tel numéro pour un produit ordinaire, ce n'est pas le bon type de code.

7. Valide, mais déjà utilisé pour un autre produit

Google appelle cela un « GTIN incorrect » : le format est bon, mais le numéro appartient à un autre produit. Amazon a l'erreur 8542 pour un identifiant produit qui existe déjà pour un autre ASIN. Aucun calculateur de clé de contrôle ne peut le détecter. Il vous faut un numéro qui n'a jamais été utilisé, et c'est là que la provenance de vos codes compte davantage que le calcul. Pour les solutions propres à chaque canal, consultez le GTIN pour Google Shopping.

N'essayez pas des numéros les uns après les autres jusqu'à ce que l'un soit accepté. Importer code après code d'un même lot, ou modifier des chiffres jusqu'à ce qu'une marketplace cesse de protester, peut ressembler à une tentative de contourner le catalogue. Cherchez pourquoi le premier code a été refusé et corrigez cette cause.

Peut-on créer son propre code EAN en calculant la clé de contrôle ?

Techniquement, n'importe qui peut taper 12 chiffres et ajouter le bon 13e chiffre. Le résultat passera tous les tests de clé de contrôle. Mais cela n'en fait pas un code produit utilisable, et c'est là que beaucoup de nouveaux vendeurs se trompent.

Un GTIN ne fonctionne que s'il est unique : un numéro pour un produit, dans le monde entier. Les distributeurs et les marketplaces construisent leurs catalogues sur ce principe. Bol.com et Kaufland, par exemple, créent une fiche produit par EAN et y rattachent l'offre de chaque vendeur pour cet article. Un numéro inventé peut déjà appartenir au produit de quelqu'un d'autre, se trouver dans une plage restreinte ou entrer en conflit avec un code attribué plus tard. La consigne de Google est claire : « N'inventez pas et ne créez pas de nouveaux GTIN » (« Do not make up or create new GTINs », Google Merchant Center).

L'image du code-barre, c'est autre chose. Une fois que vous disposez d'un numéro qui vous a été correctement attribué, vous pouvez générer vous-même le graphisme du code-barre EAN-13 avec un logiciel gratuit. Le blog allemand de Shopify le résume bien : inventer ses propres EAN est risqué à cause des doublons, mais l'image du code-barre peut être créée sans aucun problème. Pour la taille d'impression, les couleurs et les marges de silence, consultez notre guide d'impression des codes-barres.

D'où viennent les numéros correctement attribués

Il existe deux voies. Les organisations membres de GS1, comme GS1 France, concèdent sous licence des préfixes entreprise et des GTIN individuels, généralement contre une cotisation annuelle. GS1 est le bon choix si vous vendez à des enseignes de la grande distribution ou à des supermarchés, sur Zalando, ou des produits de marque sur Amazon ou bol.com, ou si votre entreprise doit apparaître dans le registre de GS1. Des revendeurs comme GTINcodes.com vendent des numéros individuels à prix unique. Nos numéros sont des EAN-13 valides issus du stock de GTINcodes, attribués une seule fois et enregistrés à votre nom dans le registre GTINcodes. Ce ne sont pas des adhésions GS1, et dans Verified by GS1 ils affichent le titulaire initial de la licence ou rien du tout, et non votre entreprise. Ils conviennent aux produits sans marque, à votre propre boutique en ligne et aux canaux dont la règle est « un EAN valide et unique ». Notre comparatif honnête des codes GS1 et des codes de revendeurs indique lequel convient à quelle situation, et les prix de nos codes figurent dans nos boutiques.

Zéros de tête, préfixes pays et codes 2D : autres détails sur la clé de contrôle

La clé de contrôle dans le code-barre imprimé

Les chiffres lisibles sous un code-barre EAN-13 incluent la clé de contrôle, afin que l'on puisse saisir le numéro complet si le code-barre ne passe pas au scanner. La clé de contrôle est aussi encodée dans les barres, et le lecteur la recalcule à chaque lecture. Si l'on ne vous donne que 12 chiffres pour un produit, le 13e manque et doit être calculé, mais faites-le uniquement si vous savez que ces 12 chiffres sont corrects et ont été attribués à ce produit.

De nombreux produits partagent la même clé de contrôle

Il n'existe que dix clés de contrôle possibles, donc environ un GTIN sur dix se termine par un chiffre donné. La clé de contrôle n'identifie rien à elle seule. Seul le numéro complet de 13 chiffres identifie le produit.

Les zéros de tête ne modifient jamais la clé de contrôle

Les zéros de tête n'ajoutent rien à la somme pondérée : compléter un UPC-A à 13 chiffres ou un EAN-13 à 14 chiffres conserve donc la même clé de contrôle. Toute autre modification des chiffres précédant la clé de contrôle, y compris l'ajout d'un 1 en tête, la change.

Le calcul est le même dans tous les pays

La méthode fait partie du standard mondial GS1 et elle est identique partout. Le préfixe au début du numéro indique seulement quel bureau national GS1 a attribué le préfixe entreprise. Il n'indique ni le pays de fabrication du produit ni le pays où le vendeur est établi, comme GS1 le précise explicitement, et il n'a aucune incidence sur le calcul de la clé de contrôle.

Les codes-barres 2D et Sunrise 2027 utilisent la même clé de contrôle

GS1 et le secteur de la distribution visent à ce que les systèmes d'encaissement du monde entier puissent lire les codes 2D (GS1 DataMatrix et QR codes avec GS1 Digital Link) d'ici fin 2027. Il s'agit d'un objectif de préparation, pas d'une obligation, et le code-barre 1D EAN/UPC restera présent à côté des codes 2D pendant des années. Un code 2D contient le même GTIN, clé de contrôle comprise : le calcul présenté dans cet article reste donc exactement le même.

Check-list : vérifier un code EAN avant de l'imprimer ou de le mettre en ligne

Suivez ces étapes chaque fois que vous ajoutez de nouveaux codes à vos données produits, avant tout envoi à l'imprimeur ou à une marketplace.

  1. Nettoyez la saisie. Supprimez les espaces, tirets et caractères cachés. Vérifiez que la colonne de votre tableur est au format texte pour conserver les zéros de tête.
  2. Vérifiez la longueur. 13 chiffres pour un EAN-13, 12 pour un UPC-A, 8 pour un GTIN-8, 14 pour un GTIN-14. Ne complétez qu'avec des zéros de tête.
  3. Contrôlez la clé de contrôle. Utilisez le calculateur en haut de cette page ou la formule de tableur. Les 13 chiffres pondérés doivent ensemble donner un multiple de 10.
  4. Regardez le préfixe. Les codes de produits ordinaires ne doivent pas commencer par 2, 977, 978, 979, 98 ou 99.
  5. Vérifiez l'unicité dans vos propres données. Triez la colonne et cherchez les doublons. Chaque taille, couleur et conditionnement a besoin de son propre code.
  6. Vérifiez à qui le code est enregistré. Pour les numéros GS1, faites une recherche dans Verified by GS1. Pour les numéros achetés chez GTINcodes.com, utilisez notre page de vérification des codes. Faites aussi une recherche sur la marketplace pour vous assurer que le numéro n'est pas déjà rattaché à un autre produit.
  7. Adaptez le code aux règles du canal. Une clé de contrôle valide est nécessaire partout, mais certains canaux exigent davantage. Les produits de marque sur Amazon et bol.com, Zalando et la distribution physique attendent des codes GS1 enregistrés au nom du propriétaire de la marque.
  8. Imprimez un code-barre de test et scannez-le. Générez le code-barre à partir du numéro vérifié, imprimez-le à la taille prévue et scannez-le avec un téléphone ou une douchette avant de commander emballages ou étiquettes.

Si vous ne deviez retenir qu'une chose de ce guide, ce serait celle-ci : la clé de contrôle est un détecteur de fautes de frappe. Elle est rapide, fiable pour les erreurs isolées et intégrée à chaque lecteur, mais elle ne dit rien de la propriété. Servez-vous-en pour garder des données propres, et utilisez le bon registre, et la bonne source de codes, pour tout le reste. Pour une vue d'ensemble du fonctionnement des codes EAN, commencez par qu'est-ce qu'un code EAN, ou rendez-vous sur la page d'accueil de GTINcodes.com pour vérifier ou enregistrer des codes.

Questions fréquentes

Qu'est-ce que la clé de contrôle d'un EAN-13 ?

C'est le 13e et dernier chiffre. Elle est calculée à partir des 12 premiers chiffres avec la méthode modulo 10 de GS1, en utilisant des pondérations de 1 et 3. Les lecteurs et les logiciels la recalculent pour détecter les erreurs de saisie et de lecture.

La clé de contrôle EAN est-elle la même que celle de l'UPC ?

Oui, les deux utilisent la même méthode modulo 10 avec des pondérations partant de la droite. Un UPC-A de 12 chiffres auquel on ajoute un zéro devant devient un GTIN-13 avec exactement la même clé de contrôle.

La clé de contrôle d'un code EAN peut-elle être 0 ?

Oui. Si la somme pondérée des 12 premiers chiffres est déjà un multiple de 10, la clé de contrôle est 0. Elle ne peut jamais valoir 10, car une clé de contrôle est toujours un seul chiffre de 0 à 9.

Une clé de contrôle valide signifie-t-elle qu'un EAN est enregistré ?

Non. Environ un nombre aléatoire de 13 chiffres sur dix a une clé de contrôle correcte. Pour savoir à qui un numéro a été attribué, il faut un registre comme Verified by GS1, ou la page de vérification de GTINcodes.com pour les numéros achetés chez GTINcodes.

Pourquoi ma marketplace refuse-t-elle un EAN dont la clé de contrôle est correcte ?

Les raisons courantes sont un préfixe restreint (par exemple les codes commençant par 2, 977 à 979, 98 ou 99), un numéro déjà utilisé pour un autre produit, ou une règle du canal exigeant un code GS1 enregistré au nom du propriétaire de la marque, comme pour les produits de marque sur Amazon et bol.com.

Peut-on calculer la clé de contrôle EAN dans Excel ?

Oui. Avec les 12 chiffres stockés au format texte en A2, la formule =MOD(10-MOD(SOMMEPROD(--STXT(A2;{1;2;3;4;5;6;7;8;9;10;11;12};1);{1;3;1;3;1;3;1;3;1;3;1;3});10);10) renvoie la clé de contrôle (en anglais : MOD, SUMPRODUCT et MID). Mettez la colonne au format texte pour ne pas perdre les zéros de tête.

Besoin de codes EAN ?

Des codes EAN-13 valides et uniques, enregistrés au nom de votre entreprise et dans votre compte en quelques minutes.

Acheter des codes EAN

À lire ensuite

Ce guide décrit les règles telles que publiées par GS1 et les marketplaces au moment de la rédaction. Les règles évoluent ; vérifiez les règles en vigueur de votre canal de vente avant de mettre en ligne. Il s'agit d'informations générales, pas d'un conseil juridique.