[{"data":1,"prerenderedAt":530},["ShallowReactive",2],{"guide-qr-code-error-correction":3},{"id":4,"title":5,"body":6,"date":520,"description":521,"extension":522,"meta":523,"navigation":524,"path":525,"readingTime":526,"seo":527,"stem":528,"__hash__":529},"guides\u002Fguides\u002Fqr-code-error-correction.md","QR Code Error Correction: L, M, Q, H Levels Explained",{"type":7,"value":8,"toc":503},"minimark",[9,18,21,26,33,54,61,64,68,71,161,166,172,183,186,198,202,207,210,213,224,228,233,236,239,250,254,259,266,269,283,287,294,380,390,394,397,423,429,433,436,454,464,468,489,493,496],[10,11,12,13,17],"p",{},"QR codes have a superpower most people never think about: they can survive damage. Tear off a corner, smudge part of the surface, or cover a section — the code still scans. This resilience comes from ",[14,15,16],"strong",{},"error correction",", built into every QR code by design.",[10,19,20],{},"Understanding error correction levels helps you make smarter choices when generating QR codes for print, packaging, or digital screens.",[22,23,25],"h2",{"id":24},"how-qr-code-error-correction-works","How QR Code Error Correction Works",[10,27,28,29,32],{},"QR codes use ",[14,30,31],{},"Reed-Solomon error correction",", the same algorithm used in CDs, DVDs, and satellite transmissions. Here's the basic idea:",[34,35,36,44,51],"ol",{},[37,38,39,40,43],"li",{},"The encoder takes your raw data and splits it into ",[14,41,42],{},"data codewords"," (each codeword = 8 bits).",[37,45,46,47,50],{},"It then generates ",[14,48,49],{},"error correction codewords"," using polynomial division over a Galois field (GF(2⁸)).",[37,52,53],{},"Both data and error correction codewords are written into the QR code.",[10,55,56,57,60],{},"If part of the code gets damaged, the scanner reads the surviving error correction codewords and ",[14,58,59],{},"reconstructs the missing data"," mathematically.",[10,62,63],{},"This means a QR code can tolerate up to a certain percentage of damage and still function perfectly.",[22,65,67],{"id":66},"the-four-error-correction-levels","The Four Error Correction Levels",[10,69,70],{},"QR codes offer four levels, each trading data capacity for resilience:",[72,73,74,93],"table",{},[75,76,77],"thead",{},[78,79,80,84,87,90],"tr",{},[81,82,83],"th",{},"Level",[81,85,86],{},"Name",[81,88,89],{},"Damage Tolerance",[81,91,92],{},"Data Capacity Impact",[94,95,96,113,129,145],"tbody",{},[78,97,98,104,107,110],{},[99,100,101],"td",{},[14,102,103],{},"L",[99,105,106],{},"Low",[99,108,109],{},"7%",[99,111,112],{},"Highest capacity",[78,114,115,120,123,126],{},[99,116,117],{},[14,118,119],{},"M",[99,121,122],{},"Medium",[99,124,125],{},"15%",[99,127,128],{},"~15% less than L",[78,130,131,136,139,142],{},[99,132,133],{},[14,134,135],{},"Q",[99,137,138],{},"Quartile",[99,140,141],{},"25%",[99,143,144],{},"~30% less than L",[78,146,147,152,155,158],{},[99,148,149],{},[14,150,151],{},"H",[99,153,154],{},"High",[99,156,157],{},"30%",[99,159,160],{},"~40% less than L",[162,163,165],"h3",{"id":164},"level-l-low-7","Level L — Low (7%)",[10,167,168,171],{},[14,169,170],{},"Best for:"," Digital displays, email signatures, clean environments.",[10,173,174,175,178,179,182],{},"Level L dedicates the fewest modules to error correction, leaving maximum room for data. A Version 10 QR code in numeric mode stores ",[14,176,177],{},"652 digits"," at Level L but only ",[14,180,181],{},"395"," at Level H.",[10,184,185],{},"Use Level L when:",[187,188,189,192,195],"ul",{},[37,190,191],{},"The QR code will be displayed on a screen (no wear risk)",[37,193,194],{},"You need maximum data capacity",[37,196,197],{},"The environment is clean and controlled",[162,199,201],{"id":200},"level-m-medium-15","Level M — Medium (15%)",[10,203,204,206],{},[14,205,170],{}," General-purpose print, business cards, flyers.",[10,208,209],{},"Level M is the default in most QR code generators. It offers a solid balance — enough correction for typical print wear without a steep capacity penalty.",[10,211,212],{},"Use Level M when:",[187,214,215,218,221],{},[37,216,217],{},"Printing on standard paper or card stock",[37,219,220],{},"The code won't face harsh conditions",[37,222,223],{},"You want a reasonable safety margin",[162,225,227],{"id":226},"level-q-quartile-25","Level Q — Quartile (25%)",[10,229,230,232],{},[14,231,170],{}," Outdoor signage, product packaging, industrial labels.",[10,234,235],{},"Level Q can survive significant damage — a quarter of the code can be missing or obscured. This makes it ideal for environments where codes face dirt, weather, or rough handling.",[10,237,238],{},"Use Level Q when:",[187,240,241,244,247],{},[37,242,243],{},"The code will be outdoors or in a warehouse",[37,245,246],{},"It might get partially covered by labels or packaging seams",[37,248,249],{},"You're printing on materials that can smudge (thermal paper, etc.)",[162,251,253],{"id":252},"level-h-high-30","Level H — High (30%)",[10,255,256,258],{},[14,257,170],{}," Industrial marking, harsh environments, artistic QR codes with logos.",[10,260,261,262,265],{},"Level H sacrifices the most capacity but delivers maximum resilience. It's also the level you need when placing a ",[14,263,264],{},"logo or image"," in the center of a QR code — the lost data area is recovered by the strong error correction.",[10,267,268],{},"Use Level H when:",[187,270,271,274,277,280],{},[37,272,273],{},"The code will be etched, engraved, or stamped (imperfect surfaces)",[37,275,276],{},"You're embedding a logo in the center",[37,278,279],{},"The code faces extreme conditions (chemicals, abrasion, weather)",[37,281,282],{},"Reliability is more important than data size",[22,284,286],{"id":285},"capacity-trade-offs-a-real-example","Capacity Trade-Offs: A Real Example",[10,288,289,290,293],{},"Here's how error correction level affects capacity for a ",[14,291,292],{},"Version 10"," QR code:",[72,295,296,315],{},[75,297,298],{},[78,299,300,303,306,309,312],{},[81,301,302],{},"Data Mode",[81,304,305],{},"Level L",[81,307,308],{},"Level M",[81,310,311],{},"Level Q",[81,313,314],{},"Level H",[94,316,317,332,348,364],{},[78,318,319,322,325,328,330],{},[99,320,321],{},"Numeric",[99,323,324],{},"652",[99,326,327],{},"532",[99,329,181],{},[99,331,181],{},[78,333,334,337,340,343,346],{},[99,335,336],{},"Alphanumeric",[99,338,339],{},"399",[99,341,342],{},"326",[99,344,345],{},"242",[99,347,345],{},[78,349,350,353,356,359,362],{},[99,351,352],{},"Byte",[99,354,355],{},"272",[99,357,358],{},"222",[99,360,361],{},"165",[99,363,361],{},[78,365,366,369,372,375,378],{},[99,367,368],{},"Kanji",[99,370,371],{},"166",[99,373,374],{},"136",[99,376,377],{},"101",[99,379,377],{},[10,381,382,385,386,389],{},[14,383,384],{},"Key takeaway:"," Moving from L to H can cut capacity by ",[14,387,388],{},"40% or more",". If your data is long (like a vCard with full contact info), you may need a larger QR code version at higher correction levels.",[22,391,393],{"id":392},"when-to-choose-each-level","When to Choose Each Level",[10,395,396],{},"Here's a quick decision framework:",[187,398,399,405,411,417],{},[37,400,401,404],{},[14,402,403],{},"Clean digital display?"," → Level L",[37,406,407,410],{},[14,408,409],{},"Standard office print?"," → Level M",[37,412,413,416],{},[14,414,415],{},"Outdoor or industrial?"," → Level Q",[37,418,419,422],{},[14,420,421],{},"Logo overlay or extreme conditions?"," → Level H",[10,424,425,428],{},[14,426,427],{},"Common mistake:"," Using Level H for everything \"just in case.\" This inflates the QR code unnecessarily, making it denser and harder to scan from a distance. Match the level to the actual risk.",[22,430,432],{"id":431},"error-correction-vs-error-prevention","Error Correction vs. Error Prevention",[10,434,435],{},"Error correction is not a substitute for good design. Even at Level H, a QR code can fail if:",[187,437,438,445,448,451],{},[37,439,440,441,444],{},"The ",[14,442,443],{},"quiet zone"," (white border) is missing or too narrow",[37,446,447],{},"Contrast between dark and light modules is too low",[37,449,450],{},"The surface is curved or reflective, distorting the image",[37,452,453],{},"The code is printed too small for the scanning distance",[10,455,456,459,460,463],{},[14,457,458],{},"Rule of thumb:"," Print size should be at least ",[14,461,462],{},"10× the scanning distance in cm",". If someone scans from 20 cm away, the code should be at least 2 cm wide.",[22,465,467],{"id":466},"related-guides","Related Guides",[187,469,470,477,483],{},[37,471,472],{},[473,474,476],"a",{"href":475},"\u002Fguides\u002Fqr-code-guide","QR Codes Explained",[37,478,479],{},[473,480,482],{"href":481},"\u002Fguides\u002Fqr-code-use-cases","QR Code Use Cases",[37,484,485],{},[473,486,488],{"href":487},"\u002Fguides\u002Fbase64-encoding-guide","Base64 Encoding Guide",[22,490,492],{"id":491},"try-it-yourself","Try It Yourself",[10,494,495],{},"Want to see how error correction affects your QR code? Our free generator lets you choose the level and preview the result instantly.",[10,497,498,499],{},"👉 ",[473,500,502],{"href":501},"\u002Ftools\u002Fqr-code-generator","Generate a QR Code with Custom Error Correction — Free Tool",{"title":504,"searchDepth":505,"depth":505,"links":506},"",2,[507,508,515,516,517,518,519],{"id":24,"depth":505,"text":25},{"id":66,"depth":505,"text":67,"children":509},[510,512,513,514],{"id":164,"depth":511,"text":165},3,{"id":200,"depth":511,"text":201},{"id":226,"depth":511,"text":227},{"id":252,"depth":511,"text":253},{"id":285,"depth":505,"text":286},{"id":392,"depth":505,"text":393},{"id":431,"depth":505,"text":432},{"id":466,"depth":505,"text":467},{"id":491,"depth":505,"text":492},"2026-05-27","Understand QR code error correction levels. Learn how L, M, Q, and H affect readability, data capacity, and when to use each level.","md",{"immutable":524},true,"\u002Fguides\u002Fqr-code-error-correction",6,{"title":5,"description":521},"guides\u002Fqr-code-error-correction","eTxVydHx0zAPznMPw8p8dKSV1UaRSgQv8dTM5_zFms8",1780401325316]