Skip to content

mew/vanity-qr-codes

Repository files navigation

Vanity QR Codes

vanity-qr-image

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.

How It Works

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.

Getting Started

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 install

CLI

Move to the Java project directory:

$ cd j2cl

Run the application:

$ bazel run //src/main/java/ca/noratastic/vanityqrcodes/qrgen --

Web

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-build

Then start the project:

$ npm run dev

About

Stylized QR code generator

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors