Put your logo in the middle of a QR code

A logo covers modules, so the code needs 30% redundancy to survive it. That is level H, and it is fixed here rather than left as a setting to get wrong.

How QR Code with Logo works

Random values come from the browser's cryptographic source. Because the seed never leaves the tab, no server could reproduce the output even if it wanted to. A password or key generated here is not recorded anywhere, which is the point of generating it at all.

That is the whole architecture: static files, one script, no upload endpoint to leak or log. Close the tab and the work is gone.

Good to know

  • Works offline once loaded, including on flights and in locked-down networks.
  • No file size limit beyond your device's own memory.
  • Free to use, with no account and no usage counter.
  • Results are produced locally, so they are not logged or shared with anyone.

Questions

Why is error correction fixed at H?

Because a logo is damage. Level H tolerates about 30% loss; at level L a 20% logo would make the code fail on many phones.

Do these codes expire?

No. The data is encoded in the pixels — there is no redirect, no account and no server, so the code works as long as it is printed.

What logo works best?

A square PNG with transparency, and a mark that still reads at 20% of the code's width. Detailed logos turn to mush at the size a phone camera resolves.

Should I test it before printing?

Always. Scan the exported PNG with two different phones — the timing patterns near the edges are what a logo most often breaks.

Keep going

More generators tools