Code 128 vs Code 39: de verschillen tussen barcodes uitgelegd (2026)

A modern, sleek comparison of two barcode styles representing efficiency and legacy

Wie met barcodes werkt — in logistiek, gezondheidszorg, industrie of retail — is waarschijnlijk zowel Code 128 als Code 39 tegengekomen. Het zijn twee van de meest gebruikte 1D-barcodeformaten, en in 2026 komt de keuze neer op hoeveel gegevens je moet coderen en hoeveel ruimte je op het label hebt.

Code 128 is de moderne standaard: hoge dichtheid, volledige ASCII-ondersteuning en een verplicht controlecijfer. Code 39 is het oudere, eenvoudigere alternatief dat goed werkt voor korte tekenreeksen, maar onhandig wordt bij langere gegevens. Deze gids legt de verschillen uit en helpt je de juiste keuze te maken.

Code 128 vs Code 39 in het kort

Functie Code 128 Code 39
Gegevensdichtheid Hoog — meer gegevens in minder ruimte Laag — wordt snel breed
Tekenset Volledige 128 ASCII-tekens 43 tekens (hoofdletters, cijfers, enkele symbolen)
Ondersteuning kleine letters Van nature Alleen via de modus “Extended” (verdubbelt de barcodelengte)
Controlecijfer Verplicht (Modulo 103) Optioneel
Staaf/spatiebreedtes 4 breedtes (1, 2, 3, 4 eenheden) 2 breedtes (smal en breed)
Geschikt voor Logistiek, verzending, complexe gegevens Eenvoudige interne tracking, verouderde systemen

Het verschil in fysieke voetafdruk is opvallend. Volgens Peak Technologies schakel je bij voorkeur over van Code 39 naar Code 128 als je gegevensreeks langer is dan 15 tekens. Een ID van 20 tekens in Code 39 past mogelijk niet op een standaard 2-inch label, terwijl Code 128 het compact houdt.

Een schaalvergelijking naast elkaar die laat zien dat Code 128 veel korter is dan Code 39 voor dezelfde gegevens

Moderne scanners (area imagers en smartphone-apps) lezen beide formaten moeiteloos. Maar Code 128 heeft het voordeel op het gebied van betrouwbaarheid, omdat de ingebouwde foutdetectie verkeerd lezen in omgevingen met hoog volume voorkomt.

Gegevensdichtheid: waarom het ertoe doet

Gegevensdichtheid is het aantal tekens dat in één inch barcode past. Wikipedia legt uit dat Code 128 vier verschillende breedtes gebruikt voor staven en spaties, terwijl Code 39 er slechts twee gebruikt. Deze precisie maakt Code 128 ruwweg tweemaal zo dicht voor numerieke gegevens — vaak is het de enige 1D-barcode die werkt voor kleine items zoals medische flesjes of kleine elektronica.

Tekenondersteuning

  • Code 39 (Standaard): 43 tekens — hoofdletters A–Z, cijfers 0–9 en een handvol symbolen (-, ., $, /, +, %, spatie).
  • Code 128: Alle 128 ASCII-tekens — hoofdletters, kleine letters, symbolen en zelfs besturingstekens zoals carriage returns.
  • Code 39 Extended: Kan kleine letters coderen via tekenparen (bijv. “+A” voor kleine letter “a”), maar zoals Peak Technologies opmerkt, is dit “verspilling van ruimte” en wordt de barcode onnodig lang.

Waarom Code 128 de moderne logistieke standaard is

Code 128 drijft wereldwijde verzending aan via de GS1-128-standaard, die “Application Identifiers” gebruikt om gegevens zoals batchnummers, vervaldatums en serienummers te structureren.

Verplicht controlecijfer (Modulo 103)

Bij Code 39 is een checksum optioneel. Bij Code 128 is deze ingebouwd — de barcode voegt een berekende waarde toe die de scanner bij elke lezing verifieert. Dit sluit vrijwel elk risico op een “verkeerde” scan uit in drukke magazijnen.

Optimalisatie via Code Sets A, B en C

Code 128 blijft compact door tussen drie interne modi te schakelen:

Code Set Geoptimaliseerd voor Belangrijkste voordeel
A Hoofdletters + besturingscodes Industriële toepassingen
B Standaard alfanumeriek + kleine letters Algemene tekst
C Alleen numerieke gegevens Twee cijfers per symbool — meest efficiënt voor getallen

Wikipedia legt uit dat Code Set C twee cijfers in één barcodesymbool pakt. Voor lange numerieke reeksen is dit ongelooflijk efficiënt. Onderzoek van Steven Skiena toont aan dat slimme Code Set-selectie een barcode gemiddeld 8% kleiner kan maken dan bij een statische instelling.

Eenvoudige visualisatie die laat zien hoe Code Set C twee cijfers paart tot één symbool

Is Code 39 nog steeds relevant?

Code 39 heeft in 2026 nog steeds een plek, omdat het eenvoudig en vergevingsgezind is. Het is “self-checking” — de ruimtes tussen tekens helpen fouten te isoleren — waardoor het goed werkt met printers met lage resolutie of oudere industriële scanners.

Je vindt Code 39 nog steeds in:
US Department of Defense (LOGMARS-standaard)
Gezondheidszorg interne tracking
Automobielindustrie verouderde systemen

Het probleem ontstaat met Code 39 Extended. Het coderen van één kleine letter “a” vereist het afdrukken van “+A” — wat de barcodelengte verdubbelt. Als je tracking-ID’s kleine en grote letters mengen, is Code 39 Extended een slechte keuze.

Technische specificaties: X-dimensie en Quiet Zones

Hoe goed een barcode scant, hangt af van de X-dimensie — de breedte van de smalste staaf. Volgens GS1 2026-standaarden is de minimale X-dimensie voor retail-kassa’s 0.264 mm (0.0104 inches).

Beide formaten hebben ook een Quiet Zone nodig — lege witte ruimte aan beide uiteinden van de barcode, ten minste 10× de breedte van de smalste staaf. Zonder deze zone kunnen scanners niet bepalen waar de barcode begint en eindigt.

Scannercompatibiliteit

Scannertype Werkt het beste met Opmerkingen
Laserscanners Langere, hogere barcodes Hebben een helder laserpad nodig over alle staven
Area imagers (2026-standaard) Beide formaten, inclusief hoge dichtheid Code 128 Kunnen beschadigde of gekantelde labels lezen
Smartphone-camera’s Beide Ingebouwde ondersteuning in iOS/Android

Volgens Gitnux 2024 verwerkt de retailsector 42% van de wereldwijde dagelijkse scans — daarom verschuift de industrie naar betrouwbaardere area imaging-standaarden.

Conclusie

Code 39 is prima voor eenvoudige, korte interne tracking-ID’s — vooral in verouderde systemen met oudere scanners. Code 128 is de duidelijke keuze voor al het andere: het is kleiner, ondersteunt meer tekens, bevat verplichte foutcontrole en vormt de ruggengraat van de moderne logistiek.

Beslisregel:
– Gegevens korter dan 10–15 tekens, alleen hoofdletters → Code 39 is acceptabel
– Alles wat langer is, of met kleine letters / symbolen → Code 128
– GS1-128-compliance vereist → Code 128 (geen andere optie)

Bij het ontwerpen van labels moet je ervoor zorgen dat je smalste staaf voldoet aan de 0.264 mm GS1-standaard om wereldwijd leesbaarheid te garanderen.

Veelgestelde vragen

Kan Code 39 kleine letters coderen?

Standaard Code 39 ondersteunt alleen hoofdletters, cijfers en een paar symbolen. Om kleine letters te coderen, heb je Code 39 Extended nodig, die tekenparen gebruikt (bijv. “+A” voor “a”). Dit verhoogt de fysieke lengte van de barcode aanzienlijk, waardoor het veel minder efficiënt is dan Code 128.

Waarom is Code 128 “dichter” dan Code 39?

Code 128 gebruikt vier staaf/spatiebreedtes (tegen Code 39’s twee), en de Code Set C codeert twee cijfers per symbool. Hierdoor is Code 128 ruwweg tweemaal zo dicht als Code 39 voor numerieke gegevens, wat waardevolle labelruimte bespaart.

Heb ik een controlecijfer nodig voor Code 39-barcodes?

Het is optioneel voor Code 39, maar aanbevolen in omgevingen met hoge risico’s. Code 128 heeft een verplichte Modulo 103-checksum ingebouwd in de specificatie, waardoor het van nature betrouwbaarder is voor scannen met hoog volume.

Welk barcodetype is beter voor kleine items met beperkte labelruimte?

Code 128 — de hogere dichtheid betekent dat je deze kunt afdrukken met een grotere X-dimensie (gemakkelijker voor scanners om te lezen) binnen dezelfde fysieke ruimte waar een Code 39-barcode krap en moeilijk te scannen zou zijn.

Reacties

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *