Enqre
Jak fungují QR kódy? K čemu slouží každá část vzoru

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