Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including qrcode-generator with all npm packages installed. Try it out:

var qrcodeGenerator = require("qrcode-generator")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

qrcode-generator v1.4.4

QR Code Generator implementation in JavaScript.

QR Code Generator

Getting Started

  1. Include qrcode.js in your html.
  2. Prepare a place holder.
  3. Generate QR and render it.
<script type="text/javascript" src="qrcode.js"></script>
<div id="placeHolder"></div>
var typeNumber = 4;
var errorCorrectionLevel = 'L';
var qr = qrcode(typeNumber, errorCorrectionLevel);
document.getElementById('placeHolder').innerHTML = qr.createImgTag();

API Documentation


qrcode(typeNumber, errorCorrectionLevel) => QRCode

Create a QRCode Object.

typeNumbernumberType number (1 ~ 40), or 0 for auto detection.
errorCorrectionLevelstringError correction level ('L', 'M', 'Q', 'H')

qrcode.stringToBytes(s) : number[]

Encodes a string into an array of number(byte) using any charset. This function is used by internal. Overwrite this function to encode using a multibyte charset.

sstringstring to encode


addData(data, mode) => void

Add a data to encode.

datastringstring to encode
modestringMode ('Numeric', 'Alphanumeric', 'Byte'(default), 'Kanji')

make() => void

Make a QR Code.

getModuleCount() => number

The number of modules(cells) for each orientation. [Note] call make() before this function.

isDark(row, col) => boolean

The module at row and col is dark or not. [Note] call make() before this function.

rownumber0 ~ moduleCount - 1
colnumber0 ~ moduleCount - 1

createDataURL(cellSize, margin) => string

createImgTag(cellSize, margin, alt) => string

createSvgTag(cellSize, margin) => string

createTableTag(cellSize, margin) => string

createASCII(cellSize, margin) => string

Helper functions for HTML. [Note] call make() before these functions.

cellSizenumberdefault: 2
marginnumberdefault: cellSize * 4

createSvgTag(opts) => string

optsobjectdefault: {}
opts.cellSizenumberdefault: 2
opts.marginnumberdefault: cellSize * 4
opts.scalablebooleandefault: false

renderTo2dContext(context, cellSize) => void


This implementation is based on JIS X 0510:1999.

The word 'QR Code' is registered trademark of DENSO WAVE INCORPORATED


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free