QR Code encoder that overlays customizable modules embedded in the center. These appear as human-readable while the QR code remains scannable thanks to error correction.
QR codes use Reed-Solomon error correction which adds redundant data, allowing the decoder to reconstruct damaged or obscured portions. Depending on the error correction level, a QR code can still be read even if up to 30% of the code is unreadable.
This allows us to inject a module pattern in the center that looks like human-readable text. The scanner treats this as noise and ignores it, but the error correction ensures the code remains scannable.
Tip
If you just want to try it out, head to the website or download the pre-built binary from the releases tab.
Note
You will need Bazel installed.
First clone this repository:
$ git clone https://github.com/mew/vanity-qr-codes.git
$ cd vanity-qr-codes
$ npm installMove to the Java project directory:
$ cd j2clRun the application:
$ bazel run //src/main/java/ca/noratastic/vanityqrcodes/qrgen --There are two components to this web project. The Astro project, and the Java logic. The latter is transpiled to JavaScript using J2CL. There is a script for building the Java component that must be ran before any work on the Astro component can be done:
$ npm run j2cl-buildThen start the project:
$ npm run dev