Hello DENSO WAVE friends! 🥳
I got tired of seeing "small" QR codes that were actually 1000x1000 PNGs with anti-aliased fuzziness. So I built qr-atomize.
It's a CLI tool and TypeScript library that takes any oversized, fuzzy, or logo-embedded QR code and "atomizes" it back to its native resolution: exactly 1 pixel per module.
(Nostalgic note: that's the way I first encountered QR codes, back in the early 00's: in the form of tiny monochrome GIF:s)
Why this exists
Regular resizing with contemporary image editing tools often creates a blurry mess. qr-atomize doesn't resize - it decodes the payload and remints a fresh 1-bit PNG from the source data at scale: 1.
How it works
- Decodes most common image format
- Parses the data to extract raw payload
- Remints the result at 1:1 scale
In the README. I demonstrate how a 290x290px input (6.9 KB) becomes a 29x29px output (197 bytes). ~97% reduction. 😮💨
What it's not
- It's not written in Rust
GitHub: [https://github.com/cbrunnkvist/qr-atomize\](https://github.com/cbrunnkvist/qr-atomize)
------
^(Disclosure (Rule 7))
^(If you scan the example images in the GitHub README or my tests, they resolve to:)
^(- `https://example.com\`)
^(- `ibm.com`)
^(- `nano:nano_1q7th5gr198u7on36jgg9ocebmu69ssaqb4qj1h3rdu4q76wmmepqbfjmkg3`)