Skip to content(if available)orjump to list(if available)

Reading QR codes without a computer

cinntaile

You same day resubmitted this 3 days ago already.

eknkc

I remember downloading stuff from usenet 20 years ago and the par files going with them. Basically, files were split into chunks and you’d merge the chunks. In case there was a missing or corrupt chunk, the par files would allow recovering the missing part. You did not need to download entire par chunks either. You lost 1mb? Download 1mb of par and recover it (or something like that, cant remember now).

That blew my mind and I went into a rabbit hole of error correction. I did not know about the reed-solomon or any other methods. Just took days to understand it. Implementing my own par like shitty thing in the process.

This brings that back as I’m more curious about the error correction than the actual bit encoding.

shinycode

I remember doing this for years as well and I seemed like magic and this algorithm blew my mind that any piece of a movie could be rebuild from a small part of par files. ChatGPT is quite good at explaining it

gnabgib

Discussion (655 points, 2024, 87 comments) https://news.ycombinator.com/item?id=39087752

Theodores

Very good. However, I wanted to know the rules regarding how big that border has to be and how some QR codes have a logo in the middle. We all want pretty QR codes!

Also, given the choice between optimising for 21 x 21 modules or something a lot larger, what is recommended in this day and age? Is blocky best?

edent

I've written a bit about logos at https://shkspr.mobi/blog/2010/11/hiding-space-invaders-in-qr...

Basically, at the maximum level of error correction, you can obscure up to 30% of the code (excluding the corner target) and the data is still readable.

However, most QR readers will adjust the colours they see to pure black and white - so light colours will be squashed down to white. That means you can have some pretty colourful designs and still keep the codes readable.

Ideally, the border should be at least 2 blocks wide - but modern scanners are pretty good at picking out the targets.

As for size - that depends on your target audience. If your users are sat down and have the QR in front of them, you can cram in as much data as you like. If the code is on a billboard people are far away from, use as little data as you can and make the code as physically large as possible.

lock1

"... pretty QR codes", reminds me of a paper from SIGGRAPH 2025 I saw a few weeks ago.

"Claycode: Stylable and Deformable 2D Scannable Codes"

https://arxiv.org/abs/2505.08666

https://claycode.io/pages/scene_claycode.html

https://www.youtube.com/watch?v=Sx9k2iyXQhY

wingspar

The logo corrupts the QR code. But QR codes can be generated with different levels of error correction.

So a code with a high error correction factor can repair a QR code with a logo obliterating the middle of the code.

bilgi42

til. i made a little qr code creator thingy that i personally used and I didn't know it didn't work with low error correction with middle logos.

thenthenthen

In 2020 I ran into problems with borderless qr codes. Today it seems it is not an issue anymore.