Optisch leesbare symbolen die zowel vertikaal als horizontaal moeten gelezen worden om alle gecodeerde gegevens te capteren. Er zijn twee types: matrix symbolen and multi-rij symbolen. 2D symbolen hebben een "foutdetectie" mogelijkheid en kunnen ook voorzien zijn van foutcorrectie algoritmes.