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

You can build a QR code toolkit with Next.js 16 and export it as a static site, provided QR generation runs in the browser and the app does not depend on Next.js features that require a server at runtime. Put interactive controls in a small Client Component, handle browser-only code carefully because Client Components can still be prerendered, and preserve QR Code’s four-module quiet zone when displaying or printing symbols.

How to structure a client-side QR generator in Next.js 16

In the App Router, pages and layouts are Server Components by default. Keep static page content—such as instructions and explanatory copy—server-rendered where practical, and put the interactive generator in a Client Component. Client Components are where state, event handlers, lifecycle logic, browser APIs, and custom hooks belong. Next.js explains this distinction in its Server and Client Components documentation.

Add the use client directive at the top of the module that begins the interactive boundary. That boundary affects the module graph: imports and child components beneath it become part of the client bundle. Keeping it narrow can avoid shipping unrelated static content as client-side code.

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

Separate the interface from QR generation

A practical design is to keep the input field, correction-level control, and output display in the interactive portion of the page. The QR library and its rendering code should be included where needed to respond to user input. Package documentation may not specify every API, output format, or file-download feature, so choose a library based on its documented payload support and output behavior rather than assuming those details.

#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

Account for prerendering and browser-only APIs

“Client Component” does not mean “never rendered on the server.” Next.js can prerender Client Components to HTML during next build. Consequently, code that runs during module import or render must not assume that browser globals such as window, localStorage, or navigator exist. Next.js describes this behavior in its static exports guide.

Access browser-only APIs during browser execution, for example from an effect. If a chosen QR library uses browser globals during import or rendering, check that library’s documentation and isolate or dynamically load it as appropriate. The correct fix depends on the package; there is no single package-specific workaround established here.

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.)

Can a QR toolkit built with Next.js be deployed as a static site?

Yes, if the app’s routes and features do not require a Next.js server at runtime. Set output: 'export' in the Next.js configuration and run a production build. Next.js emits an out folder containing HTML and static assets that can be served by a web server capable of serving those files.

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

Static export does not support runtime-dependent Next.js features such as Server Actions, cookies, request-dependent route handlers, rewrites, redirects, headers, or Incremental Static Regeneration (ISR). A browser-based QR generator can fit static deployment because the browser can create the symbol without a server-side generation endpoint, but that does not make every Next.js feature available in export mode. Check the Next.js static export documentation for the supported feature set.

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 QR correction settings and payloads deliberately

QR Code has versions 1 through 40. Version 1 is 21 × 21 modules; Version 40 is 177 × 177 modules, with four additional modules per side at each version increase, according to DENSO WAVE’s version guidance. The symbol’s capacity and resulting dimensions depend on payload length, character type, and error-correction level. Longer values generally need a denser or larger symbol than shorter ones, and maximum capacity is not one fixed character count.

The four correction levels trade payload capacity for correction capability. DENSO WAVE’s error-correction guidance says: “Typically, Level M (15%) is most frequently selected.” That is general guidance, not a universal setting. Consider the display or print environment, the payload, and the final symbol size when selecting a level.

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.
Level Correction and capacity trade-off
L Lower correction capability; leaves more capacity for payload than higher levels.
M Moderate correction capability; DENSO WAVE says it is most frequently selected in its general guidance.
Q Higher correction capability than L or M, with less payload capacity.
H Highest correction capability among the four levels, with the least payload capacity.

These are relative trade-offs: higher correction levels increase correction capability but use more of the symbol’s data capacity. If a payload produces a symbol too dense for the intended display or print size, consider shortening the content or choosing a lower correction level if the use conditions allow it.

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

Keep the quiet zone in the rendered and printed output

A regular QR Code requires a clear quiet zone four modules wide on every side, according to DENSO WAVE’s QR Code creation guidance. Include that margin in the exported or printed area; it is not optional decorative padding. When sizing a symbol for print, account for the border as part of the full physical area.

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.

Do not treat error correction as a reason to crop the margin or obscure important symbol features. Correction capability does not establish that a code with a missing quiet zone or obstructed finder pattern will scan reliably.

What to verify before shipping the toolkit

The implementation details depend on the QR package and the actual interface, so evaluate the generated output rather than presuming a particular library’s behavior. Check these points in the finished app:

  • Whether the selected library supports the payload character types your users need.
  • Which output formats and resolution options it provides, and what the interface actually offers.
  • Whether the four-module quiet zone remains intact in both on-screen output and any saved or printed version.
  • Whether generated codes scan at the display or print size users will encounter.
  • Whether any network request sends the payload elsewhere. Local generation need not send content to a server if the implementation makes no such request, but analytics, remote fonts, or other services may still contact external systems.

QR Code is standardized under JIS X 0510 and ISO/IEC 18004, as noted in DENSO WAVE’s standards overview.

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

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.