Jak fungují QR kódy? K čemu slouží každá část vzoru
Telefon přečte QR kód zhruba za desetinu vteřiny a pokaždé stejným postupem: najde tři rohové čtverce, určí mřížku, přečte proužek, který říká, jak je zbytek zakódovaný, zruší maskovací vzor a potom složí data a opraví, co bylo poškozené.
Každý čtvereček ve vzoru patří k některému z těch kroků. Tady je ke kterému.
Tři rohové čtverce: nalezení a natočení
Velké čtverce ve třech rozích jsou vyhledávací vzory. Čtečka je hledá jako první a jejich poměr tmavých a světlých pruhů — 1:1:3:1:1 podél jakékoli čáry vedené středem — je v běžných obrázcích záměrně vzácný, takže je kamera najde i na přeplácané fotce.
Tři, a ne čtyři, je celý trik: tři rohy určují, kde je nahoře. Proto se kód načte i vzhůru nohama a pod úhlem, a proto ho zakrytí jednoho rohu zabije rovnou, ať jste si zaplatili jakoukoli opravu chyb.
Tečkované čáry: nastavení mřížky
Mezi vyhledávacími vzory vedou jednoduché čáry střídavě tmavých a světlých modulů — časovací vzory. Říkají čtečce, kolik modulů je kód napříč, aby mohla na obrázek položit mřížku a vědět, kam padne každá buňka. Bez nich by se lehce natočená fotka v polovině kódu rozjela.
Malé čtverce: korekce na zakřivený povrch
Od verze 2 výš se uvnitř těla kódu objevují menší zarovnávací vzory. Jsou to vztažné body, díky kterým čtečka zruší zkreslení — kód na láhvi, na prohnuté etiketě nebo na fotce pořízené ze strany. Čím větší kód, tím víc jich nese.
Proužek u rohů: nastavení
Kolem vyhledávacích vzorů je omotaná informace o formátu: úroveň opravy chyb a to, který z osmi maskovacích vzorů byl použit. Čte se dřív než data, protože bez ní se data nedají vyložit. Má vlastní drobnou ochranu, oddělenou od úrovně, kterou jste zvolili — a právě proto se na ni ono „30 % poškození“ nikdy nevztahovalo.
Maskování: proč dva kódy na stejný odkaz vypadají jinak
Surová zakódovaná data často vytvoří velké prázdné plochy nebo pruhy a ty kameru matou — hůř, dokážou napodobit vyhledávací vzor. Kodér proto data zXORuje s jedním z osmi maskovacích vzorů, výsledek oboduje podle nežádoucích rysů a nechá ten nejlepší.
Proto tatáž adresa vytvoří v různých nástrojích viditelně jiné vzory a proto z uspořádání teček okem nic „nepřečtete“.
Jak jsou data rozložená
Data se zapisují do sloupců širokých dva moduly, od pravého dolního rohu klikatě nahoru, pak dolů, pak nahoru — kolem funkčních vzorů, nikdy skrz ně. Režimy kódování jsou čtyři a kodér volí ten nejúspornější, který se vejde: číselný, alfanumerický, bajtový (pod který spadají běžné adresy) a kandži.
Velikost se vyjadřuje jako verze, od 1 do 40 — od 21×21 modulů po 177×177, o čtyři moduly na stranu každý krok. Úplně nahoře pojme kód verze 40 s nejnižší opravou chyb asi 7089 číslic nebo 4296 alfanumerických znaků. V praxi to nikdo netiskne: je to hustá mřížka, kterou žádná kamera telefonu v rozumné velikosti nerozliší.
Oprava chyb: druhá kopie
Součástí každého kódu jsou obnovovací data Reedova-Solomonova kódu — matematická druhá kopie, díky které čtečka poskládá i to, co přečíst nedokáže. Úrovně jsou čtyři: zhruba 7 %, 15 %, 25 % a 30 % plochy dat k obnovení, od L po H.
Právě tenhle rozpočet platí za logo uprostřed, za škrábanec, za déšť na nálepce. A je to i důvod, proč vyšší úroveň zahustí vzor: obnovovací data se musí někam vejít.
Bílý okraj je součástí kódu
Klidová zóna — čtyři moduly volného místa dokola — není ozdoba. Podle ní čtečka pozná, kde kód končí a začíná svět. Ozdobný rámeček nakreslený natěsno ke vzoru ji odstraní, a tohle je jeden z nejčastějších důvodů, proč se krásný vytištěný kód nenačte.
Co dynamický kód doopravdy obsahuje
Častý omyl zní, že dynamický QR kód ukládá váš cíl a nějak se sám aktualizuje. Nemůže: vzor je pevný od chvíle, kdy je vytištěný.
Zapsaný je v něm krátký odkaz — doména a hrstka znaků. Načtení otevře ten krátký odkaz, který přepošle tam, kam kód právě míří. Změníte cíl a všechny vytištěné kusy jdou za ním, protože na vytištěném vzoru se měnit nemusí nic.
Má to praktický vedlejší účinek, který stojí za to znát: když je krátký odkaz jen pár desítek znaků, zůstane kód v nízké verzi s velkými, odolnými moduly. Statický kód nesoucí dlouhou adresu s parametry kampaně potřebuje při stejné fyzické velikosti mnohem hustší mřížku — a právě ten kód na plakátu selže.
Rychlé odpovědi
- Co jsou ty tři velké čtverce? Vyhledávací vzory. Díky nim čtečka kód najde a určí jeho natočení.
- Proč se kód načte vzhůru nohama? Protože tři rohy stačí k určení toho, kde je nahoře.
- Co jsou ty malé čtverce uvnitř? Zarovnávací vzory, které korigují zkreslení na zakřivených a nakloněných površích.
- Proč dva kódy na stejný odkaz vypadají jinak? Kvůli maskování. Kodér vybere ten z osmi vzorů, který dopadne nejlíp.
- Kolik dat se vejde? Až asi 7089 číslic při největší verzi a nejnižší opravě chyb — mnohem víc, než je únosné vytisknout.
- Je bílý okraj volitelný? Není. Podle klidové zóny čtečka najde hrany kódu.
- Ukládá dynamický kód můj odkaz? Ne. Ukládá krátký odkaz, který přeposílá, a proto se cíl mění bez přetisku.
Tým Enqre·Publikováno 22. 9. 2026