Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Build a browser-based QR code generator with qrcode.react: let a user enter text or a URL, render it as SVG or Canvas, and offer a download in the format they need. The package includes TypeScript declarations, and its maintainers document both rendering options. This guide uses Canvas for a PNG download and explains when SVG is a better fit.

What you’ll build

The app will accept a string, show a QR code preview, and let the user download that code as a PNG. The example uses QRCodeCanvas, whose rendered canvas can be exported with the browser’s toDataURL API. If your main need is a scalable graphic for print or design work, use QRCodeSVG instead.

The qrcode.react maintainer documentation describes SVG as generally more flexible, while Canvas can suit other needs. The npm package listing reports built-in TypeScript declarations, so you do not need a separate types package.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the package

In an existing React and TypeScript project, install the package with your project’s package manager:

#1 Best Overall
Eyoyo EYH2 Handheld USB Wired 2D 1D Barcode Scanner for POS Mobile Payment
  • Continuous Usage All Day: The EY-H2 USB barcode scanner is designed to always be ready for the next scan, which significantly reduces downtime and repair costs; it shortens checkout lines, improves customer service, and boosts business productivity
  • Plug and Play: Eyoyo wired barcode scanner is connected via a USB cable, with no need to install any driver or software; It offers effortless connection and is compatible with Windows, Mac, Android, and Linux; Seamlessly works with Quickbook, Word, Excel, Novell, and all common software
  • Supports Multiple 1D/2D Barcodes: Eyoyo QR code scanner scan with most 1D 2D barcodes with ease; 1D Barcodes: EAN, UPC, Code 39, Code 93, Code 128, UCC/EAN 128, Codabar, Interleaved 2 of 5, ITF-6, ITF-14, ISBN, ISSN, MSI-Plessey, GS1 Databar, Code 11, Industrial 25, Matrix 2 of 5, etc. 2D Barcodes: QR, DataMatrix, PDF417, and so on
  • Supports Screen Scanning: The Eyoyo 2D scanner is capable of reading barcodes from smartphone screens, such as mobile coupons, digital wallets, and digital loyalty cards; Before scanning, simply turn your screen brightness to the maximum
  • Sturdy Anti-Shock and Durable Design: The Eyoyo 2D barcode scanner features an ergonomic design made of high-quality ABS, enabling it to withstand repeated drops from 5 ft/1.5 m high onto the concrete ground; The durable plastic material ensures a long service life
npm install qrcode.react

The package provides React components rather than requiring you to draw the QR modules yourself.

Create the input, preview, and download

Use a ref to access the rendered canvas when the user clicks Download. The example starts with an empty input and displays a preview only after the user enters a value.

Rank #2
Tera Barcode Scanner with Battery Indicator: 2D Wireless, D5100 Orange
  • 【Battery Level Indicator and 2200mAh Capacity】Larger battery enables longer continuous usage and twice the stand-by time of others. With the unique battery indicator light showing the remaining battery level, no more Low Battery Anxiety.
  • 【Ergonomic Design】 The curved handle is extended and thickened, tailor-made for North America customers. Specially designed smooth and flat trigger for better grip. 【Package Includes】Barcode Scanner x1, USB Cable x1, Dongle x1, User Manual x1.
  • 【Anti-Shock Silicone】 The orange anti-shock silicone protective cover can avoid scratches and friction while falling from the height of 6.56 feet. IP54 technology protects the wireless barcode scanner from dust.
  • 【2.4 GHz Wireless plus USB 2.0 Wired Connection】 Plug and play with the USB receiver or the USB cable, no driver installation needed. Easy and quick to set up. Wireless transmission distance reaches up to 328 ft. in barrier free environment.
  • 【Digital and Printed 1D 2D QR Bar Code Symbologies】1D: Codabar, Code 11, Code93, MSI, Code 128, UCC/EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard25, Matrix 2D: QR, DataMatrix, Aztec, Hanxin, Micro PDF417. (Note: Not compatible with Square.)
import { useRef, useState } from 'react';
import { QRCodeCanvas } from 'qrcode.react';

export default function QrGenerator() {
  const [value, setValue] = useState('');
  const canvasRef = useRef(null);

  function downloadQrCode() {
    const canvas = canvasRef.current;
    if (!canvas) return;

    const link = document.createElement('a');
    link.download = 'qr-code.png';
    link.href = canvas.toDataURL('image/png');
    link.click();
  }

  return (
    <main>
      <h1>QR code generator</h1>
      <label htmlFor="qr-value">Text or URL</label>
      <input
        id="qr-value"
        type="text"
        value={value}
        onChange={(event) => setValue(event.target.value)}
        placeholder="Enter text or a URL"
      />

      {value.trim() ? (
        <section aria-label="QR code preview">
          <QRCodeCanvas
            ref={canvasRef}
            value={value}
            size={256}
            level="M"
            marginSize={4}
          />
          <button type="button" onClick={downloadQrCode}>
            Download PNG
          </button>
        </section>
      ) : (
        <p>Enter text or a URL to create a QR code.</p>
      )}
    </main>
  );
}

The value prop is the text encoded in the code. In this example, size sets the rendered code dimensions, level selects an error-correction setting, and marginSize adds a quiet zone around the code. Check the component documentation for current prop details and supported values.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The download handler returns early if the canvas is unavailable, then creates a temporary anchor with a PNG data URL. The filename is set through the anchor’s download attribute. The 2021 tutorial demonstrates this canvas-download approach, but the package’s current documentation is the better reference for the component API.

Rank #3
Tera Barcode Scanner with Battery Indicator: 2D Wireless, D5100, Blue
  • 【Battery Level Indicator and 2200mAh Capacity】Larger battery enables longer continuous usage and twice the stand-by time of others. With the unique battery indicator light showing the remaining battery level, no more Low Battery Anxiety.
  • 【Ergonomic Design】 The curved handle is extended and thickened, tailor-made for North America customers. Specially designed smooth and flat trigger for better grip. 【Package Includes】Barcode Scanner x1, USB Cable x1, Dongle x1, User Manual x1
  • 【Anti-Shock Silicone】 The orange anti-shock silicone protective cover can avoid scratches and friction while falling from the height of 6.56 feet. IP54 technology protects the wireless barcode scanner from dust.
  • 【2.4 GHz Wireless + USB 2.0 Wired Connection】 Plug and play with the USB receiver or the USB cable, no driver installation needed. Easy and quick to set up. Wireless transmission distance reaches up to 328 ft. in barrier free environment.
  • 【Digital and Printed 1D 2D QR Bar Code Symbologies】1D: Codabar, Code 11, Code93, MSI, Code 128, UCC/EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard25, Matrix 2D: QR, DataMatrix, PDF417, Aztec, Hanxin, Micro PDF417. (Note: Not compatible with Square.)

Choose SVG or Canvas for the output

Option Useful when Trade-off
QRCodeSVG You want a vector graphic that can typically be scaled for design or print workflows. You need to provide or implement an SVG-specific download workflow if the user expects a file.
QRCodeCanvas You want a raster image and a direct browser canvas-to-PNG download path. Scaling beyond the rendered size can look blurry, as the maintainer documentation cautions.

Neither component is best for every export. Choose based on the file format your users need, then verify the export in the browsers you support.

Set the quiet zone deliberately

The QR code’s surrounding blank area helps keep the symbol visually distinct from nearby content. The repository documents a default margin of zero and says the QR Code specification calls for four modules. The example therefore sets marginSize={4} rather than relying on the default.

Rank #4
Sale
Tera Barcode Scanner Wireless with Screen: Pro Version 1D 2D QR with Setting Keypad Charging Cradle Works with Bluetooth 2.4G Wireless USB Wired Handheld Bar Code Reader HW0009
  • 【Unique Designed Screen Setting】It allows you to customize the screen display according to your preferences. With this innovative feature, you can easily set the language, adjust volume settings, select connection options, and view stored and total barcodes. Experience unparalleled convenience and flexibility as you personalize the settings of your Tera HW0009 to suit your specific needs. 【Package Includes: Barcode Scanner x1, Charging Cradle x1, Charging Cable x1, User Manual x1】
  • 【Superior Global CMOS Imaging Scanning】This advanced scanner excels in fast and accurate reading of both ordinary and high-density barcodes, including challenging formats like PDF417 found on driver's licenses. Its exceptional performance effortlessly handles various scanning scenarios, including underwater scanning, reading barcodes on silver paper, reflective materials, and more.
  • 【Charging Cradle & 2500mAh Large Battery】Designed with a convenient charging cradle, the HW0009 barcode scanner allows you to easily charge it whenever it's not in use. In addition, the scanner itself is equipped with a powerful 2500mAh battery, ensuring seamless all-day operation without the need for frequent charging.
  • 【3-in-1 Connections & Widely Compatible】 Tera HW0009 wireless barcode scanner can work with bluetooth & 2.4G wireless & usb wired. The transmission distance can be 328ft in barrier free environment and 114ft in obstacles environment using 2.4G USB dongle. It can be connected with a variety of devices, such as smartphones, computers, POS, tablets. In addition, it is also compatible with various operating systems, such as windows 11/10/8/7/xp, Mac OS, iOS, android, linux.
  • 【1D 2D QR code Programmable】2D: QR code, Data Matrix, PDF417(including PDF417 on driver’s license), Aztec, Maxicode, Micro QR, Micro PDF417; 1D: UPC/EAN, Code 128/EAN128, GS1-128, ISBT-128, Standard 2 of 5, Matrix 2 of 5, Code 39, Code 32, Code 93, Code 11, Codabar, PLESSEY, MSI, GSI Databar, ITF-14, GS1.

A margin setting does not guarantee that every printed or displayed code will scan. Check the actual downloaded file at its intended display or print size, with its surrounding layout, using more than one scanner.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Know what text the package encodes

The package supports Unicode through byte mode. Its documentation describes limited automatic optimization for numeric and alphanumeric modes; otherwise it uses byte mode, and it does not support optimized Kanji mode. That makes it suitable for ordinary text and URLs, but it is worth testing the characters your app is expected to accept.

Best Value
Tera Barcode Scanner 2D Portable Wireless: BT 2.4G USB Pocket Reader, 1200
  • 【IP66 Waterproof Dustproof Mini Pocket 2D Scanner】Just bring this scanner with you. Anytime you want to collect data, just connect it with your device via Bluetooth or use the storage mode. 【Package Includes】Barcode Scanner x1, USB Cable x1, Dongle x1, User Manual x1.
  • 【Waterproof Dustproof Silicone Port Plug】Newly designed waterproof and dustproof silicone port plug on marketplace, it enables better performance of the scanner in every working conditions. The silicone button on the scanner body enables every soft and smooth scanning experience.
  • 【3-in-1 Connection Ways】This scanner works with Bluetooth, 2.4GHz wireless and USB 2.0 wired mode. The transmission distance can be 656ft in barrier free environment and 98 ft in an environment with obstacles using a 2.4G USB dongle. In addition, it is also compatible with various operating systems, such as windows 11/10/8/7/xp, Mac OS, iOS, android, linux.(Note: Not Compatible with Square)
  • 【Vibration Alert】: When you need a quiet working environment, just turn the volume off and the vibration function will let you know if a barcode is detected.
  • 【1D 2D QR Scanner】:Supports Both Digital and Printed 1D 2D QR Bar Code Symbologies: 1D Decode Capability: Codabar, Code 11, Code93, MSI, Code 128, UCC/EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard 25, 2/5 Matrix 2D Decode Capability: QR, PDF417, Data Matrix, Aztec code, Maxi Code.

For a generator, check an empty field, a short URL, longer text, and Unicode input. Longer or more complex content can produce a denser-looking code, so evaluate scan reliability using the exported image rather than relying only on the on-screen preview.

Test the downloaded result

  • Enter a short URL and confirm the preview reflects the current input.
  • Try longer text and Unicode characters that matter to your users.
  • Leave the field empty and confirm that no misleading preview or download action appears.
  • Download the PNG, open the saved file, and check that it is not clipped or unexpectedly scaled.
  • Scan the exported file with multiple scanner apps at the size and contrast your users will encounter.

Privacy depends on the whole app

Rendering the QR code in the browser can avoid sending the entered payload to a dedicated QR-generation service. That alone does not establish that an app is private or that it stores nothing: analytics, hosting, logging, or other network code can still affect how input is handled. Make privacy claims only after reviewing the complete implementation and its data flows.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.