Skip to content
Damage Tolerance Tool

QR Error Budget Calculator

See how much damage each error-correction level tolerates for your code's version and payload, and how much of that budget a logo or overlay may safely use.

1. Your code

Version 5 = 37 × 37 = 1,369 modules.

Payload length is shown for context — the tolerance percentages apply to the code as a whole. Longer payloads raise the version and shrink every module.

Tolerance at every level

LevelRecoveryApprox. recoverable modulesConservative logo budget
L≈7%9547
M≈15%205102
Q≈25%342171
H≈30%410205

Approximation: recovery percentages apply to codewords in the specification, not literally to modules. Module counts here are a planning proxy so different levels can be compared. Always verify a logo or overlay with printed test scans.

Result — level H
Approx. recoverable modules
410
≈30% of 1,369 modules
Conservative logo / overlay budget205 modules
Same budget as logo side≈38.7% of code width
Remaining headroom after a max logo205 modules

Rule used: reserve half the recovery budget for real-world damage (scuffs, glare, fading) and spend at most the other half on a logo or overlay. Damage is rarely a neat central square — irregular damage near finder patterns hurts more than the same area in the centre.

Your QR Code's Error Budget Is Not Free Money

Error correction is the reason QR codes survive the real world. A portion of every code is redundancy: extra data that lets the scanner reconstruct the payload when part of the pattern is damaged, dirty, or covered. Level L reserves about 7% of the code for that purpose, M about 15%, Q about 25%, and H about 30%. Those percentages are the code's budget for everything that can go wrong — and a logo spends from the same budget as a scuff, a shadow, or a fading patch. The calculator shows how big that budget is in modules for your version, and how much of it a logo can safely consume while leaving headroom for reality.

Why the budget is smaller than it looks

Two details shrink the usable budget. First, the recovery percentages in the specification apply to codewords, the internal data units, not literally to printed modules — the module counts on this page are a planning proxy that makes levels comparable, and real behaviour depends on where damage lands. Damage over the corner finder patterns or the timing patterns hurts far more than the same area lost in the middle of the data region, because those patterns carry the code's geometry. Second, real damage is never the tidy central square of a logo. A coffee stain, a fold, or a peeling corner is irregular, and it arrives on top of whatever the logo already consumed. That is why the calculator reserves half the budget for the world and lets a logo spend at most the other half.

Spending the budget wisely

The hierarchy is simple. Spend the budget on the things you cannot avoid first: outdoor exposure, handling, textured stock, and the odd splash. Then, if budget remains, spend it on a logo — centred, clear of the finder patterns, at level H, inside the conservative size the calculator shows. Never stack a logo on top of an already-hostile environment without enlarging the code or shortening the payload to buy back margin. And remember that raising the error-correction level itself costs capacity: a code at H holds far less data than the same version at L, so a payload that only just fits at H may need a version bump, which shrinks the modules and spends a different kind of margin.

A testing rule that beats arithmetic

  • Generate the code at the chosen level with the logo applied, then print it at final size.
  • Scan it on several phones, including an older one, in good light and in dim light.
  • Deliberately abuse the proof: smudge a corner, tilt it, scan from an angle.
  • If any test is flaky, shrink the logo, enlarge the code, or drop the logo entirely.
  • For high-stakes print, keep a plain no-logo version in the artwork file as a fallback.

An error budget is a safety margin, and safety margins are for the unexpected. Spend half of it on purpose, keep half in reserve, and the code will survive the surprises.

Frequently Asked Questions

What do the error-correction levels mean in practice?

They set roughly how much of the code can be damaged and still decode: L about 7%, M about 15%, Q about 25%, H about 30%. The percentages apply to codewords in the specification; this page converts them to an approximate module budget for planning.

Can I spend the whole error budget on a logo?

No. The logo shares the budget with real-world damage such as scuffs, glare, and fading. This calculator reserves half the budget for that damage and lets a logo use at most the other half — a conservative rule that keeps codes robust.

Does damage location matter?

Yes. Damage over the corner finder patterns or timing patterns hurts far more than the same area in the middle of the data region, because those patterns carry the code's geometry. A central logo is the least harmful place to spend budget.

Does raising the error level shrink capacity?

Yes. Higher levels reserve more of the code for redundancy, leaving less room for payload. A version-1 code holds 17 byte-mode characters at L but only 7 at H, so a payload that just fits at H may need a higher version.