Wer eine Packung, ein Etikett oder ein Ticket in der Hand hat, sieht meist nur „einen Barcode“. Dahinter stecken zwei Familien mit klar getrennten Aufgaben: eindimensionale Strichcodes und zweidimensionale Codes. Diese Übersicht nennt die gängigen Arten, die Datenmenge und die Fehlerkorrektur aus den Normen und sagt, welcher Code an die Kasse, auf den Karton, auf ein Bauteil oder auf ein Ticket gehört. Die Symbole zeichnet ein kostenloser Barcode-Generator.
Welche Barcode-Arten gibt es?
Es gibt 1D- und 2D-Barcodes. Ein 1D-Code speichert die Information in der Abfolge von Strichen und Lücken entlang einer Zeile. Ein 2D-Code speichert sie in einer Fläche aus Modulen, entweder als Matrix oder als Stapel aus mehreren Zeilen. Der QR-Code ist eine 2D-Art, kein Gegensatz zum Barcode.
„Barcode“ im Alltag meint oft nur den Strichcode an der Kasse. Fachlich ist es der Oberbegriff. Die Nummer darunter ist bei EAN und UPC eine GTIN; der Strichcode ist nur ihre gedruckte Form. Den Unterschied der Nummern erklärt EAN, UPC und GTIN.
1D-Barcodes: die Strichcodes
Alle folgenden Symbole sind lineare Strichcodes nach einer ISO/IEC-Norm. Sie erkennen Fehler über ein Prüfzeichen. Beschädigte Module rekonstruieren sie nicht; das können erst die 2D-Codes mit Reed-Solomon. Ein Linienlaser liest die einzeiligen Symbole. Gestapelte Varianten brauchen einen Imager. Die normale Kamera-App liest diese Strichcodes in der Regel nicht.
EAN-13 und EAN-8
EAN-13 ist der Strichcode auf Verbraucherprodukten außerhalb Nordamerikas. Er kodiert genau 13 Ziffern, nichts anderes. Die letzte Stelle ist die Prüfziffer nach Modulo 10. Die Norm ist ISO/IEC 15420, die Anwendung steht in den GS1 General Specifications. Die erste Ziffer steht links neben den Balken und steckt nicht in einem eigenen Strichmuster: Sie wählt die Parität der sechs linken Ziffern. Rechts folgen sechs Ziffern, darunter die Prüfziffer.
Die Balken selbst sind 95 Module breit: Startmuster (3), sechs Ziffern zu je 7 Modulen (42), Trennzeichen in der Mitte (5), sechs weitere Ziffern (42), Stoppmuster (3). Die Ruhezone kommt dazu, links 11 Modulbreiten und rechts 7. Bei der Modulbreite 0,330 mm, also 100 Prozent, ist das Symbol inklusive Ruhezone 37,29 mm breit. Die Maße und der Druck stehen unter Barcode drucken. Was die ersten Ziffern bedeuten, steht in der Länderkennung. Eine offizielle Nummer kommt von GS1, der Ablauf unter EAN-Nummer beantragen.
EAN-8 kodiert genau 8 Ziffern für sehr kleine Packungen. Alle acht Stellen stehen in den Balken, vier links und vier rechts. Die Ruhezone ist auf beiden Seiten 7 Modulbreiten. Die kurze GTIN-8 vergibt GS1 einzeln; sie entsteht nicht durch Kürzen einer EAN-13. Beide Symbole zeichnet der EAN-Code-Generator.
UPC-A
UPC-A kodiert genau 12 Ziffern und ist der Handelsstrichcode in den USA und Kanada. Die Norm ist dieselbe wie bei EAN: ISO/IEC 15420. Eine führende Null macht aus der UPC-A die passende EAN-13, die Prüfziffer bleibt gleich. Anders als bei EAN-13 sind hier alle zwölf Stellen als Balken kodiert; die erste und die letzte Ziffer stehen im Klartext außerhalb der Balken. Die Ruhezone ist links und rechts 9 Modulbreiten.
UPC-E ist eine gestauchte Darstellung bestimmter zwölfstelliger Nummern für sehr kleine Packungen, kein eigener Nummernkreis. Diesen Generator gibt es hier nicht. Für eine normale GTIN-12 ist UPC-A die Form, die der UPC-Generator zeichnet.
Code 128 und GS1-128
Code 128 (ISO/IEC 15417) trägt freien Text: alle 128 Zeichen von ISO/IEC 646, also Ziffern, Groß- und Kleinbuchstaben und die üblichen Satzzeichen. Drei Zeichensätze teilen sich die Arbeit. Satz A enthält Ziffern, Großbuchstaben und Steuerzeichen, Satz B Ziffern, Groß- und Kleinbuchstaben, Satz C packt jeweils zwei Ziffern in ein Zeichen. Der Name meint diese 128 Zeichen, nicht eine Obergrenze von 128 Stellen. Die Norm lässt die Länge offen. Jedes Zeichen besteht aus drei Balken und drei Lücken, zusammen 11 Module. Ein Prüfzeichen nach Modulo 103 ist Pflicht und erscheint im Klartext nicht. Die Ruhezone beträgt mindestens 10 Modulbreiten je Seite; dieselbe Breite schreibt GS1 für GS1-128 vor. Umlaute gehören nicht zu diesem Zeichensatz.
GS1-128 benutzt dieselben Striche, beginnt aber mit dem Funktionszeichen FNC1 und transportiert GS1-Datenfelder, die Application Identifiers: GTIN, Charge, Datum oder die SSCC der Versandeinheit. In den GS1 General Specifications darf ein Symbol höchstens 48 Datenzeichen enthalten, einschließlich der Kennungen und eines FNC1, das Felder trennt. Start, das führende FNC1, Prüfzeichen und Stopp zählen nicht mit. Inklusive Ruhezone darf das Symbol höchstens 165,10 mm lang sein. Im Klartext stehen die Kennungen in Klammern, etwa (01) vor der GTIN. Genau daran erkennt man GS1-128; die Striche allein verraten den Unterschied zu Code 128 nicht.
Der Code-128-Generator erzeugt den freien Strichcode, bis zu 80 Zeichen. Er setzt kein FNC1 und keine Application Identifiers. Was GS1-128 zusätzlich braucht, steht auf derselben Seite im Abschnitt Code 128 und GS1-128.
Code 39
Code 39 (ISO/IEC 16388) ist der ältere Industriecode. Der Zeichensatz hat 43 Zeichen: Ziffern, Großbuchstaben, Leerzeichen und - . $ / + %. Kleinbuchstaben und Umlaute fehlen. Jedes Zeichen hat neun Elemente, fünf Balken und vier Lücken, davon drei breit und sechs schmal – daher der Name. Start und Stopp sind ein Stern, der nicht zur Nachricht gehört. Ein Prüfzeichen nach Modulo 43 ist optional. Die Länge ist in der Norm offen, die Ruhezone beträgt mindestens 10 Modulbreiten je Seite. Weil jedes Zeichen breit ist, wird eine lange Nummer unhandlich. Für neue Etiketten ist Code 128 die kürzere Wahl. Bleiben Sie bei Code 39, wenn Scanner, Vorlagen oder eine Barcode-Schriftart schon darauf ausgelegt sind. Der Code-39-Generator hängt das Modulo-43-Zeichen nicht an.
ITF-14 und Interleaved 2 of 5
Interleaved 2 of 5 (ISO/IEC 16390) kodiert nur Ziffern und immer eine gerade Anzahl, weil sich je zwei Ziffern die Balken und Lücken teilen: Die Balken sind die eine Ziffer, die Lücken dazwischen die nächste. Ein Prüfzeichen ist in der allgemeinen Symbologie optional.
ITF-14 ist die GS1-Anwendung davon für die GTIN-14 auf Umkartons und Lagen. Es sind immer 14 Ziffern, die letzte ist die GTIN-Prüfziffer. Eine GTIN-13 wird mit einer führenden Null auf 14 Stellen gebracht; die Verpackungsstufe steckt in der ersten Ziffer. Pflicht sind Ruhezonen von mindestens 10 Modulbreiten und Tragbalken, oben und unten, beim Druck mit einer Druckplatte als Rahmen. ITF-14 ist für die Verteilung gedacht, nicht für die Ladenkasse. Sobald Charge oder Mindesthaltbarkeit mit auf den Karton sollen, ist GS1-128 das passendere Symbol. Den Kartoncode zeichnet ITF-14 generieren.
GS1 DataBar
GS1 DataBar (ISO/IEC 24724, früher RSS) ist eine Familie aus sieben linearen Symbolen für wenig Platz. Omnidirectional, Truncated, Stacked und Stacked Omnidirectional kodieren eine 14-stellige GTIN. Limited kodiert ebenfalls eine GTIN, deren erste Ziffer 0 oder 1 ist, und ist nicht für die omnidirektionale Kasse vorgesehen. Expanded und Expanded Stacked nehmen zusätzlich Daten wie Gewicht oder Datum auf, bis zu 74 Ziffern oder 41 Buchstaben. Die Norm nennt je nach Kombination der Datenfelder auch 70 beziehungsweise 77 Ziffern als Grenze. Expanded Stacked darf bis zu 11 Zeilen hoch sein.
Für die Kasse vorgesehen sind Omnidirectional, Stacked Omnidirectional, Expanded und Expanded Stacked. Die Prüfsumme ist Modulo 79, bei Limited Modulo 89 und bei den Expanded-Varianten Modulo 211. Eine Ruhezone schreibt GS1 für diese Familie nicht vor. Einen Generator für GS1 DataBar gibt es auf dieser Website nicht.
ISBN und PZN
Die ISBN-13 ist ein EAN-13. Ohne Bindestriche ist sie eine GTIN mit Präfix 978 oder 979 und wird als normaler EAN-13 gedruckt. Manche Bücher tragen rechts daneben einen fünfstelligen Zusatz; der gehört nicht zur ISBN, und der Generator zeichnet ihn nicht. Zeitschriften nutzen das Präfix 977. Der Zusammenhang von Agentur, Prüfziffer und Cover steht unter ISBN vs. EAN.
Die Pharmazentralnummer ist keine EAN-Variante. Die IFA kodiert sie im Code 39 mit einem führenden Minuszeichen; das Sternchen von Start und Stopp gehört nicht zur Nummer. Auf Arzneimittelpackungen steht heute ein GS1 DataMatrix. Die enthaltene NTIN setzt das GS1-Präfix 4150 vor die achtstellige PZN und ergänzt eine Prüfziffer; für den Code wird die Nummer mit einer führenden Null auf 14 Stellen gebracht. Die IFA beschreibt, dass der Code 39 entfallen kann, wenn die PZN im Data-Matrix-Code steht, für Packungen, die seit dem 9. Februar 2019 im Markt sind. Der Data-Matrix-Generator setzt kein FNC1 und erzeugt damit keinen GS1 DataMatrix.
2D-Barcodes: Matrix und Stapel
2D-Codes halten mehr Daten auf kleinerer Fläche und korrigieren beschädigte Module mit Reed-Solomon. Ein Linienlaser liest eine Matrix nicht. Dafür braucht es einen Flächen-Imager oder eine Kamera. Die Kamera-App eines Telefons öffnet zuverlässig QR-Codes; die anderen 2D-Arten brauchen meist eine Scanner-App.
QR-Code
Der QR-Code (ISO/IEC 18004) ist eine quadratische Matrix mit drei Suchmustern in den Ecken. Version 1 misst 21 × 21 Module, Version 40 misst 177 × 177; dazwischen wächst die Kante in Schritten von vier Modulen. Die Ruhezone ist auf allen vier Seiten vier Module breit. Vier Modi teilen sich den Inhalt: nur Ziffern; ein alphanumerischer Satz aus Ziffern, Großbuchstaben und den neun Zeichen Leerzeichen, $, %, *, +, -, ., / und :; Bytes, voreingestellt nach ISO/IEC 8859-1; und Kanji. Kleinbuchstaben und Umlaute fallen in den Byte-Modus und belegen mehr Platz als der alphanumerische Satz.
Die Fehlerkorrektur ist Reed-Solomon in vier Stufen. Stufe L stellt etwa 7 Prozent der Codewörter wieder her, M etwa 15, Q etwa 25 und H etwa 30 Prozent. Gemeint sind Codewörter, nicht ein Anteil der bedruckten Fläche. In Version 40 bei Stufe L fasst das Symbol 7.089 Ziffern, 4.296 alphanumerische Zeichen, 2.953 Bytes oder 1.817 Kanji-Zeichen. Höhere Stufen senken diese Menge. Für Links, WLAN-Zugänge und GS1 Digital Link – eine normale Webadresse mit GTIN – ist der QR-Code die Art, die ein Telefon ohne extra App öffnet. Ersetzen tut er die EAN an der Kasse nicht. Erzeugen: QR-Code generieren.
Data Matrix und GS1 DataMatrix
Data Matrix (ISO/IEC 16022) erkennt man am Suchmuster: zwei massive Kanten bilden ein L, die beiden anderen Seiten sind ein Taktmuster aus abwechselnd hellen und dunklen Modulen. Für neue Anwendungen gilt ECC 200 mit Reed-Solomon. Die Korrektur ist nicht frei wählbar, sie hängt an der Symbolgröße. Beim kleinsten Quadrat, 10 × 10 Module, sind es 62,5 Prozent der Codewörter, beim größten, 144 × 144, rund 28,5 Prozent. Ältere Stufen ECC 000 bis 140 sind nur noch für geschlossene Altanwendungen gedacht.
Das größte Quadrat fasst nach ISO/IEC 16022 3.116 Ziffern, 2.335 alphanumerische Zeichen oder 1.556 Bytes. Der Zeichensatz ist ASCII (ISO/IEC 646) plus die Bytes von ISO 8859-1. Rechteckige Formen gibt es, mit deutlich weniger Platz. Die Ruhezone ist auf jeder Seite ein Modul. Weil das Symbol schon bei wenig Inhalt klein bleibt, sitzt es auf Elektronik, Werkzeugen und Laborproben.
GS1 DataMatrix ist dieselbe Symbologie mit FNC1 an erster Stelle und GS1-Datenfeldern. Durch das FNC1 sinkt die Obergrenze auf 3.114 Ziffern oder 2.334 alphanumerische Zeichen. In der Pharmazie trägt es NTIN, Seriennummer, Charge und Verfall. Der Data-Matrix-Generator schreibt Ihren Text in ein normales Symbol, ohne FNC1. Die Eingabe ist dort auf 500 Zeichen begrenzt; die Norm fasst mehr, ein Etikett selten. Wie sich Data Matrix und QR-Code in Größe, Kapazität und Einsatz unterscheiden, steht im Vergleich Data Matrix vs. QR-Code.
PDF417
PDF417 (ISO/IEC 15438) ist ein gestapelter Strichcode, keine Matrix. Jedes Codewort hat vier Balken und vier Lücken und ist 17 Module breit; daher der Name. Ein Symbol hat 3 bis 90 Zeilen und 1 bis 30 Datenspalten. Die Fehlerkorrektur ist Reed-Solomon mit den Stufen 0 bis 8. Stufe 0 erkennt Fehler, die Stufen 1 bis 8 korrigieren sie. Bei Stufe 0 fasst das größte Symbol 2.710 Ziffern, 1.850 Textzeichen oder 1.108 Bytes. Für die in der Norm genannte empfohlene Mindeststufe, 863 Daten-Codewörter, sind es 2.528 Ziffern, 1.726 Textzeichen oder 1.033 Bytes. Der PDF417-Generator setzt Stufe 2 und nimmt bis zu 500 Zeichen.
Die Ruhezone beträgt zwei Modulbreiten links und rechts. Das folgt aus dem festen Anteil einer Zeile: 73 Module inklusive Ruhezone, davon 69 für Start, Zeilenindikatoren und Stopp. PDF417 steht auf Bordkarten, Transportpapieren und manchen Ausweisen, weil eine Zeile mehr Text trägt als Code 128 und das Symbol in der Breite steuerbar ist. Ein einzelner Laserstrich liest es nicht. Die Norm erlaubt, dass ein Laser, der über mehrere Zeilen wandert, Codewörter einsammelt. Im Alltag liest ein Imager das Symbol.
Aztec
Aztec Code (ISO/IEC 24778) ist eine quadratische Matrix mit einem Suchmuster in der Mitte, konzentrischen Quadraten wie einer Zielscheibe. Das kleinste Symbol misst 15 × 15 Module, das größte 151 × 151. Eine Ruhezone ist nicht vorgeschrieben. Der Zeichensatz umfasst die 128 ASCII-Zeichen und die Bytes von ISO/IEC 8859-1. Die Fehlerkorrektur ist wählbar, von 5 bis 95 Prozent des Datenbereichs, mindestens drei Codewörter. Empfohlen sind 23 Prozent der Symbolkapazität plus drei Codewörter. Bei dieser Empfehlung fasst das größte Symbol 3.832 Ziffern, 3.067 Buchstaben oder 1.914 Bytes.
Aztec steht auf Bahntickets und manchen Bordkarten, weil das mittige Suchmuster auch ohne weißen Rand gefunden wird. Eine normale Kamera-App öffnet ihn nicht zuverlässig; die App des Verkehrsbetriebs oder ein Imager schon. Einen Aztec-Generator gibt es hier nicht.
Gestapelte Codes und GS1 Composite
Gestapelt heißt: mehrere Strichzeilen übereinander, gelesen wird trotzdem von links nach rechts. PDF417 ist der verbreitete Fall. GS1 DataBar Stacked und Expanded Stacked falten eine GTIN oder längere GS1-Daten auf zwei bis elf Zeilen, wenn das Etikett zu schmal für eine Zeile ist. Eine Matrix wie QR oder Data Matrix gehört nicht in diese Gruppe, auch wenn sie hoch und breit ist.
GS1 Composite (ISO/IEC 24723) setzt über einen linearen Code einen zweiten, zweidimensionalen Teil. Unten steht die GTIN als EAN, UPC, GS1 DataBar oder GS1-128. Oben stehen Zusatzdaten in CC-A, CC-B oder CC-C. CC-A ist eine Variante von MicroPDF417 und fasst bis zu 56 Ziffern, CC-B ist MicroPDF417 und fasst bis zu 338 Ziffern, CC-C ist PDF417 und fasst bis zu 2.361 Ziffern. CC-C gibt es nur zusammen mit GS1-128. Der lineare Teil hat ein Prüfzeichen, der obere Teil Reed-Solomon. Gelesen wird das Paar mit einem Imager. Composite ist diese Kombination aus linearem Symbol und 2D-Aufsatz.
Vergleichstabelle der Barcode-Typen
Die Datenmengen sind die Obergrenzen des größten Symbols in der jeweiligen Norm. Bei QR-Code und PDF417 gelten sie für die schwächste Fehlerkorrektur, bei Aztec für die empfohlene Stufe von 23 Prozent plus drei Codewörter. Ein Etikett trägt davon nur einen Bruchteil. „Handy“ meint die normale Kamera-App: Apple beschreibt sie für QR-Codes, Android-Kameras öffnen QR-Codes ebenfalls. „Scanner-App“ heißt: eine App oder unser Barcode-Scanner online. Google ML Kit, das Lens auf vielen Android-Geräten nutzt, umfasst zusätzlich EAN, UPC, Code 128, Code 39, ITF, Data Matrix, PDF417 und Aztec. Die iPhone-Kamera ist dafür nicht beschrieben. „Laser“ meint einen Linienlaser.
| Symbol | Typ | Zeichensatz | Max. Datenmenge | Fehlerkorrektur | Typischer Einsatz | Handy | Laser | Generator |
|---|---|---|---|---|---|---|---|---|
| EAN-13 | 1D | Ziffern | genau 13 | Prüfziffer Modulo 10 | Handel, Kasse, Marktplatz | Scanner-App | ja | EAN |
| EAN-8 | 1D | Ziffern | genau 8 | Prüfziffer Modulo 10 | sehr kleine Packung | Scanner-App | ja | EAN |
| UPC-A | 1D | Ziffern | genau 12 | Prüfziffer Modulo 10 | Handel USA und Kanada | Scanner-App | ja | UPC |
| Code 128 | 1D | 128 ASCII-Zeichen, Satz C packt Ziffernpaare | keine Obergrenze in der Norm | Prüfzeichen Modulo 103 | Lager, Versand, interne Nummern | Scanner-App | ja | Code 128 |
| GS1-128 | 1D | GS1-Zeichensatz mit Application Identifiers | 48 Datenzeichen, höchstens 165,10 mm | Prüfzeichen Modulo 103 | Logistiketikett, Charge, SSCC | Scanner-App | ja | Aufbau |
| Code 39 | 1D | 43 Zeichen: A–Z, 0–9, Leerzeichen, - . $ / + % | keine Obergrenze in der Norm | optional Modulo 43 | Inventur, ältere Systeme | Scanner-App | ja | Code 39 |
| ITF-14 | 1D | Ziffern, gerade Anzahl | genau 14 | GTIN-Prüfziffer Modulo 10 | Umkarton, Lage | Scanner-App | ja | ITF-14 |
| GS1 DataBar | 1D, teils gestapelt | Ziffern; Expanded zusätzlich Buchstaben aus dem GS1-Satz | 14 Ziffern; Expanded bis 74 Ziffern oder 41 Buchstaben | Prüfsumme Modulo 79, 89 oder 211 | kleine Artikel, Frische mit Zusatzdaten | Scanner-App | lineare Variante ja | – |
| QR-Code | 2D-Matrix | Ziffern, Großbuchstaben, Bytes, Kanji | 7.089 Ziffern, 4.296 alphanumerisch oder 2.953 Bytes (Version 40, Stufe L) | Reed-Solomon, etwa 7 / 15 / 25 / 30 % der Codewörter | Links, Marketing, GS1 Digital Link | Kamera-App | nein | QR-Code |
| Data Matrix | 2D-Matrix | ASCII und ISO 8859-1 | 3.116 Ziffern, 2.335 alphanumerisch oder 1.556 Bytes | Reed-Solomon, Anteil hängt von der Größe ab | Bauteile, GS1 DataMatrix in der Pharmazie | Scanner-App | nein | Data Matrix |
| PDF417 | 2D, gestapelt | Text, Bytes, Ziffern | 2.710 Ziffern, 1.850 Textzeichen oder 1.108 Bytes (Stufe 0) | Reed-Solomon, Stufe 0–8 | Bordkarten, Dokumente, Ausweise | Scanner-App | nur Raster-Laser | PDF417 |
| Aztec | 2D-Matrix | ASCII und ISO 8859-1 | 3.832 Ziffern, 3.067 Buchstaben oder 1.914 Bytes | Reed-Solomon, 5–95 %, empfohlen 23 % plus 3 Codewörter | Bahn- und andere Tickets | Scanner-App | nein | – |
Die Generatoren begrenzen die Eingabe enger als die Norm: Code 128 auf 80 Zeichen, Code 39 auf 40, QR-Code, Data Matrix und PDF417 auf 500. Für GS1-128, GS1 DataBar, Aztec und GS1 DataMatrix gibt es hier keinen Generator. Format und Inhalt eines erzeugten Codes werden protokolliert (siehe Datenschutz).
Welcher Barcode für welchen Zweck?
Zuerst die Aufgabe, dann das Symbol. Eine hübsche Matrix an der Kasse und eine EAN auf dem Fahrschein lösen beide das falsche Problem.
| Zweck | Passendes Symbol | Worauf es ankommt |
|---|---|---|
| Produkt im Handel, bei Amazon oder an der Kasse | EAN-13 | GTIN über GS1, nicht selbst ausgedacht |
| Dieselbe Ware mit zwölfstelliger Nummer für USA oder Kanada | UPC-A | eine führende Null ergibt die EAN-13 |
| Sehr kleine Packung mit eigener Kurznummer | EAN-8 | GTIN-8 wird separat vergeben |
| Buch mit ISBN | EAN-13 | die ISBN-13 ist die GTIN |
| Umkarton oder Lage, nur die GTIN-14 | ITF-14 | Tragbalken und Ruhezone, nicht die Kasse |
| Versandetikett mit Charge, Datum oder SSCC | GS1-128 | Application Identifiers, höchstens 48 Datenzeichen |
| Lagerplatz, Seriennummer, interne ID | Code 128 | freier Text, kürzer als Code 39 |
| Bestehendes Inventar oder Schriftart-Etikett | Code 39 | nur Großbuchstaben und wenige Sonderzeichen |
| Kleines Frischeetikett, GTIN auf wenig Breite | GS1 DataBar | Expanded, wenn Gewicht oder Datum mit soll |
| Bauteil, Werkzeug, sehr kleine Fläche | Data Matrix | auch direkt markiert, gelesen mit Imager |
| Arzneimittelpackung | GS1 DataMatrix | NTIN, Serie, Charge, Verfall; kein freier Textcode |
| Link, Speisekarte, Visitenkarte, Plakat | QR-Code | das Telefon öffnet die Adresse |
| Bordkarte, Formular, Ausweis | PDF417 | viel Text, Imager statt Linienlaser |
| Bahnticket | Aztec | Suchmuster in der Mitte, App des Betreibers |
In Excel und Word setzen Sie dieselben Symbole als Bild ein oder, bei Code 39 und Code 128, über eine Schrift. Die drei Wege stehen unter Barcode in Excel erstellen, die Schriften unter Barcode-Schriftart. Die Prüfziffer einer GTIN rechnen Sie im EAN-Rechner nach, bevor der Code in die Liste wandert.
Strichcode oder 2D-Code in Sekunden erstellen – als SVG oder PNG.
Passenden Code erzeugenWie funktioniert ein Barcode?
Ein Barcode ist eine Vereinbarung, wie Zeichen zu hellen und dunklen Flächen werden und wie ein Lesegerät diese Flächen wieder in Zeichen zurückrechnet. Bei einem Strichcode läuft das in einer Zeile, bei einer Matrix in Zeilen und Spalten.
Module, Striche und Ruhezone
Die Modulbreite, auch X-Modul genannt, ist die Breite des schmalsten Strichs oder der schmalsten Lücke. Breitere Striche sind ein Vielfaches davon: bei EAN zwei, drei oder vier Module, bei Code 39 ein festes Verhältnis von schmal zu breit. Ein Modul ist damit die kleinste Fläche, hell oder dunkel. Im QR-Code und in Data Matrix ist jedes Modul ein Quadrat.
Die Ruhezone ist der leere helle Rand. Der Scanner sucht darin den Übergang zum ersten Strich. Text, ein Rahmen oder die Schnittkante des Etiketts dürfen dort nicht liegen. Fehlt sie, ist ein häufiger Grund, warum ein Barcode nicht scannt.
Start, Stopp und Prüfziffer
Jedes Symbol beginnt mit einem Startmuster und endet mit einem Stoppmuster. Daran erkennt der Scanner die Art und die Leserichtung. Bei EAN-13 sind Start und Stopp die Folge 101, also Balken, Lücke, Balken. In der Mitte liegt 01010. Bei Code 39 ist das Startzeichen das Sternchen, bei Code 128 eines von drei Startzeichen, das den Zeichensatz festlegt. Aztec und QR-Code haben statt einer Zeile ein Suchmuster, drei Ecken beziehungsweise die Zielscheibe in der Mitte. Data Matrix hat das L.
Die Prüfziffer ist eine Rechenvorschrift über den Inhalt. Der Scanner rechnet sie neu und vergleicht. Passt sie nicht, verwirft er die Lesung. Das findet vertauschte und falsch gelesene Ziffern. Es repariert keinen verschmierten Strich. Diese Reparatur ist die Fehlerkorrektur der 2D-Codes: Reed-Solomon rekonstruiert fehlende Codewörter, solange die Stufe reicht.
Rechenbeispiel einer EAN-13
Die Nummer 400638133393 bekommt ihre Prüfziffer so. Von links werden die Stellen abwechselnd mit 1 und 3 malgenommen:
4×1 + 0×3 + 0×1 + 6×3 + 3×1 + 8×3 + 1×1 + 3×3 + 3×1 + 3×3 + 9×1 + 3×3 = 4 + 0 + 0 + 18 + 3 + 24 + 1 + 9 + 3 + 9 + 9 + 9 = 89.
89 endet auf 9. Die Ergänzung zur nächsten 10 ist 1. Die vollständige EAN-13 lautet 4006381333931. Dieselbe Rechnung macht der EAN-Rechner; die Schritte für die anderen Längen stehen unter EAN-Prüfziffer berechnen. Das Präfix 400 gehört zu GS1 Germany, siehe Länderkennung.
Die erste Ziffer, die 4, wählt die Parität der sechs linken Ziffern. Für 4 lautet das Muster LGLLGG: die linke Seite nutzt abwechselnd die ungerade Parität L und die gerade Parität G. Jede Ziffer wird zu sieben Modulen, 1 ist dunkel, 0 ist hell. Die rechte Seite nutzt durchgehend die Parität R, das bitweise Gegenteil von L. Start, Mitte und Stopp rahmen die Ziffern ein.
| Stelle | Ziffer | Parität | Module |
|---|---|---|---|
| Start | – | – | 101 |
| links | 0 | L | 0001101 |
| links | 0 | G | 0100111 |
| links | 6 | L | 0101111 |
| links | 3 | L | 0111101 |
| links | 8 | G | 0001001 |
| links | 1 | G | 0110011 |
| Mitte | – | – | 01010 |
| rechts | 3 | R | 1000010 |
| rechts | 3 | R | 1000010 |
| rechts | 3 | R | 1000010 |
| rechts | 9 | R | 1110100 |
| rechts | 3 | R | 1000010 |
| rechts | 1 | R | 1100110 |
| Stopp | – | – | 101 |
Die Ziffer 6 auf der linken Seite, 0101111, ist damit hell, dunkel, hell und dann vier dunkle Module. Sieben Module, eine Ziffer. Zusammen sind es 95 Module ohne Ruhezone. Die führende 4 taucht in den Balken nur als Wahl dieser Paritäten auf, im Klartext steht sie trotzdem links davor.
Laser, CCD und Imager
Ein Laser-Scanner führt einen Lichtstrahl, meist rot, über die Zeile. Eine Fotodiode misst, wie viel Licht zurückkommt. Ein dunkler Balken wirft weniger zurück als eine helle Lücke. Aus der Zeit zwischen den Wechseln und der Bewegungsgeschwindigkeit des Strahls wird die Modulbreite. Der Strahl sieht eine Zeile. EAN, UPC, Code 128, Code 39, ITF-14 und die nicht gestapelten GS1-DataBar-Symbole liegen genau in dieser Zeile. Eine Matrix hat in einer Zeile keinen zusammenhängenden Inhalt.
Ein CCD-Scanner, auch Linear-Imager genannt, beleuchtet den Code und liest die Helligkeit mit einer Zeile aus Sensoren. Es bewegt sich kein Spiegel. Gelesen wird weiterhin eine Zeile, also 1D.
Ein Flächen-Imager macht ein Bild und sucht darin das Suchmuster. Er liest 1D und 2D, auch wenn das Etikett schief im Bild liegt. Kassenscanner, die QR-Codes und Data Matrix an der Kasse lesen sollen, sind Imager. GS1 beschreibt den Übergang so, dass der Handel bis Ende 2027 die GTIN aus dem gewohnten Strichcode und aus einem 2D-Code lesen können soll. Der Strichcode bleibt daneben erhalten.
Barcode oder QR-Code? 1D, 2D und der 3D-Barcode
1D und 2D
Der Unterschied zwischen 1D- und 2D-Barcode liegt in der Richtung der Daten. Beim 1D-Code zählt die Breite: Strich, Lücke, Strich. Die Höhe macht den Code nur leichter treffbar, sie trägt keine weiteren Zeichen. Beim 2D-Code zählt auch die Höhe. Deshalb passen auf eine Briefmarke eine GTIN, eine Seriennummer und ein Datum, wofür ein Code 128 eine lange Zeile bräuchte.
Der Preis der Fläche ist das Lesegerät. Ein Linienlaser, wie er in vielen älteren Handscannern steckt, liest die Zeile und ignoriert die Matrix. Ein Imager liest beides. Fehler behandelt der 1D-Code über die Prüfziffer: stimmt sie nicht, ist die Lesung verworfen. Der 2D-Code kann einen Teil der Fläche verlieren und den Inhalt trotzdem rekonstruieren, in den Grenzen seiner Reed-Solomon-Stufe.
QR-Code und Barcode
Ein QR-Code ist ein Barcode, und zwar ein 2D-Barcode. Wer „Barcode oder QR-Code“ gegenüberstellt, meint meist den Strichcode an der Kasse gegen das Quadrat mit den drei Ecken. Dafür gibt es eine klare Trennung. Der Strichcode trägt die GTIN, die Kasse und der Marktplatz erwarten. Der QR-Code trägt eine Adresse oder einen kurzen Text, den ein Telefon öffnet. Beide können auf derselben Packung stehen. Keiner ersetzt den anderen, solange die Kasse den QR-Code nicht als GTIN auswertet.
Unter den 2D-Codes ist der QR-Code die Art mit den drei Eckquadraten. Data Matrix hat das L, Aztec die Zielscheibe, PDF417 die gestapelten Zeilen. „2D-Barcode“ ist also die Familie, „QR-Code“ ein Mitglied.
Gibt es einen 3D-Barcode?
In den GS1-Symbologien und in den ISO-Normen für den Handel gibt es 1D und 2D. Ein 3D-Barcode im engen Sinn kodiert Information in der Tiefe, als dritte Achse, und wird von einem Tiefensensor gelesen, nicht von Kamera oder Linienlaser. GS1 US beschreibt das so und grenzt es von der Direktmarkierung ab: Wird ein Data Matrix oder ein QR-Code in Metall geätzt oder graviert, bleibt er ein 2D-Code, solange die Module eine einheitliche Tiefe haben. Die Gravur macht ihn haltbar, nicht dreidimensional.
Ein zweiter Gebrauch des Wortes meint Farbe als zusätzlichen Kanal. JAB Code (ISO/IEC 23634) ist so eine farbige Matrix, entwickelt am Fraunhofer SIT und beim BSI beschrieben. Er ist eine flache 2D-Symbologie mit mehr als zwei Farben, kein GS1-Code für die Kasse. Für den Handel bleiben EAN, QR-Code und Data Matrix die Symbole, mit denen Sortimente tatsächlich arbeiten.
Barcode-Typ erkennen
Die Art lässt sich oft am Bild erkennen, bevor ein Scanner den Namen sagt. Danach lohnt die Gegenprobe: Ein Foto auf der Seite Barcode-Scanner online zeigt das erkannte Format, bei EAN und UPC auch Prüfziffer und Präfix. Die Seite liest EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF, QR-Code, Data Matrix und PDF417.
- EAN-13: eine Zeile, die Balken in der Mitte und an den Enden etwas länger, links eine einzelne Ziffer, darunter zwölf weitere. Zusammen 13 Stellen.
- EAN-8: dieselbe Optik, deutlich kürzer, acht Ziffern, keine einzelne Ziffer weit links außerhalb.
- UPC-A: zwölf Ziffern, die erste und die letzte stehen außerhalb der Balken.
- Code 39: luftige Strichgruppen, im Klartext oft ein Stern vor und hinter dem Text. Nur Großbuchstaben.
- Code 128: dichte Striche, beliebiger Klartext ohne Sterne. Stehen im Text Klammern wie
(01)oder(10), ist es ein GS1-128. - ITF-14: nur Ziffern, 14 Stellen, auf dem Karton, mit einem Rahmen oder mit dicken Balken oben und unten.
- GS1 DataBar: sehr schmal, die Suchmuster sitzen in den Enden, manchmal zwei oder mehr Zeilen. Häufig auf kleinem Obst oder auf Frischeetiketten.
- QR-Code: Quadrat, drei große Quadrate in den Ecken, ein kleineres nahe der vierten Ecke.
- Data Matrix: Quadrat oder Rechteck, eine durchgezogene L-Kante, gegenüber ein gestrichelter Takt.
- PDF417: breites Rechteck aus vielen gleich hohen Zeilen, links und rechts ein senkrechtes Start- und Stoppmuster.
- Aztec: Quadrat mit einer Zielscheibe aus Quadraten in der Mitte, ohne die drei Ecken des QR-Codes.
Zwei Symbole sehen gleich aus und meinen trotzdem Verschiedenes: ein normaler Data Matrix und ein GS1 DataMatrix, ein Code 128 und ein GS1-128. Die Striche sind dieselbe Symbologie. Den Unterschied macht das FNC1 am Anfang und die Datenfelder. Im Zweifel den Klartext lesen oder den Code scannen und prüfen, ob der Inhalt mit einer Application Identifier beginnt.
Quellen
- GS1: Barcodes und die GS1 General Specifications (EAN/UPC, ITF-14, GS1-128 mit 48 Datenzeichen und 165,10 mm, Ruhezonen). Größenüberblick einer Mitgliedsorganisation: GS1 Sweden, Size guide.
- GS1 DataBar (14 Ziffern; Expanded bis 74 numerisch oder 41 alphabetisch) und GS1 Austria: Allgemeine GS1 Spezifikationen, GS1 DataBar (Prüfsummen Modulo 79, 89 und 211, keine vorgeschriebene Ruhezone).
- GS1 DataMatrix Guideline (Kapazitätstabelle, 3.116 Ziffern und 2.335 alphanumerische Zeichen, mit FNC1 3.114 beziehungsweise 2.334; Fehlerkorrekturanteil je Symbolgröße).
- DENSO WAVE: QR Code standardization (Version 1 bis 40, 7.089 / 4.296 / 2.953 / 1.817 Zeichen, Fehlerkorrektur etwa 7, 15, 25 und 30 Prozent der Codewörter) und ISO/IEC 18004.
- ISO/IEC 16022 (Data Matrix ECC 200: 3.116 Ziffern, 2.335 alphanumerische Zeichen, 1.556 Bytes), ISO/IEC 15438 (PDF417), ISO/IEC 24778 (Aztec), ISO/IEC 16388 (Code 39), ISO/IEC 16390 (Interleaved 2 of 5), ISO/IEC 24724 (GS1 DataBar), ISO/IEC 15417 (Code 128), ISO/IEC 15420 (EAN/UPC), ISO/IEC 24723 (GS1 Composite: CC-A 56, CC-B 338, CC-C 2.361 Ziffern).
- IFA: Coding of the PZN in Code 39 und GS1 Germany: NTIN und GS1 DataMatrix (Präfix 4150).
- GS1 US: What is a 3D barcode? und ISO/IEC 23634 (JAB Code).
- Apple: QR-Code mit der iPhone-Kamera scannen und Google ML Kit: Barcode-Formate (Stand der Abrufe: 28. Oktober 2026).
- GS1: 2D barcodes at retail point-of-sale (Ziel, die GTIN bis Ende 2027 aus 1D- und 2D-Codes zu lesen).