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 są wykorzystywane kreski, 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 (Bumpy Bar Code). Różnica polega na tym, iż w zapisie/odczycie zamiast różnic w kolorach wykorzystuje się różnice głębokości tłoczenia Podział według szerokości kresek: kody o jednej szerokości kresek (np.