This document describes the internal architecture, JavaScript mechanics, privacy guarantees, and security boundaries of NexQR — a digital tool that turns any URL or text into a QR code, entirely inside your browser.
NexQR is a precision QR Code generator that serves two primary modes:
https://veckpriv.com), and NexQR instantly generates a
scannable QR code that points directly to that link.
The tool is built for users who need a fast, reliable, and private way to create QR codes — whether for sharing links, offline information transfer, business cards, or creative projects. All processing is done locally, and the final QR code can be downloaded as a high‑resolution PNG image.
qrcode.min.js library and HTML5 Canvas. No data is ever transmitted.
Every operation in NexQR is executed 100% inside the browser's memory. No user input — not even the text or URL — ever leaves the client.
qrcode.min.js library (MIT licensed) which implements the QR
encoding standard. When the user clicks Generate, the library
receives the input string and outputs a QR code as a <canvas>
element, rendered directly in the DOM.
#qrcodeContainer). The canvas is sized at 200×200 pixels
by default, providing a crisp preview suitable for scanning.
canvas.toDataURL('image/png')
and triggers a download using a temporary <a> element with the
download attribute. This is a pure client‑side operation — no server
involvement whatsoever.
fetch(), XMLHttpRequest, or WebSocket calls
of any kind.
// Core QR generation — triggered on "Generate" click
function generateQR() {
const input = document.getElementById('qrInput').value;
const container = document.getElementById('qrcodeContainer');
container.innerHTML = ''; // clear previous
// create canvas and render QR
const canvas = document.createElement('canvas');
// qrcode.min.js renders into canvas
QRCode.toCanvas(canvas, input, { width: 200 }, (err) => {
if (!err) container.appendChild(canvas);
});
}
// Download PNG — all local, no network
function downloadPNG() {
const canvas = document.querySelector('#qrcodeContainer canvas');
const link = document.createElement('a');
link.download = 'nexqr-code.png';
link.href = canvas.toDataURL('image/png');
link.click();
}
✅ This design guarantees that all processing happens in memory — nothing is serialised, stored, or transmitted outside the browser tab.
NexQR has exactly one external dependency: the open‑source
qrcode.min.js library (version 1.0.0 or later). All other code is
hand‑written vanilla JavaScript, HTML5, and CSS.
document DOM manipulation, addEventListener(),
canvas.toDataURL(), and Blob / URL.createObjectURL()
for download handling. No additional npm packages or polyfills.
qr.css). No frameworks, no preprocessors, no icon libraries.
'Inter', -apple-system, BlinkMacSystemFont, ...)
to avoid external font requests. No Google Fonts or webfont services.
NexQR does not persist any data — neither on the server (there is none) nor on the client beyond the current browser session.
localStorage — The tool never writes to
localStorage, sessionStorage, or
IndexedDB. Your input text and the generated QR code exist
only in volatile memory (DOM and JavaScript variables).
document.cookie.
NexQR handles no sensitive user data in the traditional sense — it only processes the text or URL you type. Nevertheless, the security model is absolute: nothing ever touches the network.
<input> element with a click listener on the
Generate button. It does not wrap a <form>
and never issues a POST or GET request.
// The only "input" is the text field — processed locally
generateBtn.addEventListener('click', () => {
const input = document.getElementById('qrInput').value;
// value stays in the browser — never sent anywhere
// QRCode.toCanvas() runs entirely in memory
});
// No fetch(), no XMLHttpRequest, no WebSocket
// No cookies, no localStorage, no IndexedDB
🛡️ Absolute input security is guaranteed by the architecture: the browser never initiates any outbound request containing user‑derived data. Your interaction with NexQR is completely offline after the initial page load.
Launch NexQR and turn any URL or text into a scannable QR — instant, private, free.