How to Generate QR Code in Node.js

Websolutionstuff | Sep-20-2021 | Categories : Node.js

In this example we will see how to generate QR Code in Node.js application. In this example we will use qrcode npm package for generate QR Code. we will create json data object and create QR Code for that json data object.

QR code has become an important part of life now a days. QR means “Quick Response”. It can store a large amount of data. QR scanner can instantly process the data by scanning it. In Node.js generate QR Code is very easy.

So, In this tutorial we are generate QR Code using qrcode package in Node.js.


Step 1 : Create Node Application

In this step create node application using below commands.

mkdir qr_code_example

cd qr_code_example

npm init



Step 2 : Install qrcode

In this step install the qrcode module using below command

npm install qrcode


 Step 3 : Import the QRCode package in the index.js file

In this step we can send emai with attachment. So, make sure your configurarion before sending email.

const qr = require('qrcode');
let data = {
    id: 1,
    name: "dell",
    email: "[email protected]"
let strData = JSON.stringify(data);
qr.toString(strData, {type:'terminal'},
                    function (err, code) {
    if(err) return console.log("error occurred !!");
qr.toDataURL(strData, function (err, code) {
    if(err) return console.log("error occurred !!");   




Define parameters to generate QR Code

const data = {
 errorCorrectionLevel: 'H',
 type: 'terminal',
 quality: 0.95,
 margin: 1,
 color: {
  dark: '#208698',
  light: '#FFF',
let strData = JSON.stringify(data)

For Custom QR Code generate  you define diffrent parameters like above code.

  • Error correction capability allows you to successfully scan a QR Code even if the symbol is dirty or damaged. Four levels are available to choose from according to the operating environment. Higher levels offer a better error resistance but reduce the symbol’s capacity.
  • Color specifies a QR Code image color.
  • Type specifies what type of output is expected like image/png, image/jpeg, image/webp in data URL and utf8, SVG, terminal in string.
  • Quality specifies the quality of the image in the range of 0–1. The default value is 0.92 & only available for type image/jpeg & image/webp.


Step 4 : Run index.js file

run index.js using below code :

node index.js


You might also like :

Recommended Post
Featured Post
Character Count In Textarea
Character Count In Textarea

In this article, we will explain to you how to count characters from textarea. many times a client has requirements...

Read More


How to Filter Datatable using Dropdown in Laravel 10
How to Filter Datatable using...

Hello developers! 👋 Ever found yourself dealing with a DataTable in Laravel and wished for a nifty way to filter th...

Read More


How To Increase Session Lifetime In Laravel
How To Increase Session Lifeti...

In this article, we will see how to increase session timeout in laravel. In this example, we can see how to se...

Read More


How To Create Dynamic Linechart In Laravel
How To Create Dynamic Linechar...

In this post, we will see how to create a dynamic line chart in laravel. A dynamic line chart or line plot or line...

Read More