Controlecijfer van een EAN-code berekenen, met gratis calculator

Hoe het 13e cijfer van een EAN-code wordt berekend, hoe je elke GTIN in een paar seconden controleert, en waarom een correct controlecijfer niets zegt over van wie een code is.

In het kort

  • Het controlecijfer is het laatste cijfer van een EAN-13 en wordt berekend uit de eerste 12 cijfers.
  • Vermenigvuldig de cijfers van links afwisselend met 1 en 3, tel ze op en neem wat er nog nodig is om het volgende tienvoud te bereiken.
  • Bij GTIN-8, UPC-A en GTIN-14 begint de weging aan de rechterkant: het cijfer naast het controlecijfer telt altijd drie keer.
  • Het controlecijfer vangt elk afzonderlijk fout cijfer en de meeste verwisselde cijfers op, maar niet verwisselingen van cijfers die 5 verschillen.
  • Een geldig controlecijfer bewijst alleen het formaat; het zegt niets over registratie, eigendom of uniciteit.

Het controlecijfer van een EAN-code is het 13e en laatste cijfer van een EAN-13-barcodenummer. Het wordt berekend uit de eerste 12 cijfers, zodat scanners en software type- en leesfouten kunnen opsporen. Wil je het controlecijfer van een EAN-code berekenen? Vermenigvuldig de eerste 12 cijfers afwisselend met 1 en 3 (links beginnend met 1), tel de uitkomsten bij elkaar op en kijk hoeveel je nog nodig hebt om het volgende tienvoud te bereiken: dat getal, van 0 tot en met 9, is het controlecijfer.

Meer is het niet, en het is precies dezelfde methode die GS1 voor elke GTIN-lengte publiceert. In deze gids lopen we de berekening stap voor stap door met volledig uitgewerkte voorbeelden. Je ziet hoe de wegingsfactoren veranderen bij GTIN-8, UPC-A (GTIN-12) en GTIN-14, welke fouten het controlecijfer wel en niet opvangt, en je krijgt spreadsheetformules die je zo in Excel of Google Sheets kunt plakken. Met de gratis calculator hieronder kun je een EAN-code ook in een seconde berekenen of controleren.

Eén ding vooraf, omdat het veel verwarring geeft: een correct controlecijfer vertelt je dat een nummer goed gevormd is. Het zegt niet dat het nummer aan iemand is uitgegeven, dat het uniek is of dat het van jou is. Verderop gaan we daar uitgebreid op in.

Typ de eerste 12 cijfers om het 13e te krijgen, of alle 13 om een code te controleren.
Typ minstens 12 cijfers.

Wat is het controlecijfer van een EAN-code en waarom bestaat het?

Een EAN-13 (ook wel GTIN-13 genoemd, het 13-cijferige Global Trade Item Number) bestaat uit een GS1-bedrijfsprefix (GS1 Company Prefix), een artikelreferentie en aan het eind één controlecijfer. De prefix en de artikelreferentie samen identificeren het product. Het controlecijfer voegt helemaal geen informatie over het product toe. Het heeft maar één taak: de andere 12 cijfers beschermen tegen fouten.

Bedenk eens hoe vaak productnummers met de hand of door een machine worden overgenomen: een verkoper typt de code in een uploadbestand voor een marktplaats, een magazijnmedewerker tikt hem in de voorraadsoftware als een etiket niet wil scannen, een feedtool zet een spreadsheetkolom om, een scanner leest een barcode op een gekreukelde zak. Bij elk van die stappen kan er een fout insluipen. Zonder controlecijfer zou een verkeerd nummer er net zo geloofwaardig uitzien als het juiste, en kwam de fout pas aan het licht als er een verkeerd product in een bestelling zat.

Met een controlecijfer kan het ontvangende systeem het laatste cijfer opnieuw berekenen uit de eerste 12 en vergelijken. Komen ze niet overeen, dan wordt het nummer meteen geweigerd. Kassascanners doen dit bij elke piep. Daarom scant een beschadigde barcode meestal gewoon niet, in plaats van dat er een verkeerd product wordt aangeslagen. Validators van marktplaatsen en productfeeds doen hetzelfde met de nummers die jij uploadt. Google vraagt verkopers bijvoorbeeld om te zorgen dat het controlecijfer klopt en verwijst naar de calculator van GS1 om dat te controleren.

Waar het controlecijfer in de code staat

Voor het EAN-13-nummer 8712345678906 zijn de onderdelen:

  • 871234567890: de eerste 12 cijfers, met daarin de GS1-bedrijfsprefix (7 tot 10 cijfers, beginnend met een GS1-prefix van 2 of 3 cijfers) en de artikelreferentie.
  • 6: het controlecijfer, berekend uit die 12 cijfers.

Dit nummer gebruiken we in het hele artikel alleen om de rekensom te laten zien. Het is geen echt product. Wil je weten wat de prefix en de artikelreferentie betekenen, en waarom je aan de eerste cijfers niet kunt zien waar een product is gemaakt? Lees dan onze complete gids over EAN-codes.

Een EAN-13-controlecijfer berekenen, stap voor stap

GS1, de organisatie die de GTIN-standaard beheert, beschrijft de berekening als een modulo-10-methode met wegingsfactoren 1 en 3 (GS1: een controlecijfer met de hand berekenen). "Modulo 10" betekent simpelweg dat alleen de rest na deling door 10 telt, en dat is het laatste cijfer van de som. Dit zijn de stappen voor een EAN-13.

  1. Schrijf de eerste 12 cijfers op. Laat het controlecijfer weg als je dat al hebt, of begin met de 12 cijfers die je wilt aanvullen.
  2. Geef elk cijfer een wegingsfactor. Van links af krijgt het 1e cijfer factor 1, het 2e factor 3, het 3e factor 1, enzovoort, steeds om en om. Oneven posities krijgen 1, even posities krijgen 3.
  3. Vermenigvuldig elk cijfer met zijn wegingsfactor. Je houdt 12 uitkomsten over.
  4. Tel de 12 uitkomsten bij elkaar op.
  5. Zoek het volgende tienvoud. Rond de som naar boven af op het eerstvolgende veelvoud van 10 (eindigt de som al op 0, dan is het al een tienvoud).
  6. Trek af. Het volgende tienvoud min de som is het controlecijfer. Eindigt de som al op 0, dan is het controlecijfer 0.

Een kortere route met hetzelfde antwoord: neem het laatste cijfer van de som en trek dat af van 10. Komt daar 10 uit, dan is het controlecijfer 0. Als formule: controlecijfer = (10 − (som mod 10)) mod 10.

Ezelsbruggetje: bij een EAN-13 worden de cijfers op positie 2, 4, 6, 8, 10 en 12 (het cijfer direct links van het controlecijfer en elk tweede cijfer daarvoor) met 3 vermenigvuldigd. Alle andere cijfers tellen één keer.

Uitgewerkte voorbeelden: EAN-13-controlecijfers volledig berekend

De snelste manier om op de methode te leren vertrouwen, is hem op een paar nummers te zien werken. Elk voorbeeld hieronder is berekend en dubbel gecontroleerd.

Voorbeeld 1: 871234567890 wordt 8712345678906

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

Het volgende tienvoud na 114 is 120, en 120 − 114 = 6. Het controlecijfer is 6, dus de volledige EAN-13 is 8712345678906.

Voorbeeld 2: het voorbeeld van GS1 zelf, 629104150021 wordt 6291041500213

GS1 gebruikt dit nummer op zijn pagina over de handmatige berekening. De cijfers 6 2 9 1 0 4 1 5 0 0 2 1, gewogen met 1, 3, 1, 3 enzovoort, geven de uitkomsten 6, 6, 9, 3, 0, 12, 1, 15, 0, 0, 2 en 3. De som daarvan is 57. Het volgende tienvoud is 60, en 60 − 57 = 3. Het volledige nummer is 6291041500213.

Let op de 2 op positie 11 en de 1 op positie 12: de 2 wordt met 1 vermenigvuldigd en de 1 met 3. Die twee omdraaien is de meest voorkomende reden dat een berekening met de hand misgaat.

Voorbeeld 3: een voorbeeldcode uit een Kaufland-listinggids, 4006381333931

Een door wisepim gepubliceerde gids voor listings op Kaufland gebruikt 4006381333931 als voorbeeld-EAN. Laten we het laatste cijfer controleren. De eerste 12 cijfers zijn 4 0 0 6 3 8 1 3 3 3 9 3.

  • Oneven posities (weging 1): 4 + 0 + 3 + 1 + 3 + 9 = 20
  • Even posities (weging 3): (0 + 6 + 8 + 3 + 3 + 3) × 3 = 23 × 3 = 69
  • Som: 20 + 69 = 89
  • Volgende tienvoud: 90, dus het controlecijfer is 90 − 89 = 1

De code eindigt op 1, dus hij is geldig. Dit voorbeeld laat ook een handige truc voor hoofdrekenen zien: tel de oneven posities op, tel de even posities op, vermenigvuldig het even totaal één keer met 3 en tel de twee totalen bij elkaar op. Dat is dezelfde berekening met minder vermenigvuldigingen.

Voorbeeld 4: als het controlecijfer 0 is

Neem de 12 cijfers 501234567890. De oneven posities tellen op tot 5 + 1 + 3 + 5 + 7 + 9 = 30. De even posities tellen op tot 0 + 2 + 4 + 6 + 8 + 0 = 20, en 20 × 3 = 60. Het totaal is 90, en dat is al een tienvoud, dus het controlecijfer is 0 en het volledige nummer is 5012345678900. Soms verwachten mensen in dit geval 10 als antwoord. Dat is het nooit: een controlecijfer is altijd één cijfer van 0 tot en met 9.

Voorbeeld 5: een ISBN-13 gebruikt precies dezelfde methode

Boeknummers die met 978 of 979 beginnen, zijn GTIN-13's uit de "Bookland"-reeks van GS1, dus hun laatste cijfer volgt dezelfde regel. Voor het voorbeeld-ISBN-13 978030640615 geven de oneven posities 9 + 8 + 3 + 6 + 0 + 1 = 27 en de even posities (7 + 0 + 0 + 4 + 6 + 5) × 3 = 22 × 3 = 66. De som is 93, dus het controlecijfer is 7 en het nummer is 9780306406157. Onthoud wel dat ISBN's van nationale ISBN-agentschappen komen, niet van GS1 en niet van barcodewederverkopers.

Een volledige EAN-code in één stap controleren

Heb je alle 13 cijfers al en wil je alleen weten of het nummer geldig is? Dan hoef je het controlecijfer niet apart te berekenen en te vergelijken. Er is een snellere test.

  1. Weeg alle 13 cijfers: 1, 3, 1, 3 … van links, wat betekent dat het controlecijfer zelf weging 1 krijgt.
  2. Tel alle 13 uitkomsten op.
  3. Eindigt het totaal op 0 (is het een tienvoud), dan is het nummer geldig. Eindigt het op iets anders, dan niet.

Voor 8712345678906 geven de eerste 12 cijfers 114 (zoals in voorbeeld 1), en het controlecijfer voegt 6 × 1 = 6 toe. Het totaal is 120, dat eindigt op 0, dus het nummer is goed. Voor 8712345678909 zou het totaal 114 + 9 = 123 zijn, dat eindigt op 3, dus dat nummer wordt afgekeurd.

Dit is precies wat de calculator hierboven doet als je een volledige 13-cijferige code invoert, en wat de validatiescripts van marktplaatsen en webwinkelsystemen achter de schermen doen.

Controlecijfers voor GTIN-8, UPC-A (GTIN-12) en GTIN-14: weging vanaf rechts

GTIN's bestaan in vier lengtes: GTIN-8, GTIN-12, GTIN-13 en GTIN-14. De productfeed van Google accepteert ze alle vier (Google Merchant Center-hulp over GTIN). Ze gebruiken allemaal dezelfde modulo-10-berekening, maar er is één regel waar mensen de mist in gaan als ze tussen lengtes wisselen: de wegingsfactoren zijn verankerd aan de rechterkant, niet aan de linkerkant.

Het cijfer direct links van het controlecijfer krijgt altijd weging 3. Naar links toe wisselen de factoren 1, 3, 1, 3 elkaar af. Bij een GTIN-13 levert dat van links geteld toevallig 1, 3, 1, 3 … op, omdat er 12 cijfers vóór het controlecijfer staan (een even aantal). Bij GTIN-8 en GTIN-12 staat er een oneven aantal cijfers vóór het controlecijfer (7 en 11), dus van links geteld begint het patroon met 3. Hetzelfde geldt voor GTIN-14, met 13 cijfers vóór het controlecijfer.

FormaatCijfers vóór het controlecijferWegingsfactoren van links geteldGebruikelijke toepassing
GTIN-8 (EAN-8)73, 1, 3, 1, 3, 1, 3Zeer kleine verpakkingen
GTIN-12 (UPC-A)113, 1, 3 … 3Producten in de VS en Canada
GTIN-13 (EAN-13)121, 3, 1 … 3Consumentenproducten buiten Noord-Amerika
GTIN-14133, 1, 3 … 3Dozen en andere handelseenheden (ITF-14, GS1-128)

Eén regel voor elke lengte: vul elke GTIN met voorloopnullen aan tot 14 cijfers en weeg dan de eerste 13 cijfers met 3, 1, 3, 1 … van links. Voorloopnullen voegen niets toe aan de som, dus het resultaat is gelijk voor GTIN-8, 12, 13 en 14. Veel validatiescripts werken precies zo.

GTIN-8-voorbeeld: 9638507 wordt 96385074

De wegingsfactoren van links zijn 3, 1, 3, 1, 3, 1, 3. De uitkomsten zijn 9×3 = 27, 6×1 = 6, 3×3 = 9, 8×1 = 8, 5×3 = 15, 0×1 = 0 en 7×3 = 21. De som is 86, het volgende tienvoud is 90, en het controlecijfer is 4. De volledige GTIN-8 is 96385074.

Had je per ongeluk het EAN-13-patroon gebruikt (1, 3, 1 … van links), dan kwam je op een ander, fout cijfer uit. Dat is de klassieke fout bij EAN-8-codes. In de praktijk hebben weinig online verkopers een EAN-8 nodig: GS1 Nederland kent er alleen een toe bij bepaalde kleine verpakkingen, bijvoorbeeld als het bedrukbare oppervlak kleiner is dan 80 cm², en stelt als alternatief voor om een EAN-13 te verkleinen (GS1 NL support).

UPC-A-voorbeeld (GTIN-12): 03600029145 wordt 036000291452

Voor de 11 cijfers 0 3 6 0 0 0 2 9 1 4 5 zijn de wegingsfactoren van links 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3. De oneven posities zijn 0 + 6 + 0 + 2 + 1 + 5 = 14, maal 3 is 42. De even posities zijn 3 + 0 + 0 + 9 + 4 = 16. De som is 42 + 16 = 58, dus het controlecijfer is 60 − 58 = 2, en dat geeft 036000291452.

Schrijf dezelfde UPC nu als EAN-13 door er een voorloopnul voor te zetten: 0036000291452. Weeg de eerste 12 cijfers met 1, 3, 1, 3 … van links en je krijgt dezelfde som van 58 en hetzelfde controlecijfer, 2. Daarom is een UPC-A met een 0 ervoor een geldige GTIN-13, en daarom beginnen nummers van Amerikaanse oorsprong met 0 als ze als EAN-13 worden geschreven. Het verschil tussen deze formaten lees je in EAN, UPC en GTIN uitgelegd.

GTIN-14-voorbeeld: 1871234567890 wordt 18712345678903

GTIN-14's identificeren handelseenheden zoals omdozen, meestal gedrukt als ITF-14- of GS1-128-barcode (GS1 UK over verpakkingsniveaus). Puur om de rekensom te laten zien nemen we de 13 cijfers 1 8 7 1 2 3 4 5 6 7 8 9 0. Met wegingsfactoren 3, 1, 3 … van links:

  • Oneven posities (weging 3): 1 + 7 + 2 + 4 + 6 + 8 + 0 = 28, maal 3 = 84
  • Even posities (weging 1): 8 + 1 + 3 + 5 + 7 + 9 = 33
  • Som: 84 + 33 = 117, dus het controlecijfer is 120 − 117 = 3

Het volledige nummer is 18712345678903. Merk op dat het controlecijfer (3) verschilt van het EAN-13-controlecijfer voor 871234567890 (6). Wie het eerste cijfer verandert, verandert de som, dus een GTIN-14 voor een omdoos heeft een eigen controlecijfer nodig. GTIN's voor omdozen worden door de merkeigenaar toegekend volgens de GS1-regels, dus verzin ze niet zelf voor echte producten.

Een EAN-13 aanvullen tot 14 cijfers

Sommige systemen slaan elke GTIN op in een veld van 14 cijfers. In zulke velden krijgt een GTIN-13 een voorloopnul: 8712345678906 wordt 08712345678906, zoals GS1 UK uitlegt voor barcodevelden van 14 cijfers. Het controlecijfer blijft 6, omdat een nul vooraan niets aan de gewogen som toevoegt. Alleen nullen mogen als opvulling worden gebruikt. Elk ander voorloopcijfer levert een ander nummer met een ander controlecijfer op, zoals het GTIN-14-voorbeeld laat zien.

Welke fouten vangt het controlecijfer op, en welke niet?

De wegingsfactoren 1 en 3 zijn zo gekozen dat de meest voorkomende menselijke fouten het laatste cijfer van de som veranderen. Dit betekent dat in de praktijk.

Eén verkeerd cijfer: altijd opgevangen

Is één cijfer fout, dan faalt het nummer altijd voor de controle. Verander het 5e cijfer van 8712345678906 van 3 in 8 en je krijgt 8712845678906. De eerste 12 cijfers tellen nu op tot 119 in plaats van 114, dus het juiste controlecijfer zou 1 zijn, niet 6. De validator weigert de code. Dit werkt voor elk afzonderlijk fout cijfer op elke positie: het verschil vermenigvuldigen met 1 of 3 levert nooit een tienvoud op, tenzij het verschil nul is.

Twee naast elkaar staande cijfers verwisseld: bijna altijd opgevangen

Twee aangrenzende cijfers omdraaien is een heel gewone typefout. Verwissel in 8712345678906 de laatste twee cijfers vóór het controlecijfer en je krijgt 8712345678096. De eerste 12 cijfers (871234567809) geven nu controlecijfer 8, niet 6, dus de code wordt geweigerd.

Er is één blinde vlek. Verschillen de twee verwisselde cijfers precies 5 (0 en 5, 1 en 6, 2 en 7, 3 en 8, 4 en 9), dan wordt de verwisseling niet ontdekt. Het ene cijfer gaat van weging 1 naar weging 3 en het andere andersom, dus de som verandert met 2 × 5 = 10, en het laatste cijfer blijft gelijk. Zo zijn 8712345678500 en 8712345678050 allebei geldige EAN-13-nummers: hun eerste 12 cijfers tellen op tot 110 en 120, en beide geven controlecijfer 0. Typt iemand het ene in plaats van het andere, dan merkt geen enkele validator het op.

Grotere fouten: meestal opgevangen, niet altijd

Zijn er twee of meer cijfers tegelijk fout, of zijn cijfers verder uit elkaar verwisseld, dan vangt het controlecijfer de fout in de meeste gevallen op, maar niet altijd. Grofweg heeft een willekeurig fout nummer ongeveer één kans op tien om toevallig op het juiste controlecijfer te eindigen, omdat er maar tien mogelijke controlecijfers zijn. Daarom is het controlecijfer een vangnet tegen kleine vergissingen, geen garantie dat een nummer klopt.

Soort foutVoorbeeldOntdekt?
Eén verkeerd cijfer8712845678906Ja, altijd
Aangrenzende cijfers verwisseld, verschil is niet 58712345678096 (9 en 0 verwisseld)Ja
Aangrenzende cijfers verwisseld, verschil is 58712345678050 in plaats van 8712345678500Nee
Alleen het controlecijfer fout8712345678909Ja, altijd
Meerdere cijfers foutWillekeurigMeestal, niet altijd
Correct nummer, verkeerd productEen geldige code van een ander artikelNee, nooit

De laatste rij is voor verkopers de belangrijkste, en die brengt ons direct bij het volgende onderdeel.

Wat een geldig controlecijfer niet bewijst

Online vind je talloze "EAN-validators" die zeggen dat een nummer "geldig" of zelfs "geverifieerd" is. Bijna altijd hebben ze alleen de berekening uit dit artikel gedaan. Google raadt zelf aan de controlecijfercalculator van GS1 te gebruiken om een GTIN te verifiëren, maar dat is een formaatcontrole. Een groen vinkje van een controlecijfertool zegt niets over het volgende.

  • Of het nummer ooit is uitgegeven. Ongeveer één op de tien willekeurige reeksen van 13 cijfers eindigt op het juiste controlecijfer. Die nummers zijn qua formaat geldig en zijn misschien nooit aan iemand toegekend.
  • Van wie het nummer is. Het controlecijfer bevat geen informatie over de merkeigenaar, de licentiehouder of de koper.
  • Of het nummer uniek is. Een code die al voor een ander product is gebruikt, doorstaat de controlecijfertest net zo makkelijk als een ongebruikte.
  • Of de prefix voor producten is toegestaan. Beperkte en speciale reeksen zoals 200–299 (winkelinterne codes en codes voor variabel gewicht), 977 (ISSN), 978–979 (ISBN), 980 (retourbonnen) en 981–983 en 99 (kortingsbonnen) kunnen allemaal een geldig controlecijfer hebben (GS1-prefixlijst). Google Merchant Center weigert de prefixen 02, 04 en 2 als beperkt, en 05, 98, 99 en 981–984 als couponreeksen, ook als het controlecijfer klopt.
  • Of een marktplaats het nummer accepteert. Amazon vergelijkt productcodes met de gegevens van GS1, en bol.com eist voor merkartikelen een bij GS1 geregistreerde EAN. Met een correct controlecijfer kom je langs geen van beide regels. In EAN-codes voor Amazon lees je hoe die merkcontrole werkt.

Formaatcontrole of opzoeken in een register

Wil je meer over een nummer weten dan alleen het formaat, dan heb je een register nodig. Het opzoeksysteem van GS1, Verified by GS1 (gepir.gs1.org stuurt je daar nu naartoe door), toont het bedrijf dat het nummer bij GS1 in licentie heeft, plus eventuele productgegevens die de licentiehouder heeft geüpload (Verified by GS1). Bij een doorverkocht nummer zie je de oorspronkelijke licentiehouder, of helemaal geen productgegevens, en niet het bedrijf dat het nummer nu gebruikt.

GTINcodes.com houdt een eigen, apart register bij. Elke EAN-13 die via onze shops wordt verkocht, is een geldig nummer uit de voorraad van GTINcodes, wordt één keer uitgegeven en op naam van de koper vastgelegd in het GTINcodes-register. Iedereen kan het nummer opzoeken op de pagina om codes te controleren. Dat register laat zien aan welke klant het nummer is uitgegeven en wanneer, en met een beschermingsplan ook de bedrijfsnaam van de koper. Het is geen GS1-registratie en het verandert niets aan wat Verified by GS1 toont. Moet je in een geschil bewijzen dat een code van jou is? Onze gids over het aantonen van EAN-eigendom legt uit welk bewijs waar werkt.

VraagControlecijfer berekenenVerified by GS1GTINcodes-register
Is het nummer goed gevormd?JaJaJa
Wie heeft het bij GS1 in licentie?NeeJaNee
Wie heeft het bij GTINcodes.com gekocht, en wanneer?NeeNeeJa, voor nummers van GTINcodes
Is het uniek voor één product?NeeAlleen voor gegevens die de licentiehouder heeft gepubliceerdEén keer uitgegeven door GTINcodes.com
Accepteert een marktplaats het?NeeHangt af van de regels van het kanaalHangt af van de regels van het kanaal

EAN-controlecijfers berekenen in Excel, Google Sheets en code

Beheer je tientallen of honderden producten, dan wil je codes in één keer controleren in plaats van één voor één. De formules hieronder gaan ervan uit dat de code als tekst in cel A2 staat, zonder spaties of streepjes. We tonen ze met de Nederlandse Excel-functienamen; de Engelse naam staat er steeds tussen haakjes bij.

Spreadsheetformule: het 13e cijfer berekenen

Zet de eerste 12 cijfers in A2 en gebruik deze formule in B2 (Nederlandstalige Excel):

=REST(10-REST(SOMPRODUCT(--DEEL(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)

De formule haalt met DEEL (MID) elk van de 12 tekens op, zet ze met het dubbele minteken om in getallen, vermenigvuldigt ze met SOMPRODUCT (SUMPRODUCT) met de wegingsfactoren 1, 3, 1, 3 … en past met REST (MOD) de modulo-10-regel toe. Voor 871234567890 geeft hij 6. Voeg de twee daarna samen met =A2&B2 om de volledige 13-cijferige code te krijgen. In de Nederlandse versie staan binnen de accolades puntkomma's: daarmee worden de lijsten verticaal in plaats van horizontaal, en dat werkt hetzelfde, zolang de cijfers en de wegingsfactoren dezelfde richting hebben. In Engelstalige Excel of Google Sheets schrijf je dezelfde formule met MOD, SUMPRODUCT en MID en met komma's: =MOD(10-MOD(SUMPRODUCT(--MID(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).

Spreadsheetformule: een volledige EAN-13 controleren

Zet de volledige 13 cijfers in A2:

=EN(LENGTE(A2)=13;REST(SOMPRODUCT(--DEEL(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)

EN (AND) controleert hier twee dingen tegelijk: dat LENGTE (LEN) precies 13 is en dat de gewogen som een tienvoud is. Dit geeft WAAR (TRUE) voor 8712345678906, 6291041500213 en 4006381333931, en ONWAAR (FALSE) voor 8712345678909. Test de formule op deze bekende voorbeelden voordat je erop vertrouwt voor je eigen lijst. Spreadsheetversies en landinstellingen verschillen, en in sommige talen, zoals het Nederlands, is het scheidingsteken tussen argumenten een puntkomma in plaats van een komma.

Let op voorloopnullen en wetenschappelijke notatie

Spreadsheets zijn veruit de grootste bron van kapotte EAN-codes. Er gaan twee dingen mis.

  • Voorloopnullen verdwijnen. Typ 0036000291452 in een cel met getalopmaak en het wordt 36000291452, en dat zijn maar 11 cijfers. Geef de kolom de opmaak tekst voordat je codes plakt, of typ een apostrof voor het nummer.
  • Lange getallen veranderen in wetenschappelijke notatie. Een getal van 13 cijfers kan verschijnen als 8,71235E+12. Sla je het bestand in die toestand op als CSV, dan kunnen de echte cijfers verloren gaan en door nullen worden vervangen. Ook hier is de oplossing: behandel de kolom vanaf het begin als tekst.

Laat na elke import of export de controleformule over de hele kolom lopen. Een kolom met ONWAAR-waarden valt veel sneller op dan een afwijzingsrapport van een marktplaats een week later.

Een paar regels Python voor elke GTIN-lengte

Ontwikkelaars kunnen met de regel "weging vanaf rechts" alle vier de lengtes met één functie afhandelen:

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

Geef de cijfers zonder controlecijfer mee: 7 voor GTIN-8, 11 voor GTIN-12, 12 voor GTIN-13 of 13 voor GTIN-14. Omdat de functie bij het meest rechtse cijfer begint met weging 3, geeft check_digit("871234567890") 6, check_digit("9638507") 4 en check_digit("03600029145") 2. Om een volledige code te controleren, vergelijk je de uitkomst met het laatste cijfer. Verwijder vóór het aanroepen van de functie spaties en streepjes en controleer of de invoer alleen uit cijfers bestaat.

Webwinkelsystemen die het voor je controleren

Sommige platforms voeren deze controle nu al uit bij het invoeren. Shopify's API-versie 2026-10, aangekondigd op 8 september 2026, vervangt het ene barcodeveld per variant door een lijst van maximaal 20 identificatiecodes per variant, elk getypeerd als UPC, EAN, ISBN, GTIN of ASIN en gecontroleerd volgens de bijbehorende standaard (Shopify developer changelog). In de praktijk betekent dat dat een code met een fout controlecijfer, of een 13-cijferige EAN die als UPC is ingevoerd, al geweigerd kan worden op het moment dat je het product opslaat, in plaats van later in een feed.

Veelvoorkomende fouten bij het controleren van EAN-codes in marktplaatsen en feeds

Als een kanaal een code als "ongeldig" afwijst, ligt de oorzaak vaak bij een van de punten hieronder. Loop ze in deze volgorde na, want de eerste paar heb je binnen een paar seconden gecontroleerd.

1. Het nummer heeft de verkeerde lengte

Een EAN-13 heeft precies 13 cijfers. Tel ze. Een nummer van 12 cijfers is vaak een UPC-A die zijn voorloopnul kwijt is, of een EAN-13 die zijn controlecijfer kwijt is. Een nummer van 11 cijfers is vaak een UPC-A die in een spreadsheet zijn voorloopnul is kwijtgeraakt. Een nummer van 14 cijfers kan een aangevulde GTIN-13 zijn (met een 0 vooraan) of een GTIN-14 op doosniveau die niet in een consumentenlisting thuishoort.

2. Een UPC in een EAN-veld, of andersom

Sommige formulieren en feeds hebben aparte velden voor UPC en EAN. Een 12-cijferige UPC-A in een 13-cijferig EAN-veld heeft een voorloopnul nodig om een GTIN-13 te worden. Een 13-cijferige EAN in een UPC-veld wordt direct afgewezen. Volgens gtin.info, de partnersite van GS1 US, is een 13-cijferige EAN in een UPC-veld een van de veelvoorkomende GTIN-problemen waar verkopers tegenaan lopen.

3. Verborgen tekens

Spaties, streepjes, harde spaties en de letter O in plaats van het cijfer 0 breken allemaal de validatie, en sommige zijn in een spreadsheet onzichtbaar. Ziet een code er goed uit maar wordt hij toch afgewezen? Typ hem opnieuw of schoon de kolom op met een formule die alleen cijfers overhoudt voordat je uploadt.

4. Het controlecijfer is echt fout

Zijn de lengte en de tekens in orde, bereken het controlecijfer dan opnieuw met de calculator hierboven. Een fout laatste cijfer betekent meestal dat er ergens in de 13 cijfers een typefout zit, niet alleen aan het eind. Ga terug naar de bron (de gegevens van de leverancier, je aankoopbevestiging of de gedrukte barcode) in plaats van het laatste cijfer te "repareren" zodat de controle slaagt. Wie het controlecijfer aanpast om een fout nummer geldig te laten lijken, maakt gewoon een ander, verkeerd nummer.

5. Verkeerde wegingsfactoren in een zelfgemaakte tool

Geeft je eigen spreadsheet of script een ander antwoord dan de calculator, controleer dan de wegingsfactoren. Wie 3, 1, 3 … van links toepast op de 12 cijfers van een EAN-13 (het GTIN-12-patroon), krijgt het verkeerde antwoord: voor 871234567890 levert dat een som van 126 en controlecijfer 4 op in plaats van 6. De oplossing is de wegingsfactoren aan de rechterkant te verankeren, zoals hierboven uitgelegd.

6. Beperkte of speciale prefixen

Een nummer kan een perfect controlecijfer hebben en toch worden geweigerd vanwege de prefix. Nummers die beginnen met 2 (winkelcodes en codes voor variabel gewicht), 977–979 (tijdschriften en boeken) of 98–99 (retourbonnen en kortingsbonnen) zijn geen gewone product-GTIN's, en de feedregels van Google noemen meerdere van deze reeksen als niet toegestaan. Heb je zo'n nummer van een leverancier of van een gratis online generator gekregen voor een gewoon product, dan is het het verkeerde soort code.

7. Geldig, maar al gebruikt voor een ander product

Google noemt dit een "onjuiste GTIN": het formaat klopt, maar het nummer hoort bij een ander product. Amazon heeft foutcode 8542 voor een product-ID dat al bestaat voor een andere ASIN. Geen enkele controlecijfercalculator kan dit opsporen. Je hebt een nummer nodig dat nog niet eerder is gebruikt, en daar is de herkomst van je codes belangrijker dan de rekensom. Voor oplossingen per kanaal, zie GTIN voor Google Shopping.

Blijf niet nummers proberen tot er een wordt geaccepteerd. De ene na de andere code uit een batch uploaden, of cijfers aanpassen tot een marktplaats niet meer klaagt, kan eruitzien als een poging om de catalogus te manipuleren. Zoek uit waarom de eerste code werd afgewezen en los die oorzaak op.

Kun je zelf een EAN-code maken door het controlecijfer te berekenen?

Technisch kan iedereen 12 cijfers intikken en het juiste 13e cijfer toevoegen. Het resultaat doorstaat elke controlecijfertest. Maar dat maakt het nog geen bruikbaar productnummer, en precies hier gaan veel beginnende verkopers de fout in. Wie een EAN-code wil aanvragen, moet dus vooral letten op waar het nummer vandaan komt, niet op de rekensom.

Een GTIN werkt alleen als hij uniek is: één nummer voor één product, wereldwijd. Retailers en marktplaatsen bouwen hun catalogus rond die aanname. Bol.com en Kaufland maken bijvoorbeeld één productpagina per EAN en hangen het aanbod van elke verkoper van dat artikel daaraan. Een verzonnen nummer kan al bij het product van iemand anders horen, in een beperkte reeks vallen of botsen met een code die later wordt uitgegeven. Google is duidelijk: "Do not make up or create new GTINs", oftewel: verzin of maak geen nieuwe GTIN's (Google Merchant Center).

De barcodeafbeelding is een ander verhaal. Heb je eenmaal een nummer dat correct aan jou is uitgegeven, dan kun je de EAN-13-barcode zelf genereren met gratis software. Het Duitse blog van Shopify zegt het treffend: zelf EAN's verzinnen is riskant vanwege dubbele nummers, maar de barcodeafbeelding zelf kun je zonder problemen maken. Voor afdrukformaat, kleuren en witmarges, zie onze gids voor het printen van barcodes.

Waar correct uitgegeven nummers vandaan komen

Er zijn twee routes. GS1-lidorganisaties, zoals GS1 Nederland, geven bedrijfsprefixen en losse GTIN's in licentie, meestal tegen een jaarlijkse vergoeding. GS1 is de juiste keuze als je verkoopt aan winkelketens of supermarkten, op Zalando, of merkproducten op Amazon of bol.com, of als je bedrijf in het register van GS1 moet staan. Wederverkopers zoals GTINcodes.com verkopen losse nummers voor een eenmalige prijs. Onze nummers zijn geldige EAN-13's uit de voorraad van GTINcodes, worden één keer uitgegeven en op jouw naam vastgelegd in het GTINcodes-register. Het zijn geen GS1-lidmaatschappen, en in Verified by GS1 zie je bij deze nummers de oorspronkelijke licentiehouder of niets, niet jouw bedrijf. Ze passen bij merkloze producten, je eigen webshop en kanalen waar de regel "een geldige, unieke EAN" is. Onze eerlijke vergelijking van GS1-codes en codes van wederverkopers zet op een rij wat in welke situatie past, en de prijzen van onze codes vind je in onze shops.

Voorloopnullen, landprefixen en 2D-codes: meer details over het controlecijfer

Het controlecijfer in de gedrukte barcode

De leesbare cijfers onder een EAN-13-barcode bevatten ook het controlecijfer, zodat iemand het volledige nummer kan intikken als de barcode niet scant. Het controlecijfer zit ook in de streepjes gecodeerd, en de scanner berekent het bij elke scan opnieuw. Krijg je voor een product maar 12 cijfers, dan ontbreekt het 13e en moet je het berekenen, maar doe dat alleen als je zeker weet dat de 12 cijfers kloppen en voor dat product zijn uitgegeven.

Veel producten hebben hetzelfde controlecijfer

Er zijn maar tien mogelijke controlecijfers, dus ongeveer één op de tien GTIN's eindigt op een bepaald cijfer. Het controlecijfer identificeert op zichzelf niets. Alleen het volledige 13-cijferige nummer identificeert het product.

Voorloopnullen veranderen het controlecijfer nooit

Voorloopnullen voegen niets toe aan de gewogen som, dus een UPC-A aanvullen tot 13 cijfers of een EAN-13 tot 14 cijfers houdt hetzelfde controlecijfer. Elke andere wijziging in de cijfers vóór het controlecijfer, inclusief een 1 vooraan toevoegen, verandert het wel.

De berekening is in elk land hetzelfde

De methode maakt deel uit van de wereldwijde GS1-standaard en is overal gelijk. De prefix aan het begin van het nummer laat alleen zien welke nationale GS1-organisatie de bedrijfsprefix heeft uitgegeven. Hij laat niet zien waar het product is gemaakt of waar de verkoper zit, zoals GS1 uitdrukkelijk zegt, en hij heeft geen invloed op hoe het controlecijfer wordt berekend.

2D-barcodes en Sunrise 2027 gebruiken hetzelfde controlecijfer

GS1 en de retailsector streven ernaar dat kassasystemen wereldwijd tegen eind 2027 2D-codes kunnen lezen (GS1 DataMatrix en QR-codes met GS1 Digital Link). Dat is een doel om klaar te zijn, geen verplichting, en de 1D-EAN/UPC-barcode blijft nog jaren naast 2D-codes bestaan. Een 2D-code bevat dezelfde GTIN, inclusief controlecijfer, dus de berekening in dit artikel blijft precies hetzelfde.

Checklist: een EAN-code controleren voordat je hem print of op een marktplaats zet

Loop deze stappen na telkens als je nieuwe codes aan je productgegevens toevoegt, voordat er iets naar de drukker of een marktplaats gaat.

  1. Schoon de invoer op. Verwijder spaties, streepjes en verborgen tekens. Zorg dat je spreadsheetkolom de opmaak tekst heeft, zodat voorloopnullen blijven staan.
  2. Controleer de lengte. 13 cijfers voor een EAN-13, 12 voor een UPC-A, 8 voor een GTIN-8, 14 voor een GTIN-14. Vul alleen aan met voorloopnullen.
  3. Controleer het controlecijfer. Gebruik de calculator bovenaan deze pagina of de spreadsheetformule. Alle 13 gewogen cijfers samen moeten optellen tot een tienvoud.
  4. Kijk naar de prefix. Gewone productcodes horen niet te beginnen met 2, 977, 978, 979, 98 of 99.
  5. Controleer of de code uniek is in je eigen gegevens. Sorteer de kolom en zoek naar dubbele nummers. Elke maat, kleur en verpakkingsgrootte heeft een eigen code nodig.
  6. Controleer op wiens naam de code staat. Zoek GS1-nummers op in Verified by GS1. Gebruik voor nummers die je bij GTINcodes.com hebt gekocht onze pagina om codes te controleren. Zoek ook op de marktplaats zelf, om zeker te weten dat het nummer niet al aan een ander product hangt.
  7. Stem de code af op de regels van het kanaal. Een geldig controlecijfer is overal nodig, maar sommige kanalen vragen meer. Merkproducten op Amazon en bol.com, Zalando en fysieke winkels verwachten GS1-codes die op naam van de merkeigenaar zijn geregistreerd.
  8. Print een testbarcode en scan hem. Genereer de barcode uit het gecontroleerde nummer, print hem op het beoogde formaat en scan hem met een telefoon of handscanner voordat je verpakkingen of etiketten bestelt.

Onthoud je maar één ding uit deze gids, laat het dit zijn: het controlecijfer is een typefoutdetector. Het is snel, betrouwbaar bij losse vergissingen en zit in elke scanner ingebouwd, maar het zegt niets over eigendom. Gebruik het om je gegevens schoon te houden, en gebruik het juiste register, en de juiste bron van codes, voor al het andere. Wil je het grotere plaatje van hoe EAN-codes werken? Begin dan met wat een EAN-code is, of ga naar de homepage van GTINcodes.com om codes op te zoeken of te registreren.

Veelgestelde vragen

Wat is het controlecijfer van een EAN-13?

Dat is het 13e en laatste cijfer. Het wordt berekend uit de eerste 12 cijfers met de modulo-10-methode van GS1, met wegingsfactoren 1 en 3. Scanners en software berekenen het opnieuw om type- en leesfouten op te sporen.

Is het controlecijfer van een EAN hetzelfde als dat van een UPC?

Ja, beide gebruiken dezelfde modulo-10-methode met wegingsfactoren die aan de rechterkant zijn verankerd. Een 12-cijferige UPC-A met een 0 ervoor wordt een GTIN-13 met precies hetzelfde controlecijfer.

Kan het controlecijfer van een EAN-code 0 zijn?

Ja. Is de gewogen som van de eerste 12 cijfers al een tienvoud, dan is het controlecijfer 0. Het kan nooit 10 zijn, want een controlecijfer is altijd één cijfer van 0 tot en met 9.

Betekent een geldig controlecijfer dat een EAN-code geregistreerd is?

Nee. Ongeveer één op de tien willekeurige getallen van 13 cijfers heeft een correct controlecijfer. Om te zien aan wie een nummer is uitgegeven, heb je een register nodig zoals Verified by GS1, of de controlepagina van GTINcodes.com voor nummers die bij GTINcodes zijn gekocht.

Waarom weigert mijn marktplaats een EAN-code met een correct controlecijfer?

Veelvoorkomende redenen zijn een beperkte prefix (bijvoorbeeld codes die beginnen met 2, 977 tot 979, 98 of 99), een nummer dat al voor een ander product wordt gebruikt, of een kanaalregel die een GS1-code op naam van de merkeigenaar eist, zoals bij merkproducten op Amazon en bol.com.

Kan ik het controlecijfer van een EAN-code berekenen in Excel?

Ja. Staan de 12 cijfers als tekst in A2, dan geeft de formule =REST(10-REST(SOMPRODUCT(--DEEL(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) het controlecijfer (in Engelstalige Excel: =MOD(10-MOD(SUMPRODUCT(--MID(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)). Geef de kolom de opmaak tekst, zodat voorloopnullen niet verdwijnen.

EAN-codes nodig?

Geldige, unieke EAN-13-codes, op naam van je bedrijf en binnen minuten in je account.

EAN-codes kopen

Lees ook

Deze gids beschrijft de regels zoals GS1 en de marketplaces ze op het moment van schrijven publiceerden. Regels veranderen; controleer de actuele regels van je verkoopkanaal voordat je iets aanbiedt. Dit is algemene informatie, geen juridisch advies.