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.
- Redakcja HNarzędzi
- Publikacja:
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):
- Policz produkty. Nowy numer wymaga każda cecha odróżniająca jeden produkt od drugiego: kolor, smak, rozmiar, sposób pakowania.
- 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.
- Zaloguj się w MojeGS1 i przypisz numery do produktów.
- 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ą.

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.

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ść:
- Wydrukuj kod w docelowym rozmiarze na docelowym materiale (etykieta, karton, folia).
- Zeskanuj go czytnikiem, którego użyje odbiorca, albo kilkoma aplikacjami w telefonie.
- Porównaj odczytaną liczbę z numerem, który wpisałeś, cyfra po cyfrze.
- 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.