Budowa

Kod kreskowy drukowany na opakowaniach produktów składa się z dwóch części:
  • odczytywany przez urządzenie kod kreskowy
  • zrozumiały dla człowieka 12-cyfrowy numer UPC
Znak jest kodowany jako sekwencja dwóch pasków i dwóch odstępów. Każda sekwencja ma szerokość siedmiu modułów. Szerokość pasków i odstępów może mieć 1, 2, 3 lub 4 szerokości modułu. Daje to w sumie 20 kombinacji. Dziesięć jest używanych do lewej nieparzystej części i dziesięć jest używanych do prawej parzystej części. Lewe znaki zawsze zaczynają się od odstępu, a prawe od paska.

Kod UPC-A posiada na środku wartownik, który się wyróżnia dłuższymi paskami. Rozdziela to kod na dwie części: lewą i prawą. Ten podział umożliwia skanowanie kodu w dowolnej orientacji. Wysokość kodu kreskowego powinna być przynajmniej połową jego długości. Czasami jednak wysokość kodu jest skracana, aby dopasować ją do projektu opakowania. Takie skrócenie wysokości powoduje obniżenie zdolności do skanowania w dowolnej orientacji i przez to obniża wartość współczynnika poprawnego zeskanowania za pierwszym razem. Pomimo tego, że UPC jest kodem ciągłym to jego lewa i prawa połowa może być dekodowana niezależnie. Po lewej i prawej stronie kodu kreskowego powinien być pusty margines o szerokości 9 modułów. Kod też może zawierać dwa lub pięć dodatkowych znaków. Te dodatkowe cyfry używane są głównie na czasopismach i książkach.

Kod UPC-A jest podzielony na cztery obszary:
  • Numer systemu (1 znak)
  • Kod producenta (5 znaków)
  • Kod produktu (5 znaków)
  • Cyfra kontrolna (1 znak)

Numer systemu

Numer systemu jest drukowany po lewej stronie kodu kreskowego, a cyfra kontrolna po prawej stronie. Kod producenta i produktu drukowane są pod kodem. Numer systemu jest pojedynczą cyfrą, która określa rodzaj produktu. Poniższa tabela prezentuje, co każdy symbol oznacza.
Numer systemu Opis
0 Zwykły kod UPC
1 Zarezerwowany
2 Waga artykułów oznaczana w sklepach
3 Lekarstwa
4 Nie ma szczególnych zastosowań, w sklepach używane do artykułów nie będących żywnością
5 Kupony
6 Zarezerwowany
7 Zwykły kod UPC
8 Zarezerwowany
9 Zarezerwowany

Kod producenta

Kod producenta jest unikalnym kodem przydzielonym przez UCC dla każdego producenta albo firmy, której towary zawierają kod UPC-A. Wszystkie towary sprzedawane przez daną firmę będą posiadać ten sam kod producenta.

Wszystkich możliwych kodów producentów jest 99999. Wynika to z długości kodu producenta. Zatem każda firma, która posiada swój kod producenta może oznakować 99999 swoich produktów.

Kod produktu

Kod produktu jest unikalnym kodem przydzielonym przez producenta. Inaczej niż kod producenta, który musi być przydzielony przez UCC, producent ma wolną rękę w przydzielaniu numerów produktów bez konieczności konsultacji z UCC lub inną organizacją. Każdy towar sprzedawany przez producenta i każda wielkość opakowania musi mieć swój unikalny numer UPC. Np. kawa w opakowaniu 0.5 kg musi mieć inny kod od tej samej kawy w opakowaniu 0.25 kg. Odkąd UCC czuwa nad tym, aby kod producenta się nie powtarzał, producent musi tylko pilnować, aby nie powtarzał swoich kodów produktów.
Każdy producent ma do dyspozycji 99999 kodów produktów. Jest mało prawdopodobne, że jakiś producent miałby aż tyle produktów do sprzedaży, więc daje to im dużą swobodę.

Cyfra kontrolna

Cyfra kontrolna jest dodatkową cyfrą służącą weryfikacji, czy kod został bezbłędnie rozkodowany. Sprawdzanie poprawności skanowania jest przydatne, gdyż skanery mogą podawać błędne dane (nieodpowiednia szybkość skanowania, zła jakość druku kodu).

Cyfra kontrolna jest obliczana na podstawie 11 pierwszych znaków. Poniżej przedstawiony jest sposób obliczeń wraz z przykładem dla kodu 63938200039.

1. Zsumować wartości wszystkich cyfr na nieparzystych pozycjach (tzn. cyfry na pozycjach: 1, 3, 5, 7, 9, 11)
6 + 9 + 8 + 0 + 0 + 9 = 32
2. Przemnożyć otrzymany wynik przez liczbę 3 32 * 3 = 96
3. Zsumować wartości wszystkich cyfr na parzystych pozycjach (tzn. cyfry na pozycjach: 2, 4, 6, 8, 10)
3 + 3 + 2 + 0 + 3 = 11
4. Dodać wartość otrzymaną w kroku 2 do wartości w kroku 3
96 + 11 = 107
5. Należy wziąć liczbę otrzymaną w punkcie 4 i podzielić całkowicie przez 10
107 mod 10 = 7
6. Od liczby 10 odjąć wynik otrzymany w punkcie 5
10 - 7 = 3
Wynik otrzymany po tych operacjach jest cyfrą kontrolną (3). Jeżeli wynikiem byłaby liczba 10 to cyfrą kontrolną byłoby 0.

Za każdym razem podczas skanowania skaner oblicza cyfrę kontrolną. Jeżeli obliczona cyfra kontrolna jest różna od tej zeskanowanej to znaczy, że coś zostało źle zeskanowane i należy powtórzyć skanowanie.

Kod UPC-A jest podzbiorem bardziej ogólnego kodu EAN. Kod UPC jest kodem EAN-13 z pierwszą cyfrą (kodem systemu) o wartości 0. Oznacza to, że każdy program lub urządzenie przystosowane do czytania EAN-13 będzie także czytać kod UPC-A. Ale potrafiące odczytywać kody UPC-A nie koniecznie muszą potrafić odczytywać kody EAN-13.

Przykład


Przykład wygenerował program HDF® BarCode System.