Barcode & QR Tools

Generate custom barcodes (Code128, EAN, UPC) & QR codes with logos online for free. Scan any code with your camera or from an image. 100% private, no uploads required.

Advertisement
Advertisement

A barcode generator and scanner creates 1D barcodes (Code 128, EAN-13, UPC-A) and 2D codes (QR codes, Data Matrix) from text input, and also decodes barcodes from camera or uploaded images using the Barcode Detection API. This dual-function tool handles both encoding and decoding entirely in your browser, with no data transmitted to any server.

Generate and scan barcodes without uploading anything

Create QR codes with logos, product barcodes (Code128, EAN, UPC), and scan from camera or image — all processed locally in your browser.

QR & barcodes
Camera scanning
Free unlimited

How to use

  1. 1

    Choose Mode

    Select 'Generate' to create a new code or 'Scan' to read an existing one.

  2. 2

    Generate

    Select format (Barcode/QR), enter data, and optionally add a logo. Click Download to save.

  3. 3

    Scan

    Upload an image containing a code or use your webcam to scan in real-time.

Advertisement

Understanding Barcodes and QR Codes

1D barcodes vs. 2D codes

1D barcodes (linear barcodes) encode data in the widths of parallel black and white bars. They're used for retail products (UPC-A, EAN-13), shipping labels (Code 128), and library books (Code 39). 1D barcodes can only encode a small amount of data (typically 8-20 characters) and must be scanned with a laser or linear imager. The encoding algorithm converts each character into a specific pattern of bars and spaces -- for example, Code 128 uses 11 modules per character, with each module being either a black bar or a white space.

2D codes (matrix codes) encode data in a two-dimensional grid of black and white squares. QR codes (Quick Response) are the most common 2D code, capable of storing up to 7,089 numeric characters or 4,296 alphanumeric characters. They include error correction (Reed-Solomon) that allows the code to be read even if partially damaged or obscured -- up to 30% of the code can be damaged and still be readable. QR codes are used for URLs, contact information (vCard), WiFi credentials, payment links, and boarding passes.

The choice between 1D and 2D depends on the use case. For retail products with simple numeric identifiers, UPC-A or EAN-13 is standard. For shipping and logistics, Code 128 is preferred because it can encode alphanumeric data. For marketing, payments, and information sharing, QR codes are the best choice because they can encode URLs, text, and structured data that smartphones can interpret directly.

Advertisement

How barcode generation and scanning work

Barcode generation converts input data into a visual pattern. For QR codes, the process involves: encoding the data into a bit stream, adding error correction codes using Reed-Solomon, arranging the bits into a matrix, applying masking patterns to ensure readability, and adding position, alignment, and timing patterns. The resulting matrix is rendered as black and white squares on a canvas. The canvas can then be exported as PNG for download.

Barcode scanning (decoding) reverses this process. The Barcode Detection API (available in Chrome, Edge, and Opera) uses the device's camera or an uploaded image to detect and decode barcodes. It analyzes the image to find the barcode's position, then reads the pattern of bars/squares and decodes the data. For camera-based scanning, the API continuously processes video frames from the getUserMedia stream, detecting barcodes in real time. The API supports multiple barcode formats simultaneously -- it can detect both a 1D barcode and a QR code in the same frame.

Advertisement

Why Choose Our Free Online Tool?

Absolute Privacy

Unlike other online tools, we process everything directly in your browser. Your data, images, and camera feed are never uploaded to our servers.

Blazing Fast Speed

Because there are no uploads or server processing, generation and scanning happen instantly.

Powerful & Versatile

From product barcodes like UPC and EAN to branded QR codes with your company logo, our tool handles a wide range of formats.

Completely Free

No subscriptions, no watermarks, no sign-ups. All features are available for free, forever.

How does this compare to other barcode tools?

A side-by-side comparison of popular barcode generation tools.

FeatureNovaToolsQRCode MonkeyThe-qrcode-generator.com
Generate + Scan in one toolBothGenerate onlyGenerate only
QR + Code 128 + EAN-13Multiple formatsQR onlyQR only
Camera scanningBarcode Detection API
Image upload scanning
Privacy (no server)100% localServer-sideServer-side
Customizable QR colorsLimited

Our tool combines generation and scanning in a single client-side application. Most online tools are either generators or scanners, and server-based ones process your data on their servers. Our tool handles everything in your browser using the Barcode Detection API and canvas rendering.

FAQ

Is this tool free to use?
Yes, this tool is 100% free. There are no limits, watermarks, or sign-up requirements. You can generate as many barcodes and QR codes as you need, scan as many codes as you want, and download the results in high resolution for personal or commercial use. The tool is sustained by non-intrusive advertising rather than paywalls. There are no premium tiers, no daily usage caps, and no attribution required on the generated codes. The output images (PNG/SVG) are yours to use however you see fit.
Are my files or camera feed uploaded to a server?
No. All generation and scanning processes happen locally in your web browser. Your data, files, and camera feed never leave your device, ensuring complete privacy. For QR/barcode generation, the tool uses client-side JavaScript libraries (JsBarcode and qrcode) to render the codes directly in the browser. For scanning, the tool uses the browser's native Barcode Detection API (where available) or a WebAssembly-based scanner that runs in the browser. The camera feed is accessed via the getUserMedia API and processed frame-by-frame locally — no video is recorded, transmitted, or stored. When you close the browser tab, all data is cleared.
What barcode formats are supported?
The generator supports CODE128 (the most versatile 1D barcode), CODE39 (common in industrial and automotive), EAN-13 (international product barcodes used outside North America), UPC-A (product barcodes used in North America), EAN-8 (shortened EAN for small packages), and ITF-14 (shipping container codes). For 2D codes, the tool supports standard QR codes with customizable error correction levels (L, M, Q, H), which determine how much damage the code can sustain while remaining readable. The scanner can read all of these formats plus additional ones like PDF417 and Data Matrix, depending on your browser's capabilities.
Can I add a logo to my QR code?
Yes. The tool lets you upload a logo image (PNG, JPG, or SVG) and place it in the center of your QR code. The tool automatically adjusts the error correction level to 'H' (30% recovery) to ensure the code remains scannable even with the logo obscuring the center. For best results, use a square logo with a transparent background (PNG or SVG), and keep the logo size to no more than 20-25% of the QR code's total area. The tool will render the logo at the correct resolution and blend it with the QR code pattern. The final output can be downloaded as a PNG or SVG file.
How do I scan a QR code or barcode?
The tool offers two scanning modes. In 'Camera' mode, the tool accesses your device's camera (with your permission) and continuously scans the live video feed for codes. When a code is detected, the tool displays the decoded data and stops scanning. In 'Image' mode, you can upload an image file containing a barcode or QR code, and the tool will scan it locally. The camera mode works best in well-lit environments with the code held steady about 15-30 cm from the camera. The image mode works well for screenshots, photos of product packaging, or scanned documents.
What size should my QR code be?
The minimum recommended size for a QR code is 2x2 cm (0.8x0.8 inches) for reliable scanning at close range. For every 10 cm (4 inches) of scanning distance, add 1 mm (0.04 inches) to the QR code size. For example, a QR code that will be scanned from 1 meter away should be at least 12x12 cm (4.7x4.7 inches). The tool lets you specify the output resolution in pixels — we recommend at least 300x300 pixels for print use and 500x500 pixels for digital use. For SVG output, the code can be scaled to any size without quality loss, making it ideal for large format printing.
What is QR code error correction and why does it matter?
QR codes use Reed-Solomon error correction to remain readable even when part of the code is damaged, dirty, or obscured (e.g., by a logo). There are four levels: L (7% recovery), M (15% recovery), Q (25% recovery), and H (30% recovery). Higher error correction levels make the code more durable but increase its density (more modules). For most use cases, level M (15%) is a good balance. Use level H (30%) when adding a logo to the center of the code, when the code will be printed on rough surfaces, or when it may be exposed to wear and tear. Use level L (7%) only when the code will be displayed digitally and size is a concern.
Can I use the generated codes commercially?
Yes. The barcodes and QR codes generated by this tool are free to use for any purpose, including commercial use. There are no licensing fees, no attribution requirements, and no restrictions on how you use the output. The QR code specification is an open ISO standard (ISO/IEC 18004), and the barcode specifications are similarly open standards. The tool does not add any watermarks, tracking pixels, or identifying information to the generated codes. You own the output files completely.

Your Privacy is Our Priority

This tool runs entirely in your browser using client-side JavaScript libraries (JsBarcode, qrcode, and native Barcode Detection API).

  • We do not upload, store, or analyze your data, files, or camera feed.
  • Everything you process stays on your device.
  • For QR/barcode generation, the tool renders codes locally using JavaScript — no data is sent to any server.
  • For scanning, the camera feed is accessed via the getUserMedia API and processed frame-by-frame in the browser — no video is recorded, transmitted, or stored.
  • For image scanning, the uploaded image is processed locally using the browser's barcode detection engine.
  • There are no server-side logs capturing your barcode data or scan results, no analytics tracking your usage patterns, and no persistent storage of any kind.
  • When you close the browser tab, all data is cleared from memory immediately.

This makes the tool safe to use for confidential product codes, proprietary inventory data, and any scenario where barcode data should not be exposed to third-party servers.

You might also like

Helpful guides

Advertisement