Przejdź do treści

Kod QR – co dokładnie jest zapisane w symbolu

  • przez
Kod QR – co dokładnie jest zapisane w symbolu

W symbolu kodu QR zapisane są dane wprowadzone przy jego tworzeniu oraz dołożone do nich słowa kodowe korekcji błędów, a obok nich wzorce, po których czytnik odnajduje symbol i ustala jego położenie – tak opisuje budowę kodu serwis qrcode.com prowadzony przez DENSO WAVE INCORPORATED, spółkę, która kod opracowała, stan na 10 września 2026 roku. Co dokładnie zakodowano, po samym wyglądzie symbolu poznać się nie da; wydawca zaznacza, że w odróżnieniu od kodu kreskowego wygląd kodu QR nie mówi nic o przechowywanych w nim danych.

Za tym opisem stoją dwie odrębne warstwy. Wymagania dotyczące samej symboliki opisuje norma ISO/IEC 18004, w Polsce wprowadzona jako PN-ISO/IEC 18004. Wyraz „QR Code” jest natomiast zarejestrowanym znakiem towarowym DENSO WAVE INCORPORATED, a zastrzeżenie obejmuje sam wyraz, nie wzór graficzny.

Pojemność symbolu, źródło jego odporności na uszkodzenia i warunki używania samej nazwy opisano tu na podstawie materiałów właściciela znaku. Treści odpłatnej normy na potrzeby tego opracowania nie odczytano. Przy każdym z tych wątków jest to zaznaczone osobno.

Co zawiera symbol kodu QR

Symbol zbudowany jest z modułów, czyli czarnych i białych kwadratów. Część z nich niesie zakodowane dane wraz ze słowami kodowymi korekcji błędów, część tworzy wzorce służące odnalezieniu kodu, a wokół całości pozostaje pusty margines.

Wzorce namierzania to kwadratowe znaczniki umieszczone w trzech narożnikach symbolu. Proporcja szerokości czarnych i białych pól w takim znaczniku wynosi 1:1:3:1:1, a wzięła się z przeglądu druków wykonanego przez zespół konstruktorów, który szukał układu najrzadziej spotykanego na formularzach i opakowaniach. Czytnik odnajduje tę proporcję i ustala orientację kodu niezależnie od kąta odczytu w pełnym zakresie 360 stopni. Model 2 kodu, opisany przez DENSO WAVE jako ulepszenie pierwotnej wersji, ma dodatkowo wzorzec wyrównania, po którym odczytać można również symbol wydrukowany na powierzchni zakrzywionej albo widziany pod kątem.

Margines jest częścią wymaganego obszaru kodu. Wg serwisu DENSO WAVE symbol wymaga wolnego pola o szerokości czterech modułów z każdej strony, stan na 10 września 2026 roku.

Wymagania dotyczące samej symboliki zawiera norma ISO/IEC 18004 i tak też brzmi tytuł jej polskiego wprowadzenia w katalogu Polskiego Komitetu Normalizacyjnego. Treści tej normy na potrzeby tego opracowania nie odczytano, ponieważ serwis iso.org odpowiadał 10 września 2026 roku kodem 403 na każdej z trzech sprawdzonych ścieżek. Żadne zdanie w tym tekście nie jest więc cytatem z normy.

Baza wiedzy CERT Polska wymienia kod QR wśród kanałów, którymi trafia do odbiorcy odnośnik służący do realizacji płatności, obok wiadomości SMS, poczty elektronicznej i komunikatorów.

PRZECZYTAJ  Pompa ciepła – zasada działania i co oznacza COP

Skąd bierze się odporność kodu na uszkodzenia

Odporność bierze się z korekcji błędów wpisanej w symbol. Do danych dokładany jest kod Reeda–Solomona, a strona tworząca symbol wybiera jeden z czterech poziomów korekcji, oznaczonych literami L, M, Q oraz H.

Poziomy różnią się odsetkiem słów kodowych możliwych do odtworzenia. Wg zestawienia „QR Code Outline Specification”, opublikowanego przez DENSO WAVE na stronie „QR Code Standardization”, odtworzeniu podlega w przybliżeniu 7 procent słów kodowych przy poziomie L, 15 procent przy poziomie M, 25 procent przy poziomie Q i 30 procent przy poziomie H, stan na 18 września 2026 roku. Dla otoczenia produkcyjnego, w którym kod się brudzi, wydawca wymienia poziom Q albo H, dla otoczenia czystego przy dużej ilości danych – poziom L, a poziom M z odsetkiem 15 procent nazywa wybieranym najczęściej.

Kod Reeda–Solomona jest matematyczną metodą korekcji stosowaną między innymi na płytach kompaktowych. Opisali ją w 1960 roku Irving S. Reed i Gustave Solomon, wówczas pracownicy MIT Lincoln Laboratory, w pracy „Polynomial Codes over Certain Finite Fields” ogłoszonej w Journal of the Society for Industrial and Applied Mathematics – jako konstrukcję algebraiczną, bez wskazanego zastosowania docelowego. W łączności z sondami kosmicznymi zastosowano ją kilkanaście lat później, po opracowaniu wydajnego algorytmu dekodowania przez Elwyna Berlekampa; serwis DENSO WAVE wiąże powstanie tej metody wprost z zakłóceniami łączności ze sztucznymi satelitami i sondami. Poprawia błędy na poziomie bajtu, co czyni go przydatnym przy uszkodzeniach skupionych w jednym miejscu. Słowo kodowe jest w kodzie QR jednostką budującą obszar danych i odpowiada ośmiu bitom.

Ile danych mieści symbol i od czego to zależy

Pojemność wydawca wiąże z wersją symbolu, rodzajem zapisywanych znaków i poziomem korekcji. Model 2 ma 40 wersji – od 21 na 21 modułów w wersji pierwszej do 177 na 177 modułów w czterdziestej, z przyrostem czterech modułów na bok przy każdym kolejnym numerze. Pierwotny Model 1 sięgał wersji czternastej, czyli 73 na 73 moduły.

Maksima podane przez DENSO WAVE dla Modelu 2 przy najwyższej, czterdziestej wersji symbolu wynoszą 7089 znaków w zapisie numerycznym, 4296 znaków w zapisie alfanumerycznym, 2953 znaki w zapisie ośmiobitowym i 1817 znaków kanji, stan na 18 września 2026 roku. Samo zestawienie wydawcy nie nazywa poziomu korekcji, ale dział odpowiedzi tego samego serwisu wiąże maksimum pojemności z wersją czterdziestą przy poziomie korekcji L. Symbole można także łączyć. Pojedynczy komunikat rozkłada się wtedy na najwyżej 16 symboli, co wydawca opisuje jako sposób na druk w wąskim polu.

Na pojemność wpływa także rodzaj zapisywanych znaków. Wg działu odpowiedzi serwisu qrcode.com kod QR przechowuje znaki w czterech trybach: numerycznym dla cyfr od 0 do 9, alfanumerycznym dla tych cyfr, 26 wielkich liter i dziewięciu znaków dodatkowych, kanji dla wskazanych zakresów znaków japońskich oraz ośmiobitowym bajtowym. Wybór trybu należy do strony generującej kod, dlatego te same dane zapisane różnymi programami dają symbole o różnym wzorze.

PRZECZYTAJ  Profesjonalne zastosowanie dronów

Dlaczego nazwa jest zastrzeżona, a stosowanie kodu wolne

Wyraz „QR Code” jest zarejestrowanym znakiem towarowym DENSO WAVE INCORPORATED w Japonii i w innych krajach. Użycie samego kodu wg tej samej spółki nie wymaga zgłoszenia, opłaty ani umowy licencyjnej, o ile kod pozostaje zgodny z normą JIS albo ISO.

Zastrzeżenie dotyczy wyrazu, a nie wzoru graficznego kodu. Przy użyciu tego wyrazu w publikacji lub w serwisie internetowym wydawca prosi o adnotację wskazującą znak towarowy; przy samym obrazie kodu, bez nazwy, adnotacji nie oczekuje. Spółka podaje też, że udostępniła specyfikację publicznie i zrzekła się praw z patentu nr 2938338, przy czym zrzeczenie obejmuje wyłącznie kody zgodne z normą. Przy kodzie odbiegającym od normy kieruje do kontaktu z uprawnionymi z patentów.

Zastosowania wymieniane przez wydawcę obejmują druki, systemy płatności, produkcję, logistykę oraz śledzenie towaru w branży spożywczej i farmaceutycznej. W 2012 roku kod otrzymał nagrodę Good Design w kategorii mediów dla przemysłu, przyznawaną przez Japan Institute of Design Promotion.

Norma techniczna wobec przepisu prawa

Norma nie jest aktem prawnym. Ustawa z 12 września 2002 roku o normalizacji definiuje dokument normalizacyjny jako dokument ustalający zasady, wytyczne lub charakterystyki i niebędący aktem prawnym, a stosowanie Polskich Norm określa jako dobrowolne (art. 2 pkt 3 i art. 5 ust. 3).

Polską Normą jest, zgodnie z art. 5 ust. 1 tej ustawy, norma krajowa przyjęta w drodze konsensu i zatwierdzona przez krajową jednostkę normalizacyjną, powszechnie dostępna i oznaczona na zasadzie wyłączności symbolem PN. Krajową jednostką normalizacyjną jest Polski Komitet Normalizacyjny (art. 9 ust. 1), a do jego zadań należy zatwierdzanie i wycofywanie Polskich Norm (art. 11 pkt 3). Przepisy przytoczone są za tekstem jednolitym ogłoszonym w Dz. U. z 2015 r. poz. 1483, stan na 10 września 2026 roku.

Art. 5 ust. 2 dopuszcza, by Polska Norma była wprowadzeniem normy międzynarodowej i by wprowadzenie nastąpiło w języku oryginału. Tak jest w tym przypadku. W katalogu PKN aktualne wydanie, PN-ISO/IEC 18004:2026-02, figuruje wyłącznie w wersji angielskiej i wprowadza ISO/IEC 18004:2024, a wersją polską jest wycofane wydanie PN-ISO/IEC 18004:2019-12 (odczyt katalogu 10 września 2026 roku). Odrębnie ustawa stanowi w art. 5 ust. 4, że Polskie Normy mogą być powoływane w przepisach prawnych po ich opublikowaniu w języku polskim.

Art. 5 ust. 5 przyznaje normom ochronę jak utworom literackim, a autorskie prawa majątkowe do nich przypisuje krajowej jednostce normalizacyjnej. DENSO WAVE po specyfikację kodu odsyła do ISO, wskazując, że dokument można tam nabyć.

Skąd wziął się kod QR i co się w nim zmieniało

Kod ogłoszono w 1994 roku. Powstał w DENSO WAVE, wtedy dziale DENSO CORPORATION, jako odpowiedź na ograniczenie kodu kreskowego, który mieści około dwudziestu znaków alfanumerycznych, a użytkownicy prosili o zapis znaków japońskich i o większą pojemność.

PRZECZYTAJ  BLIK – co się dzieje między telefonem a bankiem

Skrót QR pochodzi od quick response i oddaje założenie konstrukcyjne, którym była szybkość odczytu. Prace prowadził dwuosobowy zespół, a kierował nimi Masahiro Hara. Efektem po półtora roku był kod mieszczący około 7000 cyfr, z zapisem znaków kanji, odczytywany wg wydawcy ponad dziesięć razy szybciej niż inne ówczesne kody.

Kalendarz normalizacji opublikowany przez DENSO WAVE wymienia kolejno: październik 1997 roku i standard AIM International, marzec 1998 roku i standard JEIDA-55, styczeń 1999 roku i japońską normę JIS X 0510, czerwiec 2000 roku i zatwierdzenie normy międzynarodowej ISO/IEC 18004, listopad 2004 roku i objęcie normą JIS kodu Micro QR oraz grudzień 2011 roku i zatwierdzenie przez organizację GS1 na potrzeby telefonów komórkowych.

Zmieniała się także rodzina kodów. Micro QR ma jeden wzorzec namierzania zamiast trzech i wymaga marginesu szerokości dwóch modułów, mieści najwyżej 35 cyfr i występuje w czterech wariantach oznaczonych od M1 do M4. Kod iQR wydawca datuje na 2008 rok, a FrameQR, łączący symbol z ilustracją, na 2014 rok. Prostokątny rMQR mieści od 12 cyfr w układzie 7 na 43 moduły do około 361 znaków w układzie 17 na 139 modułów, a jego zatwierdzenie w ISO serwis datuje na maj 2022 roku.

Polskie wprowadzenie normy również się zmieniało. Wydanie PN-ISO/IEC 18004:2019-12 wprowadzało ISO/IEC 18004:2015 i ma dziś status wycofanego, a zastąpiło je wydanie PN-ISO/IEC 18004:2026-02 wprowadzające ISO/IEC 18004:2024. Tytuł normy w katalogu PKN brzmi „Technologia informatyczna – Techniki automatycznej identyfikacji i gromadzenia danych – Wymagania dotyczące symboliki kodów kreskowych kod QR”.

Źródła: DENSO WAVE INCORPORATED, serwis qrcode.com w wersji angielskiej, https://www.qrcode.com/en/ – podstrony „What is a QR Code” wraz z „Information capacity and versions of QR Code”, „Error correction feature”, „QR Code Standardization” i „Many ways of using QR Codes”, „Types of QR Code” wraz z opisami Model 1 i Model 2, Micro QR i rMQR, „How to introduce it” wraz z „Point for determining the code area”, „History of QR Code”, „FAQ” oraz „About the patent”; serwis nie podaje daty własnej dokumentów. Polski Komitet Normalizacyjny, wyszukiwarka norm, https://wiedza.pkn.pl/web/guest/wyszukiwarka-norm – rekordy PN-ISO/IEC 18004:2026-02 i PN-ISO/IEC 18004:2019-12. Ustawa z dnia 12 września 2002 r. o normalizacji w brzmieniu tekstu jednolitego ogłoszonego obwieszczeniem Marszałka Sejmu Rzeczypospolitej Polskiej z 8 września 2015 r. (Dz. U. z 2015 r. poz. 1483) – art. 2 pkt 3, art. 5 ust. 1–5, art. 9 ust. 1 i art. 11 pkt 3; tekst i wykaz aktów zmieniających za API Europejskiego Identyfikatora Prawodawstwa Kancelarii Sejmu, https://api.sejm.gov.pl/eli/acts/DU/2015/1483. CERT Polska (NASK), „(Nie)bezpieczne płatności”, https://cert.pl/baza-wiedzy/niebezpieczne-platnosci. Irving S. Reed, Gustave Solomon, „Polynomial Codes over Certain Finite Fields”, Journal of the Society for Industrial and Applied Mathematics, 1960 – praca wprowadzająca kod Reeda–Solomona, powstała w MIT Lincoln Laboratory. Wszystkie źródła odczytane 10 września 2026 roku, a podstrony DENSO WAVE o standaryzacji, korekcji błędów i modelach kodu oraz baza wiedzy CERT Polska ponownie 18 września 2026 roku.