Skip to content


Subversion checkout URL

You can clone with
Download ZIP
NodeJS port of Kang Seonghoon's qr.js
branch: master
Failed to load latest commit information.

A simple qr library that returns the image as a data URI, packaged as a nodejs module for use on nodejs or with browserify. Requires canvas support.

Originally written by Kang Seonghoon (, and packaged here as a nodejs module with a slightly modified public API.


Install with npm install qruri and call require('qruri')(data[, options ]) to get a data URI.


  • version: an integer in [1,40]. when omitted (or -1) the smallest possible version is chosen.
  • mode: one of 'numeric', 'alphanumeric', 'octet'. when omitted the smallest possible mode is chosen.
  • ecclevel: one of 'L', 'M', 'Q', 'H'. defaults to 'L'.
  • mask: an integer in [0,7]. when omitted (or -1) the best mask is chosen.
  • modulesize: a number. this is a size of each modules in pixels, and defaults to 5px.
  • margin: a number. this is a size of margin in modules, and defaults to 4 (white modules). the specficiation mandates the margin no less than 4 modules, so it is better not to alter this value unless you know what you're doing.


Released under qr.js's original license:

This source code is in the public domain; if your jurisdiction does not recognize the public domain the terms of Creative Commons CC0 license apply. In the other words, you can always do what you want.

Something went wrong with that request. Please try again.