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.
jerf 1 days ago [-]
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.
theandrewbailey 1 days ago [-]
Doesn't everyone QA their QR codes? I thought it would be as obvious as making sure you got the right address and/or phone number on an ad before distributing it.
masfuerte 1 days ago [-]
You'd think. My local authority is reorganising refuse collection and did a mailshot to let everyone know the new collection rota. Then they did another because the dates on the first one were wrong. The incompetence is staggering.
arjie 1 days ago [-]
I’ve run into a few of these. And yesterday some kind of payment scanning QR code at SF’s Filipino Pistahan festival didn’t scan and I had to type in the text below. Annoying.
nomel 1 days ago [-]
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.
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! :)
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?
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).
Diti 15 hours ago [-]
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).
OscarCunningham 1 days ago [-]
You could maybe determine this using a SAT solver. You would have to encode the entire QR code specification. I was thinking of doing this to find a minimalist QR code that just had as few black cells as possible.
Zecc 2 days ago [-]
I recognize the domain name from playing some of his daily puzzles, namely Ronin and Cell Tower.
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"
jmusall 1 days ago [-]
I think sampling "the whole square" might actually not be that good for decoding even standard QR codes as aliasing at the edges of each code module ("pixel" of the code) in a camera image would actually make the distincion between 1s and 0s more difficult.
Your argument still partially applies though, as introducing new unrelated colors at the module edges could also lead to aliasing effects when the code is too small for example.
Jaxan 1 days ago [-]
The specification of qr codes says you should look only at the centres, iirc.
jmusall 2 days ago [-]
Coincidentally came across this after reading a comment [1] under the recent post on _for-sale DNS records, visiting milk.com and scrolling through the owner's Mastodon
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.
PaulHoule 1 days ago [-]
You can alpha blend a QR code onto images easily and fit them into graphic designs
The approach in the article using dithering is in some sense more elegant and mathematically clever. But the level of visual representation from control nets/SD is really compelling.
LOL! It's a sign of the times that, before I saw the year, I thought "that has to be AI generated", because this sort of outlandish silliness is exactly the type of thing that genAI excels at.
hmry 2 days ago [-]
That's absolutely hilarious
wvbdmp 1 days ago [-]
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.
mi_lk 2 days ago [-]
I like the writing style. The first section is super clear about what QR code is in ~200 words
jcelerier 1 days ago [-]
the two last one didn't scan at all on my phone :/
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.
jmusall 1 days ago [-]
As far as I can tell the specification only demands the code modules (pixels) to be square (which is already often ignored in "aesthetic" QR codes which use e.g. round dots instead) and arranged in a square grid. Not that each grid cell has to be filled completely by the respective module. So this might actually be compliant!
[0] https://research.swtch.com/qart
Related QArt discussions on HN: [1] https://news.ycombinator.com/item?id=15213044 (2017-09-10, 61 points, 6 comments) [2] https://news.ycombinator.com/item?id=3836935 (2012-04-13, 56 points, 9 comments) [3] https://news.ycombinator.com/item?id=8549772 (2014-11-03, 56 points, 4 comments)
The guy that made that did a writeup on reddit: https://www.reddit.com/r/PixelArt/comments/1v52x96/
Based on the trends, I expect it is only the first of several I will see.
Diffusion image generation constrained to also be a valid QR code
So, technically, you can run Doom inside a QR code?
Here's my version that still keeps the full squares: https://youtube.com/watch?v=qQkWjzqMbuA
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?
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).
https://www.andrewt.net/puzzles/
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"
Your argument still partially applies though, as introducing new unrelated colors at the module edges could also lead to aliasing effects when the code is too small for example.
[1] https://news.ycombinator.com/item?id=49224882
https://mastodon.social/@UP8/115939341268444811
https://mastodon.social/@UP8/113494337763505908 (R&D)
Only needs a Rick Astley QR code (;->
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