About QRBarcodeTools

On this page
  1. Who runs this site
  2. Static codes, and why that matters
  3. How your data is handled
  4. What you can do here
  5. What these tools cannot do
  6. Reporting a problem

QRBarcodeTools is a free collection of 45 QR code and barcode tools that run entirely in your web browser. It exists because most "free" generators bury simple tasks under sign-up walls and watermarks, or hand you a dynamic link that stops working when somebody else's subscription lapses.

Who runs this site

QRBarcodeTools is built and maintained by a small independent team. Content is published under the name QRBarcodeTools Editorial Team rather than individual bylines, and we do not claim professional certifications, expert review panels or industry accreditation, because we have none to claim. What we do instead is cite the specification behind every technical statement so you can check it yourself, and document exactly how the tools work on the methodology page. How guides are written and corrected is set out in our editorial policy.

Static codes, and why that matters

Every QR code this site produces is static. The data is stored inside the pattern itself.

  • A static code encodes your content directly. It works forever, needs no account, cannot be switched off by anyone, and nobody — including us — can see when or where it is scanned. Its content cannot be changed after printing, and a long URL makes a denser, harder-to-scan pattern.
  • A dynamic code encodes a short redirect URL owned by a service. The destination can be edited later and scans can be counted — but it only works while that service keeps running and keeps you subscribed, and the operator sees every scan.

We do not offer dynamic codes. Doing so would mean running a redirect service, holding your data, and creating exactly the dependency this site was built to avoid. The trade-off in full: static vs dynamic QR codes.

How your data is handled

Generation, decoding, image processing, PDF export and ZIP building all happen in your browser using JavaScript. URLs, Wi-Fi passwords, contact details, barcode numbers, uploaded logos, scanned images and CSV files are never transmitted to us — there is no upload endpoint to receive them.

What does leave your browser: Google Analytics 4 page views, and requests for Google AdSense. Neither receives anything you type into a tool; we send no custom events and no URL parameters carrying your data. The privacy policy states exactly what each collects and how to opt out.

What you can do here

QR codes for links, plain text, Wi-Fi, contact cards, email, SMS, phone, WhatsApp, location, calendar events, app-store listings, social profiles and Bitcoin payments — with colours, logos, frames and a scan-reliability check before you download.

18 barcode symbologies, including UPC-A, UPC-E, EAN-13, EAN-8, ISBN, ISSN, Code 128, GS1-128, Code 39, ITF-14, Interleaved 2 of 5, Codabar, MSI Plessey, Pharmacode, and the 2-D formats Data Matrix, GS1 DataMatrix, PDF417 and Aztec Code. Plus scanners, a check-digit validator, bulk CSV generation, printable label sheets and size calculators.

What these tools cannot do

Being straight about the limits is more useful than a feature list:

  • Generating a barcode image does not register a product number. GTINs, UPCs and EANs are issued by GS1. A correctly formatted image of a number you are not entitled to use is not a licence to use it. See the disclaimer.
  • The scan-reliability rating is not a print grade. A real grade (ISO/IEC 15415) measures a printed symbol with calibrated optics. We check the design — contrast, quiet zone, density, logo coverage — which is where most failures start, but it is not the same thing.
  • We cannot guarantee every scanner reads every code. Test on your own devices, at final size, on the final material, before a production run.
  • Camera scanning depends on your browser. Which symbologies can be detected varies by device; where native detection is unavailable, only QR codes can be read.
  • Codes cannot be edited after generation. That is what static means.

Reporting a problem

If a generated code does not scan, a check digit looks wrong, or a page is broken, we want to know. Email [email protected] — the contact page lists what to include so we can reproduce it. Corrections and fixes are recorded in the changelog.