2026-04-20 Knowledge Base

Code 128 vs Code 39: Który standard kodu kreskowego jest odpowiedni dla Twojej firmy?

Gotowy na wygenerowanie kodów?

Twórz wysokiej jakości etykiety w kilka sekund.

Uruchom generator →

Wdrażając system kodów kreskowych w magazynie, zakładzie produkcyjnym lub łańcuchu dostaw, jedną z pierwszych i najważniejszych decyzji technicznych, przed jakimi staniesz, jest wybór między standardem Code 128 a Code 39. Choć obie te symboliki należą do grupy kodów alfanumerycznych (1D), w praktyce służą do zupełnie różnych celów i charakteryzują się odmienną konstrukcją techniczną.

W dobie zaawansowanej automatyzacji i identyfikacji wizualnej, kody jednowymiarowe (liniowe) wciąż stanowią fundament operacyjny globalnego przemysłu. W odróżnieniu od kodów dwuwymiarowych (np. kodów QR lub DataMatrix), które wymagają zaawansowanych skanerów wizyjnych z kamerami cyfrowymi, tradycyjne kody liniowe mogą być bezproblemowo odczytywane przez proste, trwałe i bardzo tanie skanery laserowe.

Jeśli projektujesz wewnętrzny system śledzenia majątku (asset tracking), oznaczasz regały w magazynie wysokiego składowania lub identyfikujesz komponenty na linii produkcyjnej, wybór niemal zawsze sprowadza się do tych dwóch klasycznych formatów: Code 39 i Code 128. Dokonanie niewłaściwego wyboru może skutkować przewymiarowaniem etykiet, problemami z odczytem oraz trudnościami przy integracji z nowym sprzętem.

Poniżej przedstawiamy szczegółowe, eksperckie porównanie tych dwóch standardów pod kątem ich struktury, wydajności i zastosowania.


1. Co to jest Code 39 (Pionier standardów przemysłowych)?

Wprowadzony na rynek w 1974 roku przez firmę Intermec, Code 39 (znany również jako „Code 3 z 9” lub „3 of 9”) był pierwszym w historii kodem alfanumerycznym. Nazwa kodu odnosi się bezpośrednio do jego fizycznej konstrukcji: każdy znak w tym standardzie jest reprezentowany przez układ dziewięciu kresek i przerw (elementów), z których dokładnie trzy są szerokie (grube), a pozostałe sześć – wąskie.

Zestaw obsługiwanych znaków i ograniczenia

W swojej podstawowej wersji Code 39 jest kodem samosprawdzalnym i obsługuje 43 unikalne znaki:

  • Wszystkie wielkie litery alfabetu łacińskiego (od A do Z).
  • Cyfry (od 0 do 9).
  • Zestaw znaków specjalnych: spacja, -, ., $, /, +, %.
  • Znak gwiazdki (*) jest zarezerwowany wyłącznie jako znak startu i stopu. Skanery automatycznie odcinają ten znak podczas odczytu i nie przesyłają go do systemu komputerowego; służy on jedynie do informowania głowicy laserowej, gdzie zaczyna się i kończy kod.

Warto wiedzieć: Istnieje rozszerzona wersja tego kodu o nazwie „Full ASCII Code 39”, która umożliwia kodowanie małych liter i całego zestawu 128 znaków ASCII. Robi to jednak poprzez łączenie dwóch standardowych znaków (np. zakodowanie małej litery „a” wymaga wydrukowania kombinacji „+A”). Powoduje to natychmiastowe podwojenie fizycznej szerokości kodu, czyniąc go skrajnie nieefektywnym.

Kluczowe cechy Code 39:

  • Niska gęstość zapisu: Ponieważ każdy pojedynczy znak potrzebuje aż 9 szerokich i wąskich pasków, fizyczna długość kodu kreskowego drastycznie rośnie z każdym kolejnym znakiem w ciągu. Zakodowanie np. 15-znakowego numeru seryjnego sprawi, że kod będzie miał kilkanaście centymetrów długości, co uniemożliwi jego wydruk na małych etykietach.
  • Brak obowiązkowej sumy kontrolnej: W podstawowej konfiguracji Code 39 nie wymaga cyfry kontrolnej. Choć samosprawdzalna budowa eliminuje większość błędów, kod ten jest bardziej podatny na tzw. błędy podstawienia (substitution errors) niż nowoczesne standardy. Istnieje opcja wdrożenia sumy kontrolnej Modulo 43 dla zwiększenia bezpieczeństwa.
  • Maksymalna prostota odczytu: Z racji prostej dwustopniowej grubości pasków (gruby/cienki), nawet najtańsze skanery na świecie – w tym stare czytniki piórowe czy wysłużone lasery – odczytują Code 39 bez najmniejszych problemów.

2. Co to jest Code 128 (Nowoczesny standard wydajności)?

Opracowany w 1981 roku przez Computer Identics, Code 128 to nowoczesny kod liniowy o wysokiej gęstości zapisu. Został zaprojektowany w celu rozwiązania problemów z długością kodu Code 39, przy jednoczesnym dodaniu pełnego wsparcia dla tablicy ASCII i zaawansowanej sumy kontrolnej.

Pełna tablica ASCII i kompresja znaków

Code 128 pozwala na zakodowanie wszystkich 128 znaków standardowej tablicy ASCII—w tym małych i wielkich liter, znaków interpunkcyjnych, a także znaków sterujących (np. przejścia do nowej linii, tabulatora).

Aby zachować kompaktowe wymiary przy tak szerokim spektrum znaków, Code 128 używa trzech różnych zestawów znaków (Subset A, B, C) i potrafi dynamicznie przełączać się między nimi wewnątrz jednego kodu kreskowego:

  • Zestaw A: Zawiera cyfry, wielkie litery oraz znaki sterujące i kontrolne.
  • Zestaw B: Zawiera cyfry, wielkie i małe litery oraz standardowe znaki interpunkcyjne.
  • Zestaw C (Podwójna kompresja cyfr): To genialne rozwiązanie inżynieryjne. Zestaw C służy wyłącznie do kodowania cyfr w parach. Zamiast kodować pojedynczą cyfrę za pomocą jednego symbolu, system łączy dwie cyfry w jeden fizyczny wzorzec pasków. Dzięki temu, jeśli kodujesz ciąg samych cyfr (np. datę i numer seryjny 20260520), Code 128C skompresuje go do zaledre 4 znaków kodu zamiast 8, co daje potężną oszczędność miejsca na etykiecie.

Kluczowe cechy Code 128:

  • Wysoka gęstość zapisu: Wykorzystując cztery różne szerokości pasków i przerw (w przeciwieństwie do tylko dwóch w Code 39), Code 128 mieści znacznie więcej danych na tej samej powierzchni. Kod Code 128 jest zazwyczaj o 30% do 50% węższy od swojego odpowiednika w standardzie Code 39.
  • Obowiązkowa suma kontrolna: Każdy kod Code 128 posiada wbudowany, obligatoryjny znak kontrolny obliczany automatycznie przez generator na podstawie wagowego algorytmu Modulo 103. Sprawia to, że prawdopodobieństwo błędnego odczytu kodu (np. odczytania innej cyfry niż wydrukowana) wynosi mniej niż jeden na kilka milionów skanów.
  • Globalny standard logistyczny: Niezawodność i zwartość Code 128 sprawiły, że stał się on bazą dla międzynarodowego standardu GS1-128 (dawniej UCC/EAN-128), stosowanego na etykietach transportowych w obrocie towarowym na całym świecie.

3. Bezpośrednie porównanie techniczne

Cecha Code 39 Code 128
Rok wdrożenia 1974 1981
Gęstość i rozmiar Niska (Bardzo długi przy ponad 8 znakach) Wysoka (Kompaktowy, ultra-krótki dla liczb)
Obsługiwane znaki Tylko wielkie litery, cyfry, 7 symboli Pełne 128 ASCII (w tym małe litery)
Kompresja numeryczna Brak Tak (Podwójna gęstość cyfr w zestawie C)
Samosprawdzalność Tak Tak
Suma kontrolna Opcjonalna (Modulo 43) Obowiązkowa (Modulo 103, maksymalne bezpieczeństwo)
Główne branże Wojsko (MIL-STD), Motoryzacja, Elektronika Logistyka (GS1), Magazynowanie, Transport, Handel
Ryzyko błędnego odczytu Niskie, ale występuje (szczególnie przy uszkodzeniach) Ekstremalnie niskie (bliskie zeru dzięki Modulo 103)

4. Kiedy wybrać dany standard? Przewodnik wdrożeniowy

Aby podjąć właściwą decyzję projektową, przeanalizuj infrastrukturę i potrzeby swojej firmy:

Kiedy wybrać Code 39?

  1. Stary park maszynowy (Legacy): Jeśli w firmie używane są kilkunastoletnie skanery przemysłowe, czytniki wbudowane w stare terminale wózkowe lub systemy bazujące na starym oprogramowaniu, prosty Code 39 jest najbezpieczniejszym wyborem pod kątem kompatybilności.
  2. Krótkie ciągi tekstowe: Jeśli Twoje identyfikatory są bardzo krótkie (np. kod regału REG-A1 lub oznaczenie pokoju POK-12), fizyczna długość kodu Code 39 nie będzie problemem.
  3. Proste drukowanie bez wtyczek: Jeśli drukujesz kody bezpośrednio z arkusza tekstowego za pomocą darmowej czcionki kodów (gdzie wystarczy dodać gwiazdki na początku i na końcu ciągu znaków w Excelu, np. *KOD101*), Code 39 nie wymaga skomplikowanych bibliotek do obliczania sumy kontrolnej.

Kiedy wybrać Code 128 (Rekomendowane dla nowych wdrożeń)?

  1. Ograniczona przestrzeń na etykiecie: Jeśli oznaczacz małe przedmioty, podzespoły komputerowe, fiolki laboratoryjne lub dokumenty biurowe, Code 128 pozwoli na zaoszczędzenie miejsca i materiałów eksploatacyjnych.
  2. Długie numery seryjne i logistyczne: Jeśli kody zawierają numery serii, daty i identyfikatory dłuższe niż 8 znaków, technologia kompresji cyfr w Code 128 utrzyma szerokość kodu w ryzach, ułatwiając szybki odczyt.
  3. Wymóg stosowania małych liter: Gdy Twój system ERP/WMS rozróżnia wielkość liter w identyfikatorach lub wymaga przesyłania znaków specjalnych i poleceń systemowych w kodzie.
  4. Krytyczne znaczenie bezbłędności: W logistyce farmaceutycznej, sortowniach kurierskich i ewidencji wartościowego mienia błąd w odczycie jednej cyfry może wywołać poważne straty. Obowiązkowa suma kontrolna Modulo 103 w Code 128 daje gwarancję najwyższego bezpieczeństwa operacyjnego.

Podsumowanie

Podczas gdy Code 39 pozostaje prostym, historycznym pionierem wciąż cenionym w specyficznych, zamkniętych systemach wojskowych i motoryzacyjnych, Code 128 to nowoczesny, bezdyskusyjny standard rynkowy dla logistyki, magazynowania i transportu. Jego wysoka gęstość zapisu, pełna obsługa ASCII oraz niezawodna suma kontrolna czynią go najbardziej wydajnym i bezpiecznym kodem jednowymiarowym (1D).

Niezależnie od wybranej symboliki, zadbaj o perfekcyjną jakość wydruku, by czytniki nie miały problemów z kontrastem. Użyj BarcodeReady do wygenerowania bezbłędnych kodów Code 128 lub Code 39 w postaci profesjonalnych, bezstratnych wektorów SVG lub PDF!


Powiązane artykuły

Gotowy na wygenerowanie kodów?

Twórz wysokiej jakości etykiety w kilka sekund.

Uruchom generator
Back to Knowledge Base