Podział według wymiarowości kodu
- jednowymiarowe (liniowe, 1D) - informacje zapisane są w jednej linii (najczęściej w postaci kresek)
- dwuwymiarowe piętrowe - rozwinięcie kodów jednowymiarowych polegające na istnieniu kilku linii kodu jedna pod drugą
- dwuwymiarowe matrycowe - informacja zapisana jest na określonej powierzchni, z tym, że do zapisu nie wykorzystuje się kresek, lecz inne oznaczenia
- kody złożone - występują w nich zarówno elementy kodów jednowymiarowych, jak i dwuwymiarowych
- kody trójwymiarowe - zazwyczaj są to wytłaczane dowolne kody jednowymiarowe. Różnica polega na tym, iż w zapisie/odczycie zamiast różnic w kolorach wykorzystuje się różnice w wysokości
Podział według szerokości kresek
- kody o jednej szerokości kresek - kodowanie polega na występowaniu, bądź nie kreski w określonym miejscu
- kody o dwóch szerokościach kresek
- kody o wielu szerokościach kresek (modularne)
Podział według rodzaju kodowanych symboli
- numeryczne - kodowane są jedynie cyfry w systemie dziesiętnym
- alfanumeryczne - kodowane są cyfry i pozostałe znaki kodu ASCII, czasem również znaki występujące w niektórych alfabetach
Podział według ciągłości kodu (nie dotyczy kodów matrycowych)
- kody ciągłe - nie występują w nich przerwy między kodowanymi znakami
- kody dyskretne - występują przerwy między kodowanymi znakami
Podział według ilości kodowanych znaków
- kody o ściśle określonej ilości kodowanych znaków (o stałej długości)
- kody o różnej ilości kodowanych znaków (o zmiennej długości)
Podział według przyjętej metody weryfikacji odczytanych danych
- kody samosprawdzalne (np. wszystkie kody typu m z n) - pewne procedury sprawdzania błędów są zaimplementowane w budowie kodu
- kody ze znakiem kontrolnym (np. z cyfrą kontrolną)
- kody samosprawdzalne z dodatkowym znakiem kontrolnym
