Embed Logo in QR Code

Wanting to show my logo in the center of a QR Code. Everything I’ve tried has rendered the QR Code unreadable.

It would be helpful to know what you’ve tried, so we don’t recommend doing those same things again.

Pictures of what you expected, what you did, and what happened instead of what you wanted will be informative.

The guidelines to intentionally damaging a QR code and still having it scan are, more or less:

  1. Don’t mess with the large corner blocks, as they’re very important.
  2. Don’t break the lines between the inside edge of the corner blocks (see the dotted lines in this wikipedia image, for example), as that’s also important.
  3. Have a background-color (e.g. “white” if the QR code is printed) border 2 “pixels” wide all around the QR code for best results.
  4. Obviously, use a higher error correction level: QR codes can be encoded with “L” (low, ~7%), “M” (medium, ~15%), “Q” (quartile, ~25%), or “H” (high, ~30%) as the error correction level. LightBurn apparently calls this “Low”, “Medium”, “High”, and “Very High”.

If you’re intentionally damaging the QR code by putting an image over the data in the middle, you’re quite literally adding deliberate errors. You want to maximize the error correction level so that you can recover the QR code data in spite of your artistic shenanigans.

As long as you have a small enough affected area that is confined to the center and not impinging on an outer “ring” the width of the large blocks, you should be able to artistically mangle QR codes and have them work.

1 Like

Below is an example of how I want the logo to be placed in the QR code. It appears like this is common use in QR Codes. Just using text for now and it makes the QR unreadable.

So, your QR code encodes “24-04 000017” as TEXT type data with error correction level “Q” (quartile, ~25%). Your image is light-on-dark, which is the opposite of the customary dark-on-light that most QR codes use.

I could scan it in the standard Android camera app, and it also scanned just fine with the Cognex scanner. The ZXing Team “Barcode Scanner” app (from Google) would not recognize it. I inverted it in Photoshop and tried that, and all three successfully scanned it (although the ZXing Team scanner had the hardest time).

I’m curious as to what you used to create it, as it’s 33 blocks wide. When I create a QR code with “24-04 000017” as the content and a quartile error correction level, I get a QR code a mere 21 blocks wide. Even at high, I only get a QR code 25 blocks wide.

Oddly, LightBurn (1.6.03) creates a 25-block wide QR code with high (H) error correction when I create one with the “Error Correction level:” dropdown set to “Very High”, but for all three of the other selections (“Low”, “Medium”, and “High”), it creates the same QR code, 21 blocks wide with quartile (Q) error correction. My non-LightBurn QR codes encoded in low (L) and medium (M) error correction levels are also 21 blocks wide, so perhaps LightBurn sees that there’s no benefit in encoding a lower error correction level if the resulting QR code would be the same block size with a higher error correction encoding.

And what do you know, a quick bit of experimentation with longer data strings shows that is indeed just what LightBurn does. If you can get a higher error correction level without increasing the block size, LightBurn gives you a “free” upgrade. Neat. :grin:

Thanks for the information. The QR code was provided by the customer in the example I sent. It is a serial number with the year and month then a 6-digit sequential number. I have been successful using a .CSV file within LightBurn QR code generator to get good burns which can be read and that sequence properly. The problem is once I add text or any graphics on top of the QR Code in LightBurn the resulting burn is unreadable. The QR Code is 3/4" square in real life so I’m following your advice on placement but so far have not had any luck. The center of the QR Code in LightBurn is black so I was using white text. I’m thinking the text is too large and/or encroaching into the QR Code. I’ll let you know if I get it to work.

Have you tried using one of the (non-Lightburn) QR code generators like https://www.qrcode-monkey.com/ ?

If you play with that, you’ll notice that when it adds a logo to a generated QR code it doesn’t just drop the logo over top, but modifies the QR code data to still have sufficient content around the logo.

No I haven’t. How would I handle the serial number sequencing? I’m relying on LightBurn to take care of that.

Ah yes, didn’t consider that. They do have an API that would let you code something to generate the desired QR codes QR Code API with Logo and Design - QRCode Monkey but it looks like that would require some payment.

I found a couple other “bulk QR code” generators, but they do seem to have limitations, or require payment. Here’s one that will do 50 at a time for free: https://qrbatch.com/

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.