QR art generator for Node.js.
This project is inspired by x-hw/amazing-qr,
but is implemented for a native Node.js runtime using qrcode, sharp, and gif-encoder-2.
mkdir -p ./out
qrart "https://qrart.app/" \
-p ./examples/background-animated.gif \
-n qrart-lib-art.gif \
-d ./outmkdir -p ./out
qrart "https://qrart.app/" \
-p ./examples/background.png \
-c \
--contrast 1.5 \
--brightness 1.6 \
-n qrart-lib-art.png \
-d ./outmkdir -p ./out
qrart "https://qrart.app/" \
-n qrart-lib-plain.png \
-d ./outThe API returns a JavaScript object that can also be destructured like a tuple:
const { run } = require("qrart-lib");
const result = await run("https://qrart.app/", {
version: 1,
level: "H",
picture: null,
colorized: false,
contrast: 1.0,
brightness: 1.0,
saveName: "qrcode.png",
saveDir: process.cwd(),
});
console.log(result.version, result.level, result.qrName);
const [version, level, qrName] = result;qrart "https://qrart.app/"
qrart "https://qrart.app/" -v 10 -l Q -n qrart_qr.png -d ./out
qrart "https://qrart.app/" -p background.png -c --contrast 1.5 --brightness 1.6- Common QR code generation.
- Artistic QR code generation with
.jpg,.jpeg,.png,.bmp, or.gifbackground files. - Black-and-white or colorized output.
- Contrast and brightness controls.
- CLI flags matching the common QR-art workflow.
The implementation uses native Node dependencies:
qrcodefor QR matrix generation.sharpfor image processing and output encoding.gif-encoder-2for animated GIF output.
MIT. The visual idea and public workflow are inspired by Amazing-QR. Third-party dependencies keep their own licenses.


