PrivyQR was born from a simple frustration: every QR code scanner app we tried was either bloated with ads, required unnecessary permissions, or silently uploaded our scanned data to remote servers. We decided to build something better.
Our mission is to provide a fast, reliable QR code scanner and generator that respects your privacy completely. When you scan a QR code with PrivyQR, the image never leaves your device. The decoding happens right in your browser using JavaScript — no server round-trips, no cloud processing, no data retention.
Privacy is not an afterthought or a marketing claim. It is the foundational architectural decision behind every feature we build. We chose client-side processing from day one.
Our code is straightforward and auditable. There are no hidden tracking pixels and no third-party data collection of your QR data. What you see is what you get.
A tool should do its job without getting in the way. PrivyQR's core scanner and generator are free with no sign-up required. Open the page and start scanning. Optional Pro features are available for professionals who need them.
By keeping everything local, we eliminate entire categories of security risk. There are no server-side vulnerabilities because there is no server-side processing of your data.
When you upload an image or point your camera at a QR code, PrivyQR uses the HTML5 Canvas API to extract pixel data from the image. That pixel data is then passed to jsQR, an open-source JavaScript library that performs QR code detection and decoding entirely within the browser's JavaScript runtime.
For camera scanning, we use the getUserMedia API to access your device's camera feed. Video frames are captured to a canvas element and scanned in real-time. The camera stream is never recorded or transmitted — it exists only in your browser's memory for the duration of the scanning session.
For PDF scanning, we use PDF.js (by Mozilla) to render each page of the document as a canvas image, which is then scanned for QR codes using the same jsQR library. The PDF file is read directly from your local file system into browser memory.
For QR code generation, we use qrcode-generator, which creates QR codes using pure JavaScript math — no server API calls. The generated QR code is rendered to an HTML canvas element that you can download as a PNG image.
No network requests are made with your data. The only external resources loaded are the CDN-hosted JavaScript libraries themselves (jsQR, PDF.js, qrcode-generator) and the Google Fonts stylesheet. These are standard, widely-used open-source libraries.
PrivyQR was built by privacy advocates who were tired of QR scanner apps that harvest data. We believe that simple utility tools should not require you to sacrifice your privacy, create an account, or tolerate advertisements.
We maintain PrivyQR's core tools as a free resource for anyone who values their digital privacy. An optional Pro upgrade helps support development while giving professionals extra capabilities. If you share our values, spread the word — that is the best way to support us.
Start scanning QR codes privately, right now. No account required.
Open the Scanner