TechNewsReel
Live

Developer embeds images into scannable QR codes using dithering

Andrew T's new tool uses a two-pass error-diffusion process to integrate recognizable images directly into functional data codes.

TechNewsReel Newsroom · August 9, 2026

Developer Andrew T has released a new tool that embeds full images into QR codes using a specialized dithering technique. The project, which has gained traction on platforms like Hacker News and Mastodon, allows a recognizable image to coexist with a functional data code by treating the data modules as part of the image itself.

To achieve this, the tool shrinks standard QR data modules into a 3x3 grid. Only the center pixel of this grid stores the actual data, while the surrounding pixels are left available for the image. To minimize the visual noise typically associated with QR data, the generator employs a two-pass Floyd-Steinberg error-diffusion process. According to documentation on andrewt.net, the first pass masks the fixed data modules, and the second pass dithers the image to create a cohesive visual result. The tool also provides users with the ability to rotate the QR code and adjust encoding settings to further optimize the aesthetic output. The project's source code is hosted on Codeberg.

The mechanics of redundancy

QR codes are fundamentally designed with high levels of redundancy and error correction, allowing them to remain scannable even when partially damaged or distorted. This inherent robustness is a common target for brands, which frequently overlay logos in the center of codes to maintain brand visibility without breaking functionality. Andrew T's method extends this concept by moving beyond simple overlays, instead integrating the image into the very fabric of the data modules through mathematical dithering.

The tension between art and utility

This project represents a creative intersection of image processing and data encoding, but it also highlights a growing tension between aesthetics and reliability. As QR codes become more stylized, they risk becoming unscannable on lower-end hardware or in poor lighting conditions. This shift could potentially undermine the utility of the QR standard by prioritizing visual appeal over universal accessibility.

The risk of the 'potato phone'

While the codes may function in controlled environments, the developer warns that scannability is not guaranteed across all devices. "Ultimately it's a trade-off between aesthetics and scannability," Andrew T stated, noting that a code that scans from a laptop screen may not work on a "random stranger's potato phone from a printout in bad lighting." Future adoption of such stylized codes will likely depend on whether the industry continues to prioritize artistic flexibility over the rigid reliability of the original standard.

Sources

Get a notification when a big story breaks. A few a day at most — no spam.