30 comments

[ 0.19 ms ] story [ 94.2 ms ] thread
Nice writeup!

Only needs a Rick Astley QR code (;->

Is that Lena with Sean Connery’s face??
I like the writing style. The first section is super clear about what QR code is in ~200 words
This reminds me of car safety features, how drivers have become more complacent to offset the benefits. QR codes were made to be robust in the face of errors, but over time this has been eaten into for aesthetic purposes. Businesses commonly put a logo in the center, eating up some error correction budget. This likely has a similar effect.
A few weeks ago I saw the first QR code I've personally witnessed that I'm pretty sure is completely unscannable. The company logo stretched well out of the center block. It was on the back of a semi in the Chicago area. I didn't get the greatest shot of it on my phone (as a passenger), because it was driving away as I tried, so it wasn't quite proof it couldn't scan, but I'm pretty sure it ate more than 100% of the error correction margin.

Based on the trends, I expect it is only the first of several I will see.

I always find it funny when companies don't put any attempt to shorten the URL, filling it with plaintext url parameters, resulting in huge QR codes that can barely be scanned due to the density.
related: seeing outlook safelinks as QR codes, so you have the recipients email address embedded as well
I find it slightly disconcerting that lena has a mustache.
This is really neat!

A question I had about QR codes:

Let’s say I want to produce a QR code that is as close as possible to an image (let’s say the Nike swoosh logo), if I just added that to the center and added the 3 orientation markers on the corners it wouldn’t be a proper QR code yet, my question is what is the minimal amount of edits I would need to do from that symbol to get a valid QR code?

I’m thinking of something like people buying and hoarding domains in early 00’s (even now), if I could generate the minimal QR code (minimal is important here in the same way that .com is treated as superior to .ca or .net) of well-known symbols and buy the resulting domain it points to (if it even points to a domain) couldn’t I sell this to companies with the associated domain as a re-direct as well?

From another comment:

https://research.swtch.com/qart

Looks like this is definitely possible, the results aren't as clean as you might hope though. Maybe they could be improved by introducing some intentional errors (which were explicitly avoided here).

Using their logo in this way is probably a trademark violation, so they would be able to get your QR code “for free” (minus the costs involved with consulting their legal division).
Greetings,

I could not find any LICENSE file or statement on the Codeberg repo. We must therefore conclude that the code is © Copyright 2025-2026, by the author(s), all rights reserved. Crazy to think there are already 3 forkers who've forked you.

Furthermore, let us not forget the patent-holder of QR Codes, DENSO WAVE, and their Frequently Asked Questions:

https://www.qrcode.com/en/faq.html

  Users of QR Code must be careful about deforming the code by overlaying it with an illustration or putting a a design on it. If it is deformed, the QR Code's error correction function is invoked where even a tiny missing or smeared part renders the reading operation impossible, or the response of the operation may become slow.
  If you are contemplating arranging an illustration or design involving a QR Code, please consult with DENSO WAVE about your project beforehand.
I'm not impressed.

the whole technique hinges on qr scanners reading only middle point of the squares

The moment you encounter developer that thought "for redundancy let's sample the whole square" (which is a very natural thought) - it breaks

I kinda expected working the limits of error correction, honestly. Not this blunt circumvention "because it works on my machine"

That’s very cool, but I’d be worried most regular people wouldn’t recognize it as a QR code and never scan it in the first place.
I played around with this a bit, first I did a photo of a cat I just took at a cat cafe, but the black and white cat didn’t turn out well with the dithering algorithm, so then I tried a selfie and pushing the radius up, it came out looking good, but then I tried aiming my iPhone camera at the screen and it didn’t see a QR code, only the face from the selfie. The ones on the main page, though, worked fine.
the two last one didn't scan at all on my phone :/
Once you understand how QR codes work it is more about "creativity" of what you want to do with your options! Next to shapes, contrast you can also use color and mix design approaches. https://qrocodile.io is a free tool that tries to push those limits of QR codes and keep it scanable and recreatable (vs. 1-time AI generated codes). It has a module based approach, so each module (pattern) can have a different approach on how to render a QR. I think a dithered QR code module is missing... something that could be added! :)