Which error correction level should I use for QR codes stuck on restaurant tables that get wet and dirty?

Choose Q (survives damage to about 25% of the symbol) or H (about 30%) for table stickers that get wiped with a cloth and splashed with water and sauce. M is enough for clean prints and screens. For a short menu link, the price of Q or H is very small.

Published · 2 min read

What a table sticker goes through in a month

A sticker on a restaurant table has a hard life: juice drops, an oil stain, a scratch from a plate, and a daily wipe with a damp cloth. Any stain that covers some of the squares makes the phone read incomplete data. Error correction adds spare data inside the code so a reader can rebuild the missing part, as long as the damage stays within what the level can absorb.

The four levels in the tool

  • L: survives about 7% and holds up to 2,953 bytes. Good for screens and long text, not for tables.
  • M: survives about 15%, up to 2,331 bytes. The default, fine for clean paper menus inside a sleeve.
  • Q: survives about 25%, up to 1,663 bytes. A sensible choice for table stickers.
  • H: survives about 30%, up to 1,273 bytes. For the most exposed stickers, or when a logo will sit on top.

What a higher level really costs

We ran https://example.com/menu through the tool. It is 24 bytes at every level; only the available capacity changes: 24 of 2,953 at L, 24 of 1,663 at Q. The symbol the qrcode library builds comes out 25 modules wide at L and M, and 29 modules at Q and H. So moving to Q adds just four modules per side, making each module slightly smaller at the same sticker size.

That difference only starts to matter with long content. If you put the full menu text in the code instead of its link, a high level multiplies the density and may refuse the content altogether. On a table, the safe combination is a short link with Q or H.

  1. Open the QR code generator and paste the full menu link.
  2. Under 'Error correction level' pick Q, or H for outdoor seating.
  3. Keep the colors black on white or close to it, and download SVG for the printer.
  4. Stick a test copy on a table, put a small deliberate smudge near one edge, and try scanning.

Common questions

Will H still work if a stain covers half the code?

No. The figure is approximate and about 30% at best, and damage to the three large corner squares hurts more than elsewhere. Physical protection with a clear laminate still matters most.

Should I raise the level for a menu shown on a screen?

Not really. A screen does not get dirty like paper, and M is enough.