A small javascript file for creating qr codes on the fly using the HTML5 Canvas element. Only 33kb and 11kb compressed. By default VanillaQR.js will output a canvas element as it's domElement. If the canvas element and 2d context is not supported, it will create a table instead. Tables will not be able to output images so be sure to check that the image element exists.
<script src="VanillaQR.js"></script>
<script>
//Create qr object
//Minus the url, these are the defaults
var qr = new VanillaQR({
url: "https://github.com/chuckfairy/VanillQR.js",
size: 280,
colorLight: "#ffffff",
colorDark: "#0000000",
//output to table or canvas
toTable: false,
//Ecc correction level 1-4
ecclevel: 1
});
//Canvas or table is stored in domElement property
document.body.appendChild(qr.domElement);
//Alternatively you can create an image from the canvas
//png, jpg, jpeg, webp, gif, bmp, tiff, x-icon, svg+xml, xxx
//Currently canvas dataURL mime types are not the same
var imageElement = qr.toImage("png");
if(imageElement) {
document.body.appendChild(imageElement);
}
//You can recreate the qr code to a new url like so
//If you have appended the domElement it will change
qr.url = "https://github.com/chuckfairy";
qr.colorLight = "#0000000";
qr.colorDark = "#ffffff";
qr.init();
</script>
All browsers with canvas and canvas 2d context support
- Chrome > 30
- IE > 8
- Firefox > 33
- Opera > 25
- Safari > 7.0
- Android > 4.0
Table support fallback
- Chrome
- IE > 6
- Firefox
- Opera
- Safari
- Andriod
Vanilla QR is based on a port of a java qr code library that I can no longer find. When I do find it I'll be sure to give it proper credit. Thank you and have a nice day!