Przejdź do treści
HNarzędzia
pl
Kategorie

Zdjęcia i grafika

Kod kreskowy EAN dla produktu: co wygenerujesz sam, a co musi pochodzić z GS1

Sklep lub marketplace prosi o „kod EAN”, a generator narysuje go z dowolnego poprawnego numeru. To dwie różne rzeczy: numer, który ma właściciela, i obrazek z kreskami. Poradnik pokazuje, co zrobisz sam, a co musi pochodzić z GS1.

Kod EAN na opakowaniu składa się z numeru i jego zapisu kreskami. Generator kodów kreskowych rysuje ten zapis z numeru, który mu podasz, ale nie nadaje numerów i nie łączy się z bazą GS1. Dla produktu sprzedawanego w sklepach i na platformach numer przydziela GS1, więc ładny obrazek z wymyślonym numerem nie rozwiązuje problemu.

Numer i obrazek to dwie różne rzeczy

GS1 Polska tłumaczy to krótko: EAN to kreski, a GTIN to cyfry. EAN jest jednym z kodów kreskowych GS1, w którym zapisano numer GTIN, a sam numer służy do jednoznacznej identyfikacji produktu na całym świecie. W mowie potocznej oba słowa znaczą to samo, ale numer da się zapisać także w innych kodach, np. ITF-14 na kartonach (GS1 Polska, FAQ, sprawdzone w październiku 2026).

Numer GTIN Obrazek kodu
Co to jest cyfry identyfikujące produkt zapis tych cyfr kreskami
Kto go tworzy GS1 (w Polsce GS1 Polska) przydziela firmie pulę numerów Ty, w generatorze lub programie graficznym
Co robi generator liczy lub sprawdza cyfrę kontrolną, podpowiada, czego dotyczy prefiks rysuje kod i zapisuje go jako SVG lub PNG

Podpowiedź o prefiksie wynika wyłącznie z pierwszych trzech cyfr. Prefiks 590 oznacza numer z puli GS1 Polska, ale generator nie sprawdza, czy ktoś ten numer faktycznie dostał. Numer wpisany w narzędziu na starcie (590123412345) to przykład, więc nie umieszczaj go na produkcie.

Kiedy wystarczy kod wewnętrzny, a kiedy potrzebny jest numer z GS1

O wyborze decyduje to, kto ma odczytać kod. Jeśli dane zostają w Twojej firmie, numer może być własny. Jeśli kod ma rozpoznać ktoś obcy, potrzebny jest numer, który nie powtórzy się u nikogo innego.

Sytuacja Co zrobić
Lokalizacje w magazynie, numery seryjne, numery dokumentów, inwentaryzacja Code 128 z własnym tekstem lub numerem. Nie potrzebujesz GS1.
Własny sklep lub kasa, towary ważone na miejscu, karty lojalnościowe Numer wewnętrzny, np. EAN-13 z prefiksem 200-299. Działa tylko w Twoim środowisku.
Własny produkt w sklepach, sieciach handlowych i na marketplace Numer GTIN z GS1.
Odsprzedajesz cudzy markowy towar, który ma już EAN na opakowaniu Używasz numeru producenta, nie nadajesz własnego.
Książka lub czasopismo (prefiksy 978, 979 i 977) ISBN lub ISSN od właściwej agencji, nie numer z puli firmy w GS1.

Code 128 to zwykły, ogólny standard kodu kreskowego (ISO/IEC 15417). GS1-128 jest jego podzbiorem, który służy do zapisu identyfikatorów GS1 (GS1 General Specifications, wydanie 26.0 ze stycznia 2026, sprawdzone w październiku 2026). Generator tworzy zwykły Code 128 bez dodatkowych elementów GS1, więc nadaje się do własnych oznaczeń. W Code 128 zapiszesz znaki ASCII (bez polskich liter), a tekst może mieć do 80 znaków. Code 39 przyjmuje tylko wielkie litery, cyfry i kilka znaków.

Prefiksy 20-29 w EAN-13, czyli numery zaczynające się od 200-299, GS1 rezerwuje na numery o ograniczonym obiegu (Restricted Circulation Numbers). Specyfikacja mówi, że nie wolno ich używać globalnie ani w otwartym obiegu i że poza swoim środowiskiem nigdy nie są unikalne. Zakres 20-29 jest określany przez krajową organizację GS1, więc jeśli planujesz użyć takich numerów poza jedną kasą, zapytaj GS1 Polska o lokalne zasady (źródło jak wyżej). Generator oznacza je w podpowiedzi jako numery do użytku wewnętrznego.

Kod wewnętrzny ma jedną wadę: nie przeniesiesz go do obiegu zewnętrznego. Gdy później zaczniesz sprzedawać przez platformę lub sieć, trzeba będzie nadać produktom numery GTIN i zmienić etykiety.

Co o numerach piszą GS1 i platformy

GS1 Polska podaje, że sprzedawca na Allegro, w Empiku, na Amazonie, eBayu lub Alibabie potrzebuje unikalnego numeru GTIN, a certyfikat uczestnictwa w systemie GS1 mogą wymagać Allegro i Amazon (GS1 Polska, Zamów GTIN, sprawdzone w październiku 2026). To opis wystawcy numerów, a nie regulamin platform. Zasady każdej platformy zmieniają się osobno, więc aktualne wymagania sprawdź w jej pomocy dla sprzedających.

Ten sam FAQ określa zasady nadawania numerów. Jednostka handlowa musi mieć GTIN przed złożeniem oferty sprzedaży, a numer przypisany raz nie może trafić do żadnego innego produktu. Dystrybutor, importer ani sklep nie nadają innego numeru towarowi, który już go ma, o ile nie zmieniono go tak, że wymagałby nowego.

Jak dostać numer z GS1

Według GS1 Polska droga wygląda tak (źródło: Zamów GTIN, sprawdzone w październiku 2026):

  1. Policz produkty. Nowy numer wymaga każda cecha odróżniająca jeden produkt od drugiego: kolor, smak, rozmiar, sposób pakowania.
  2. Wypełnij wniosek (potrzebne m.in. NIP i przychody firmy) i opłać go. Rejestracja trwa do 3 dni roboczych od złożenia wniosku i zaksięgowania wpłaty.
  3. Zaloguj się w MojeGS1 i przypisz numery do produktów.
  4. Pobierz certyfikat uczestnictwa, jeśli platforma go wymaga.

Opłata zależy od wielkości puli numerów i od przychodów firmy. Strona GS1 Polska podaje jako przykład pulę 10 numerów dla firmy z przychodami poniżej 2 mln zł netto: 136 zł brutto opłaty rocznej. Opłatę płaci się co 12 miesięcy. Bez niej nie możesz korzystać z numerów. Aktualny cennik jest na stronie GS1 Polska, a w innym kraju zasady ustala tamtejsza organizacja GS1.

Samego obrazka GS1 Polska nie sprzedaje: pisze, że kody kreskowe rysuje się w programach graficznych albo w MojeGS1. Gdy masz numer, możesz więc narysować kod w generatorze. Produkty tak małe, że nie mieści się na nich EAN-13, wymagają osobnej umowy na kod EAN-8 (opis na tej samej stronie).

Przykład: numer testowy i jego kod

Do pomiarów użyliśmy numeru testowego 200123456789. Prefiks 200 leży w zakresie użytku wewnętrznego, więc numer nie należy do żadnej firmy i nie nadaje się na produkt w sprzedaży. Pliki zapisał prawdziwy generator w Chromium, a wymiary i wagi zmierzyliśmy po pobraniu. Skrypt z całą procedurą to scripts/guide-fixtures/ean-barcode-for-products.mjs.

Cyfra kontrolna

Ostatnia cyfra EAN-13 służy do wykrycia pomyłki. Liczy się ją z pozostałych 12 cyfr: od prawej mnożysz je na przemian przez 3 i 1, sumujesz i bierzesz liczbę, której brakuje do pełnej dziesiątki. Dla 200123456789 suma wynosi 97, więc cyfra kontrolna to 3. Generator robi to sam. Przy 12 cyfrach dopisuje brakującą cyfrę (pełny kod: 2001234567893), a przy 13 cyfrach sprawdza ostatnią.

Generator kodów kreskowych z numerem 200123456789: narzędzie dopisało cyfrę kontrolną 3, pokazuje kod EAN-13 2001234567893 i informację, że prefiks 200 oznacza numer do użytku wewnętrznego

Gdy cyfra jest błędna, narzędzie nie rysuje kodu. Dla 2001234567793 (zmieniona jedna cyfra) pokazuje, że ostatnia cyfra powinna być 4, a przyciski „Pobierz PNG” i „Pobierz SVG” są wyłączone.

Generator kodów kreskowych z numerem 2001234567793: czerwony komunikat o błędnej cyfrze kontrolnej, która powinna być 4, i pusty podgląd

Cyfra kontrolna wyłapuje pomyłkę w jednej cyfrze, ale nie każdą zamianę. Przestawienie sąsiednich cyfr różniących się o 5 daje ten sam wynik: 2701234567892 i 7201234567892 mają obie poprawne cyfry kontrolne. Poprawna cyfra nie oznacza też, że numer został przydzielony. To tylko sprawdzenie arytmetyczne.

Wymiary plików

Wszystkie pliki powstały przy ustawieniach domyślnych: moduł (najwęższa kreska) 2 px, margines 22 px, wysokość kresek 140 px, tekst pod kodem włączony, PNG w skali 2×. Wagi podaję w KB po 1000 bajtów.

Plik Wymiary Waga
EAN-13 2001234567893, PNG 1× 258×204 px 5,1 KB
EAN-13, PNG 2× (domyślne) 516×408 px 12,9 KB
EAN-13, PNG 4× 1032×816 px 33,7 KB
EAN-13, SVG 258×204 px 2,4 KB
Code 128 „MAG-A-03-12”, PNG 2× 712×408 px 13,3 KB
Code 128 „MAG-A-03-12”, SVG 356×204 px 2,3 KB

Przy domyślnym PNG 2× (etykieta „2× (druk, 300 DPI)”) narzędzie podaje rozmiar „ok. 44 × 35 mm przy 300 DPI”, a dla Code 128 „ok. 60 × 35 mm”. SVG ma wymiary w pikselach, ale jako wektor skalujesz go bez utraty ostrości do dowolnego rozmiaru.

Wymiary, strefa ciszy i kolory do druku

Dane z GS1 General Specifications (wydanie 26.0, styczeń 2026, sprawdzone w październiku 2026) dla EAN-13 w sprzedaży detalicznej:

  • Moduł: od 0,264 do 0,660 mm, wartość nominalna 0,330 mm (czyli skalowanie od 80% do 200%).
  • Strefa ciszy, czyli pusty margines po bokach kodu: 11 modułów z lewej i 7 z prawej.
  • Wysokość kresek bez tekstu: nie mniej niż ok. 69 modułów (18,28 mm przy module 0,264 mm i 22,85 mm przy 0,330 mm). Specyfikacja zabrania skracania kresek poniżej tej wartości.

Strefa ciszy

Domyślny margines narzędzia to 22 px przy module 2 px, czyli 11 modułów z każdej strony (górny i dolny też mają 22 px). Z włączonym tekstem EAN-13 ma po lewej jeszcze 12 modułów pustego miejsca na pierwszą cyfrę, więc lewa strefa jest większa niż minimum. Sprawdziliśmy, co dzieje się przy mniejszych marginesach. PNG 1× (wysokość kresek 140 px) odczytywała biblioteka ZXing 0.21.3 w Node, także po wstawieniu na ciemne tło (#303030):

Margines Wymiary PNG Odczyt ZXing
0 px 214×160 px nie odczytano
4 px (2 moduły) 222×168 px nie odczytano
8 px (4 moduły) 230×176 px odczytano
14 px (7 modułów) 242×188 px odczytano
22 px (11 modułów, domyślny) 258×204 px odczytano

To wynik jednego dekodera, a skaner w kasie może wymagać więcej. Widać jednak, że zerowy i bardzo mały margines psuje odczyt nawet w programie. Nie zmniejszaj marginesu poniżej wartości ze specyfikacji i nie przycinaj obrazka tuż przy kreskach. Jeśli drukujesz kod na etykiecie z ramką lub ciemnym obramowaniem, zostaw wokół kresek jasne pole.

Wysokość kresek

Domyślne 140 px przy module 2 px to 70 modułów, czyli tyle, ile GS1 wymaga minimum dla EAN-13 w handlu (ok. 69). PNG 1× ma wtedy 258×204 px i ZXing go odczytuje. Jeśli zmniejszysz wysokość suwakiem, kreski będą krótsze niż wymaga specyfikacja. Dla kodów wewnętrznych skanowanych w magazynie może to wystarczyć, ale sprawdź je na własnym czytniku.

Skala i druk

Do druku wybierz SVG i ustaw rozmiar w programie graficznym tak, żeby najwęższa kreska miała od 0,264 do 0,660 mm. Domyślny PNG 2× (etykieta „2× (druk, 300 DPI)”) ma moduł 4 px, czyli przy 300 DPI ok. 0,34 mm: prawie wymiar nominalny. Moduł 8 px z PNG 4× to ok. 0,68 mm, tuż powyżej górnej granicy 0,660 mm, więc taki plik wstaw w druku w skali ok. 50%.

Kolory

Kreski muszą być ciemniejsze od tła i mocno się od niego różnić. Generator ostrzega, gdy kreski są jaśniejsze od tła albo kontrast jest za mały. W teście kod z białymi kreskami na czarnym tle nie został odczytany przez ZXing. Szare kreski (#999999) na białym tle ZXing odczytał, ale narzędzie ostrzega przed takim kontrastem, bo skaner laserowy może sobie z nim nie poradzić. Przezroczyste tło zostaw do projektów graficznych: na gotowej etykiecie pod kodem ma być jasne pole.

Test odczytu

Odczyt w telefonie lub zwykłym czytniku potwierdza tylko, że kod daje się zdekodować. GS1 Polska zwraca uwagę, że zwykły czytnik nie wystarcza do oceny jakości kodu: ocenia ją specjalnymi weryfikatorami na próbkach opakowań lub projektów (GS1 Polska, weryfikacja kodów, sprawdzone w październiku 2026). Uczestnicy systemu mogą co roku sprawdzić bezpłatnie pierwsze dwa kody (FAQ).

Praktyczna kolejność:

  1. Wydrukuj kod w docelowym rozmiarze na docelowym materiale (etykieta, karton, folia).
  2. Zeskanuj go czytnikiem, którego użyje odbiorca, albo kilkoma aplikacjami w telefonie.
  3. Porównaj odczytaną liczbę z numerem, który wpisałeś, cyfra po cyfrze.
  4. Przy dużym nakładzie zleć weryfikację jakości.

W naszym pomiarze ZXing odczytał z pliku z narzędzia EAN-13 2001234567893 w PNG 1×, 2× i 4× oraz Code 128 „MAG-A-03-12”. To pomiar w Node na plikach z generatora, a nie test na czytniku w kasie.

A kod QR zamiast EAN?

Generator kodów QR zapisuje tekst, link lub dane kontaktowe i nie zastępuje numeru GTIN w kasie. GS1 Polska pisze o stopniowym wprowadzaniu kodów 2D w standardzie GS1 na kasach, a sieci handlowe zobowiązały się według inicjatywy „Sunrise 2027” być gotowe do końca 2027 roku. W tym okresie oba rodzaje kodów mają współistnieć (GS1 Polska, Kody kreskowe wchodzą w nową erę, sprawdzone w październiku 2026). Generator QR w serwisie nie ma trybu GS1, a numery o ograniczonym obiegu (np. z prefiksem 200-299) nie mogą być zapisane w kodach 2D według specyfikacji GS1.

Powiązany poradnik

Zdjęcia produktów do karty w sklepie przygotujesz według poradnika Jak przygotować zdjęcia produktów do sklepu.