Chiffre de contrôle GTIN
Saisissez les premiers chiffres 629104150021 et obtenez le chiffre de contrôle 3 et le code complet 6291041500213, un GTIN-13. Repérez un code produit mal saisi avant qu'il n'atteigne une étiquette, un distributeur ou une place de marché. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Chiffres
- 629104150021
- Chiffre de contrôle
- 3
- GTIN
- 6291041500213
- Longueur des données
- 12
- Longueur du GTIN
- 13
Un Global Trade Item Number (GTIN) est l’identifiant GS1 imprimé en code-barres EAN, UPC ou ITF sur les packs de consommation, les packs internes et les unités logistiques. Le dernier caractère est un chiffre de contrôle calculé à partir des premiers chiffres, afin qu’une faute de frappe ou une substitution du scanner soit en général rejetée avant que le code soit stocké, imprimé ou envoyé à une place de marché. Cette calculatrice de chiffre de contrôle GTIN applique la règle officielle GS1 modulo 10 : une somme pondérée alternée comptée depuis la droite de la charge, le chiffre initial le plus à droite étant multiplié par trois, puis les poids un et trois vers la gauche. Le chiffre de contrôle est la valeur qui rend cette somme multiple de dix. Envoyez les premiers chiffres d’un GTIN-8, GTIN-12, GTIN-13 ou GTIN-14 — sans le chiffre de contrôle — et la réponse renvoie le chiffre de contrôle, le GTIN complet, la somme pondérée et la famille lorsque la longueur de la charge est standard.
Comment le chiffre de contrôle GS1 d’un GTIN est calculé
Un GTIN se termine toujours par un seul chiffre de contrôle que la marque ne choisit pas : c’est une fonction pure des premiers chiffres qui le précèdent. GS1 utilise une même règle modulo 10 pour GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13) et GTIN-14, c’est pourquoi cette calculatrice peut achever n’importe laquelle de ces familles à partir de la charge seule. Partez de la droite des premiers chiffres.
Multipliez le chiffre le plus à droite de la charge par trois, le suivant vers la gauche par un, le suivant par trois, et alternez jusqu’à ce que chaque chiffre initial ait un poids. Additionnez les produits pondérés pour obtenir la somme pondérée. Le chiffre de contrôle vaut dix moins cette somme modulo dix, avec un second modulo dix afin qu’un reste nul produise le chiffre zéro et non dix.
Une fois le chiffre de contrôle ajouté, le même motif trois-un de droite à gauche appliqué au code complet donne un multiple de dix : c’est le test d’acceptation qu’un scanner ou un système d’entrepôt doit appliquer. Ce n’est pas l’algorithme de Luhn des cartes de paiement : Luhn double chaque second chiffre depuis la droite et scinde les produits supérieurs à neuf, tandis que GS1 utilise un poids strict de trois ou un et ne scinde jamais.
Le calcul est local et déterministe : pas d’appel au registre GS1, pas de réseau, pas d’horloge. Cet outil n’attribue pas de préfixes d’entreprise, ne dessine pas de symbologie de barres et ne prouve pas l’enregistrement GS1 ; il ne renvoie que le chiffre de contrôle exigé par la spécification à partir des premiers chiffres que vous détenez déjà. Les longueurs de charge typiques sont sept chiffres pour GTIN-8, onze pour GTIN-12, douze pour GTIN-13 et treize pour GTIN-14, et ces longueurs sont étiquetées dans le champ family lorsqu’elles correspondent.
Où une calculatrice de chiffre de contrôle GTIN rend service
Les équipes catalogue et PIM reçoivent des chaînes préfixe d’entreprise plus référence d’article depuis des systèmes SKU internes et doivent ajouter le chiffre de contrôle GS1 officiel avant de publier le code chez un détaillant, une place de marché ou une étiquette d’expédition. Les applications de réception en magasin recalculent le chiffre de contrôle à partir des premiers chiffres d’un GTIN scanné afin qu’une seule transposition ne crée pas un SKU fantôme ni un écart de stock par rapport à l’avis d’expédition anticipé.
Les formulaires d’onboarding e-commerce peuvent afficher le chiffre de contrôle attendu à côté d’un champ de collage et bloquer l’envoi lorsque le caractère final saisi par le vendeur ne correspond pas, ce qui coûte moins cher qu’un rejet ultérieur de l’annonce.
Les tâches de qualité des données parcourent chaque colonne GTIN d’un export catalogue, retirent le dernier caractère, recalculent et mettent en quarantaine les lignes dont le chiffre stocké ne correspond plus, en attrapant aussi bien les éditions humaines que les bogues de générateurs qui ont rempli la mauvaise longueur de famille.
Face à un validateur uniquement GTIN-14 ou à un vérificateur multi-symbologie, l’intention de recherche ici est la phrase générique que les gens tapent : un chiffre de contrôle GTIN à partir des premiers chiffres, pas un mode logistique à quatorze chiffres ni un chemin spécifique ISBN. Ne traitez pas un chiffre de contrôle conforme comme une preuve de propriété de marque ni d’enregistrement GS1 ; il prouve seulement que le chiffre mod-10 est cohérent avec la charge sous les poids GS1 standard.
Cas d’usage
Repérer les GTIN mal saisis à la réception ou à l’onboarding
Recalculez le chiffre de contrôle à partir des premiers chiffres d’un GTIN scanné ou collé et bloquez le rangement ou l’annonce lorsque le caractère final ne correspond pas.
Auditer les colonnes GTIN dans les catalogues et exports EDI
Retirez le dernier caractère de chaque GTIN stocké, recalculez avec cette calculatrice et mettez en quarantaine les lignes dont le chiffre de contrôle ne correspond plus à la somme pondérée GS1.
Questions fréquentes
Qu’est-ce qu’un chiffre de contrôle GTIN ?
C’est le dernier chiffre d’un Global Trade Item Number, calculé avec une somme pondérée alternée GS1 modulo 10 afin que les erreurs d’un seul chiffre à la saisie ou au scan soient en général détectées avant le stockage ou l’impression du code.
Quelles longueurs de GTIN sont prises en charge ?
La même règle GS1 couvre GTIN-8, GTIN-12, GTIN-13 et GTIN-14. Lorsque la longueur de la charge est 7, 11, 12 ou 13, le champ family nomme ce type de GTIN.
Que se passe-t-il si l’entrée contient des lettres, des espaces ou des tirets ?
Le moteur ne retire jamais la ponctuation en silence, si bien qu’un collage avec tirets ne peut pas devenir un mauvais code produit. Une validation en échec n’est pas facturée.
La calculatrice de chiffre de contrôle GTIN est-elle gratuite ?
L’outil du navigateur est gratuit et s’exécute en local.
Comment vérifier un GTIN que j'ai déjà ?
Retirez le dernier chiffre, saisissez le reste et comparez le chiffre de contrôle obtenu avec celui imprimé. S'ils diffèrent, le code a été mal saisi ou mal lu. Un code correct passe aussi le test complet : pondérés par trois et un depuis la droite, ses chiffres donnent un multiple de dix.
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/fin/gtin-check-digit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"digits":"629104150021"}'const res = await fetch("https://api.kit.forhosting.com/fin/gtin-check-digit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"digits": "629104150021"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/gtin-check-digit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"digits": "629104150021"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/gtin-check-digit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"digits":"629104150021"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"digits":"629104150021"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/gtin-check-digit", 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
{
"digits": "629104150021"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.gtin_check_digit",
"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.
Limites
max_digits | 32 |
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
Tout caractère non numérique échoue avec invalid_input au lieu d’un recadrage silencieux, si bien qu’un collage avec tirets ne devient jamais un mauvais code produit. La même arithmétique pure alimente l’outil gratuit du navigateur et le chemin d’API prépayé.
Contrat d’entrée, forme de la réponse et erreurs
Une chaîne vide ou un champ manquant échoue aussi avant toute somme pondérée. Lorsque la longueur de la charge est sept, onze, douze ou treize, family vaut GTIN-8, GTIN-12, GTIN-13 ou GTIN-14 respectivement ; les autres longueurs omettent family plutôt que d’inventer un nom. L’exemple par défaut 629104150021 est un corps GTIN-13 de douze chiffres dont le chiffre de contrôle est trois, si bien que gtin devient 6291041500213. Une validation en échec n’est pas facturée. Gardez les requêtes à une courte chaîne de chiffres ; ce point de terminaison calcule un chiffre de contrôle, il ne cherche pas de produits et ne dessine pas de barres. Envoyez en POST un corps JSON avec digits égal aux seuls caractères initiaux du GTIN : n’incluez pas le chiffre de contrôle que vous voulez calculer. Le champ doit être une chaîne de caractères de zéro à neuf ; les alias number, text, gtin, code et payload sont acceptés afin que les intégrations qui parlent déjà ces noms n’aient pas à renommer. Les zéros de tête comptent (un corps UPC-A commence souvent par zéro), donc envoyez une chaîne JSON plutôt qu’un nombre JSON si la charge peut commencer par zéro. Espaces, tirets, lettres et ponctuation sont des caractères non numériques et échouent avec invalid_input en nommant le champ digits, au lieu d’être recadrés en silence. En cas de succès, le corps répète digits, renvoie check_digit comme chaîne d’un caractère de zéro à neuf, renvoie gtin comme l’identifiant achevé (charge plus chiffre de contrôle), indique payload_length et gtin_length, inclut weighted_sum pour les pistes d’audit et fixe algorithm à gs1-mod-10. Comme le chemin est parse pur sans horloge, hasard 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ù une calculatrice de chiffre de contrôle GTIN rend service
Les imprimeurs qui émettent des symboles EAN-13, UPC-A ou ITF-14 figent gtin dans les tests afin que la bibliothèque de codes-barres et cette API ne divergent jamais. Dans chaque flux le contrat est le même : chiffres seulement, JSON structuré que vous pouvez tester avec des goldens, comportement identique entre navigateur gratuit et API prépayée, et invalid_input honnête lorsque la chaîne contient un caractère non numérique.
Cas d'intégration
Achever un GTIN pour étiquettes et annonces
Envoyez les premiers chiffres de la charge, stockez check_digit et gtin, et alimentez l’identifiant achevé dans une imprimante d’étiquettes EAN-13, UPC-A ou ITF-14 ou un formulaire d’annonce sur une place de marché.
Questions techniques
Comment calculer un chiffre de contrôle GTIN avec cette API ?
Faites un POST avec digits égal à la charge initiale seulement (sans chiffre de contrôle). Les longueurs typiques sont 7, 11, 12 ou 13. La réponse inclut check_digit et gtin (l’identifiant achevé).