Free tools Windows power users keep installed
One-click scans. No signup required.
Build the API around a small, explicit contract: accept a payload and requested output format, optionally accept supported correction and styling settings, validate combinations, then return the rendered code with a stable content type. Rust’s qrcode crate provides automatic symbol sizing and configurable error correction; other crates document PNG, SVG, and additional QR-family support. Styling controls are not proof that a code will scan reliably.
Which Rust crate should you use to generate QR codes?
Choose a crate by the formats and behavior your endpoint promises, not by the number of styling options in its examples. The documented options differ in QR families, rendering formats, and write behavior; the sources do not establish a performance winner.
| Crate | Documented encoding and control | Documented output | Quiet zone and caveats |
|---|---|---|---|
| qrcode | QR Code and Micro QR Code; binary data; automatic sizing with medium error correction by default, or explicit correction level and version. | Image rendering and text representation are shown in the documentation. | Renderer exposes quiet-zone configuration. No default module count is stated in the cited documentation. |
| qrcode-generator | QR Code, Micro QR Code, and rMQR; automatic data-mode segmentation. | PNG and SVG; optional Tokio async writing. Rendering itself remains synchronous. | Project documentation gives defaults of four modules for QR Code and two modules for Micro QR Code and rMQR. Check the exact version and features you select. |
| qirust | Documents error-correction choices, colors, logo embedding, and frames. | PNG, SVG, and in-memory outputs. | Logo and frame examples do not establish scan reliability for arbitrary designs or payloads. |
For a straightforward binary-payload endpoint with image rendering, qrcode is a documented starting point. If SVG or the documented additional QR families are part of the API contract, compare the alternatives against the exact crate versions and enabled features you plan to ship. Also check maintenance and release status before adopting any dependency; the cited feature documentation alone does not establish a maintenance ranking.
What should the generation endpoint accept?
Keep the default request simple, and make advanced controls optional. For example, an endpoint can accept a payload and output format, with optional error-correction, version, dimensions, colors, and quiet-zone settings. Expose only controls your selected renderer can implement consistently.
#1 Best Overall
- 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
- Payload: Specify whether the endpoint accepts text, bytes, or both, and define the character encoding for text. The
qrcodecrate documents binary data support. - Output format: Accept only formats the selected crate and enabled features can render. For example,
qrcode-generatordocuments PNG and SVG, but PNG requires its default image feature. - Error correction: Offer a documented default and, if useful, explicit correction levels. Higher correction does not make arbitrary styling or logo overlays safe.
- Version: Consider leaving version selection automatic for ordinary callers and allowing explicit selection only when the client has a specific need.
- Style: Define supported colors, dimensions, and quiet-zone behavior. Decide whether dimensions are minimum output bounds or exact dimensions, and document that meaning.
Avoid promising a fixed maximum payload length without tying it to the encoding, symbol version, and correction level. Capacity depends on those choices, and an explicit version/correction combination may not fit the supplied data.
How should version and error correction work?
The qrcode crate’s QrCode documentation describes three useful construction paths:
Rank #2
- 【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.)
QrCode::newchooses the smallest fitting symbol and uses medium error correction by default.with_error_correction_levellets the caller select a correction level while retaining automatic size selection.with_versionaccepts an explicit version and correction level, and can fail when the payload will not fit or the requested combination is incompatible.
These behaviors map naturally to an API with an automatic default and optional advanced settings. Treat the crate’s construction result as an input-validation boundary: convert expected fit or combination failures into client errors rather than returning an unexplained server failure. Keep the exact correction and version semantics stable across releases of your API.
How do you customize colors and output formats?
Colors, dimensions, and quiet zones
The qrcode renderer supports custom dark and light colors, quiet-zone configuration, and minimum dimensions. Define validation for these settings before rendering—for example, reject malformed color values and out-of-range dimensions. Preserve a deliberate quiet-zone policy instead of letting arbitrary requests remove the clear margin around the symbol.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #3
- 【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.)
Renderer options are controls, not a scanability guarantee. The cited qrcode documentation also notes that the image crate can rotate a rendered result or overlay a logo. Those are post-render operations; test the resulting codes under the display, print, and scanner conditions your service is intended to support. Documentation of colors, frames, or logos does not demonstrate reliable scanning for every payload and design.
PNG, SVG, and text
Select output formats according to what clients need and what your dependency actually supports. The qrcode documentation shows image and text rendering, while qrcode-generator documents PNG and SVG generation. Its documentation also describes optional Tokio async writing, but rendering remains synchronous. Do not label synchronous rendering as asynchronous merely because the output write can be async.
Rank #4
- 【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.
Return the matching media type consistently, and keep the output contract independent of internal crate choices where practical. If PNG support depends on a crate feature, enable and verify that feature in the exact version you deploy; otherwise the endpoint should not advertise PNG.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How should the API return errors?
Separate malformed requests from generation failures and rendering or output failures. The status-code mapping is an API design decision; the cited crate documentation establishes construction failure cases, not HTTP status codes.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Best Value
- 【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.
| Condition | Recommended API behavior |
|---|---|
| Missing payload, unsupported format, malformed color, or invalid dimensions | Return a client error with a stable machine-readable code and a field-specific explanation. |
| Payload cannot fit, or explicit version and correction settings are incompatible | Return a client error that identifies the rejected setting combination without exposing an internal panic or opaque error. |
| Encoding succeeds but rendering or writing fails | Return a server-side failure, log diagnostic details internally, and avoid returning implementation internals to the client. |
Use a consistent error shape, such as an error code plus a human-readable message and, where relevant, the invalid field. Do not claim a precise maximum size unless your API has defined it for the accepted encoding and configuration.
What should you validate before deployment?
Configuration support and scan reliability are different questions. Exercise the generated output under the conditions that matter to your users rather than inferring reliability from successful rendering.
- Test the default automatic mode and each exposed correction or version setting, including data that does not fit.
- Check every advertised media type, content type, dimension rule, and quiet-zone policy.
- Test styled codes—including any logo, frame, rotation, or unusual color choices—with representative payloads and the intended display or print process.
- Confirm error responses remain stable for invalid requests and incompatible encoding settings.
- Review crate version, enabled features, and documented behavior together; feature claims can differ between versions.
No latency, throughput, or scan-success figures are established for these crate options, so choose and validate them against your own service requirements rather than assuming one implementation is faster or more reliable.
Quick Recap
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.
Recommended Free Tools




