Úrovně korekce chyb QR kódu: L, M, Q, H

Díky korekci chyb přečtete i odřený, zmačkaný nebo částečně zakrytý QR kód. Vyšší úroveň ale znamená hustší kód. Tady je, jak úrovně fungují a kterou kdy zvolit.

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ě)
L7 %
M15 %
Q25 %
H30 %

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)LMQH
1 (21 × 21)1714117
2 (25 × 25)32262014
3 (29 × 29)53423224
4 (33 × 33)78624634
5 (37 × 37)106846044
6 (41 × 41)1341067458
10 (57 × 57)271213151119
40 (177 × 177)2 9532 3311 6631 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ředH. Logo zakrývá část modulů a tu musí korekce nahradit.
Venkovní cedule, štítek na stroji, skladQ 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.
QR platba a logoLogo v QR platbě přepne korekci na H, a kód tak neodpovídá doporučení standardu. Pokud logo do platebního kódu přesto dáte, vyzkoušejte ho nejdřív v aplikaci své banky.

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.

TipNejlevnější způsob, jak kód zpevnit, je zkrátit obsah. Kratší odkaz znamená nižší verzi, větší moduly a víc rezervy i při vyšší úrovni korekce.

Č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

Naposledy zkontrolováno: 1. října 2026