Krátce: QR kód má čtyři úrovně korekce chyb. L obnoví zhruba 7 % dat, M 15 %, Q 25 % a H 30 %. Čím vyšší úroveň, tím víc opravných dat kód nese a tím je hustší. Pro běžné použití stačí M, pro kód s logem nebo do špinavého prostředí se hodí H.
Jak korekce chyb funguje
QR kód neukládá jen samotná data. Přidává k nim opravná data spočítaná metodou Reed-Solomon, tedy stejným matematickým postupem, jaký se používá třeba u hudebních CD. Když se část kódu poškodí, čtečka z opravných dat chybějící část dopočítá.
Oprava pracuje po bajtech, takzvaných kódových slovech. Na opravu jednoho poškozeného kódového slova jsou potřeba dvě opravná kódová slova. Proto korekce chyb výrazně zvětšuje objem dat v kódu.
Úroveň korekce si volí ten, kdo kód vytváří. Zapíše se do takzvané formátové informace v kódu, kterou čtečka při dekódování čte jako první. Uživatel proto nic nenastavuje.
Čtyři úrovně podle DENSO WAVE
| Úroveň | Obnovitelnost (přibližně) |
|---|---|
| L | 7 % |
| M | 15 % |
| Q | 25 % |
| H | 30 % |
Hodnoty uvádí DENSO WAVE, firma, která QR kód vyvinula. Procenta se týkají kódových slov, ne plochy obrázku. Kód s úrovní H tedy nesnese libovolné zakrytí 30 % plochy. Záleží na tom, které části chybí.
Zvlášť opatrně zacházejte se třemi velkými čtverci v rozích. Jsou to takzvané detekční vzory polohy a nepatří k datům, která korekce chyb opravuje. Náš generátor proto logo nikdy neumisťuje přes ně.
Vyšší úroveň znamená hustší kód
QR kód má 40 velikostí, kterým se říká verze. Verze 1 má 21 × 21 modulů (malých čtverečků), každá další verze přidává 4 moduly na stranu, až po verzi 40 se 177 × 177 moduly.
Do každé verze se vejde jen určité množství dat a to závisí na úrovni korekce. Čím víc místa zaberou opravná data, tím méně zbude pro vlastní obsah. Následující tabulka ukazuje, kolik bajtů (znaků v binárním režimu) se vejde do vybraných verzí. Čísla pocházejí z tabulky DENSO WAVE.
| Verze (moduly) | L | M | Q | H |
|---|---|---|---|---|
| 1 (21 × 21) | 17 | 14 | 11 | 7 |
| 2 (25 × 25) | 32 | 26 | 20 | 14 |
| 3 (29 × 29) | 53 | 42 | 32 | 24 |
| 4 (33 × 33) | 78 | 62 | 46 | 34 |
| 5 (37 × 37) | 106 | 84 | 60 | 44 |
| 6 (41 × 41) | 134 | 106 | 74 | 58 |
| 10 (57 × 57) | 271 | 213 | 151 | 119 |
| 40 (177 × 177) | 2 953 | 2 331 | 1 663 | 1 273 |
Pro čísla a písmena bez diakritiky existují úspornější režimy, do kterých se vejde víc znaků. Náš generátor ukládá obsah v binárním režimu jako UTF-8, aby fungovala i česká diakritika. Písmena s diakritikou zaberou v UTF-8 víc než jeden bajt, proto počítejte s bajty, ne se znaky.
Příklad: odkaz o 45 znacích
Vezměme odkaz dlouhý 45 znaků. Podle tabulky výše:
- L: vejde se do verze 3 (53 bajtů), kód má 29 × 29 modulů.
- M: verze 3 pojme jen 42 bajtů, potřebuje verzi 4, tedy 33 × 33 modulů.
- Q: verze 4 pojme 46 bajtů, kód má také 33 × 33 modulů.
- H: verze 5 pojme jen 44 bajtů, potřebuje verzi 6, tedy 41 × 41 modulů.
Při stejné vytištěné velikosti je tedy každý modul kódu s úrovní H výrazně menší než u úrovně L. Malé moduly jsou náchylnější na rozmazání tisku a telefon je musí rozlišit z menší vzdálenosti. Proto u hustého kódu pomáhá větší rozměr. Spočítat ho můžete v kalkulačce velikosti QR kódu.
Co korekce chyb neřeší
Korekce chyb opravuje poškozený obrázek, ne chybný obsah. Když do kódu zapíšete špatný odkaz nebo překlep v čísle účtu, čtečka ho přečte naprosto spolehlivě, jen bude špatně.
Obsah proto kontrolujte zvlášť. Odkaz si po vytvoření otevřete v telefonu. U QR platby použijte kontrolu QR platby: ověří IBAN podle kontrolního součtu modulo 97 a české číslo účtu podle kontrolního součtu modulo 11.
Vyšší úroveň korekce také nenahradí dostatečnou velikost tisku. Korekce počítá s tím, že poškozená je jen část kódu. Když jsou moduly příliš drobné v celé ploše, je lepší kód zvětšit nebo zkrátit jeho obsah. Kolik místa kód potřebuje, spočítá kalkulačka velikosti.
Kterou úroveň kdy použít
DENSO WAVE doporučuje zvažovat prostředí a velikost kódu. Uvádí, že úroveň Q nebo H se hodí do továrního prostředí, kde se kód špiní, úroveň L do čistého prostředí s velkým množstvím dat a že nejčastěji se volí M.
| Použití | Rozumná volba |
|---|---|
| Leták, vizitka, plakát uvnitř | M. Kód zůstane řídký a snese běžné opotřebení. |
| Kód s logem uprostřed | H. Logo zakrývá část modulů a tu musí korekce nahradit. |
| Venkovní cedule, štítek na stroji, sklad | Q nebo H. Počítejte s prachem, odřením a odlesky. Kód raději zvětšete. |
| Hodně dat v malém prostoru, čisté prostředí | L. Kód je nejřidší, ale nejméně odolný. |
| QR platba (CZK) | M. Specifikace QR platby uvádí, že kód pro tištěná média má mít úroveň M. |
| EPC QR kód (EUR) | M. Standard Evropské platební rady EPC069-12 předepisuje úroveň M. |
Jak to dělá náš generátor
- Výchozí úroveň je M. Platí pro všechny typy kódů: odkaz, Wi-Fi, vizitku i QR platbu.
- Logo přepne na H. Jakmile v generátoru QR kódu s logem nahrajete obrázek, kód se vytvoří s nejvyšší úrovní korekce.
- Velikost verze se volí sama. Generátor vezme nejmenší verzi, do které se obsah při dané úrovni vejde.
- Vše běží v prohlížeči. Obsah kódu ani logo se nikam neodesílají a kód je statický, takže nevyprší.
Kalkulačka velikosti QR kódu s tím počítá: když zaškrtnete, že kód bude mít logo, spočítá hustotu pro úroveň H.
Časté otázky
Kterou úroveň korekce zvolit, když nevím?
M. Podle DENSO WAVE, autora QR kódu, je to nejčastěji volená úroveň. Náš generátor ji používá jako výchozí.
Proč je kód s logem hustší?
Logo zakrývá část modulů, takže generátor přepne na úroveň H. Ta ukládá víc opravných dat, a kód proto potřebuje víc modulů.
Znamená H, že můžu zakrýt 30 % kódu?
Ne doslova. Číslo udává, kolik kódových slov lze obnovit. Zakrytí rohových čtverců nebo nerovnoměrné poškození může kód vyřadit i dřív.
Jakou úroveň má mít QR platba?
Specifikace QR platby doporučuje pro tištěná média úroveň M. Stejnou úroveň předepisuje i evropský EPC QR kód pro platby v eurech.
Pozná telefon, jakou úroveň kód má?
Ano. Úroveň korekce je zapsaná přímo v kódu a čtečka si ji přečte sama. Nic nenastavujete.
Související nástroje
Kód s logem a automatickou korekcí H vytvoříte v generátoru QR kódu s logem. Jak velký ho vytisknout, spočítá kalkulačka velikosti. Další rady k tisku najdete v návodu QR kód do tisku.
Zdroje
- DENSO WAVE (QRcode.com) – Error correction feature
- DENSO WAVE (QRcode.com) – Information capacity and versions of QR Code
- DENSO WAVE (QRcode.com) – What is a QR Code?
- KEYENCE – What is a QR code? (struktura kódu)
- ISO/IEC 18004:2024 – QR code bar code symbology specification
- qr-platba.cz – Specifikace formátu QR platby (Česká bankovní asociace)
- European Payments Council – EPC069-12 Quick Response Code Guidelines (v3.1)
Naposledy zkontrolováno: 1. října 2026