Ursprüngliche, mit Strichen aufgebaute Barcodes, können nur einen
    relativ geringen Datenumfang codieren, z.B. eine Artikelnummer. Beim
    Einscannen findet die Software den zugehörigen Datensatz. Sollten
    mehrere unterschiedliche Informationen per Barcode übermittelt
    werden,
    so mussten auch entsprechend mehrere Barcodes gedruckt werden.
    
    Eine erste Erweiterung dieses Prinzips stellt der Code GS1 128 dar. Hier können mit Hilfe der
    Verkettung von genormten Datenbezeichnern und -inhalten mehrere
    Informationen innerhalb eines Barcodes dargestellt werden.
    Beispielinhalte sind Artikelnummer, Seriennummer,
    Mindesthaltbarkeitsdatum, Gewicht, Größe usw.
    
    Die nächste Entwicklungsstufe sind zweidimensionale (2D-)Barcodes,
    die
    ganze Datensammlungen wie z.B. komplette Adressdatensätze,
    Lieferscheine, binäre Daten, Bilder usw. aufnehmen können. Je nach
    Barcodetyp sind bis zu 2000 Zeichen möglich. Zur besseren Eingabe
    langer Texte kann das Eingabefeld durch
    Ziehen mit der Maus vergrößert werden. 2D-Barcodes haben eine ca. 15
    mal höhere Informationsdichte als normale Strichcodes. Hierdurch
    können
    größere Informationsmengen auf kleinerer Fläche aufgebracht werden.
    
    2D Codes enthalten meistens den kompletten ASCII
      Zeichensatz.
    
    Eine Möglichkeit sind "gestapelte" Barcodes, wie PDF
      417. Hierbei werden die einzelnen "Striche" (Elemente) in
    mehreren
    Zeilen ohne Abstand übereinander gedruckt. Der Scanner muss hierbei
    in
    zwei Richtungen, horizontal und vertikal, lesen können. 
    
    Eine andere Variante sind die Matrix Codes wie DataMatrix
    und QR Code. Hierbei werden Rechtecke,
    Quadrate oder punktförmige Elemente entweder in einer
    horizontal-vertikal Matrix oder mit Hilfe eines zentralen
    Suchelements
    spiralförmig von innen nach außen angeordnet. Auch bei 2D Codes gibt
    es Varianten für GS1.
    
    Zum Lesen werden geeignete Scanner benutzt, die ein gesamtes Bild
    verarbeiten können und nicht nur ein horizontales hell-dunkel
    Muster.
    Matrixcodes können somit in jeder Lagerichtung gelesen werden.
    
    Ein weiterer Vorteil der 2D Codes ist die Möglichkeit der
    Fehlerkorrektur, deren Sicherheitsstufe einstellbar ist. Hierdurch
    ist
    es möglich, bis zu 20% - 40% zerstörte oder verschmutzte Barcodes
    noch
    komplett zu lesen. Je höher jedoch die Fehlerkorrekturstufe ist,
    desto
    mehr der insgesamt möglichen Datenmenge wird hierfür verwendet,
    wodurch
    der maximal nutzbare Dateninhalt schrumpft. Die Fehlerkorrektur
    dient
    nicht dazu, schlecht gedruckte Barcodes lesbar zu machen. Auf
    Einhaltung der Toleranzen sollte daher
    geachtet werden.
    
    Matrixcodes können farbig gedruckt werden,
    meistens jedoch nicht rot. Eine inverse Darstellung (Negativdruck)
    ist
    bei DataMatrix und Aztec erlaubt.