Skip to content

QR Code Generator

Generate static QR codes as SVG or PNG. No accounts, no fees, no expiration dates, and complete offline privacy.

Higher levels add redundancy, which can push the code to a larger, denser grid. Low is enough for a screen or a clean print.

#000000
#ffffff
Centre logo (optional)

QR Code Technology Standards

Our client-side engine conforms strictly to the international ISO/IEC 18004 standards for QR code technology. By utilizing premium, browser-compliant QR algorithms, we construct pixel-perfect vector structures (SVG) or high-density rasters (PNG) that ensure optimal scannability across all modern iOS and Android mobile cameras. All calculations occur inside your device's active thread pool in real-time.

Premium Client-Side Privacy

  • Static & Non-Expiring: Once generated, the barcode remains functional for life. There are no backend database redirections to break or go offline.
  • No network transfer: The encoded text never leaves the page, which matters when it is a Wi-Fi password, an internal URL, or anything else you would not paste into a stranger\'s form.
  • High-Resolution Vector Export: Download high-fidelity SVG paths or PNG graphics ready for print media, business cards, or billboard layouts.

What is actually in a QR code

The pattern is far more structured than it looks. The three large squares in the corners are finder patterns, letting a scanner locate the code and work out its rotation from any angle. Smaller alignment patterns help it correct for distortion when the code sits on a curved surface or is photographed obliquely. The dotted lines running between the finder patterns are timing patterns, establishing how large a single module — the smallest black or white square — is. Everything else is your data plus its error correction.

Codes come in versions from 1 to 40, and the version sets the grid size. Version 1 is 21 modules square; version 40 is 177. The encoder picks the smallest version the content fits into, which is why a short URL yields a sparse, chunky code and a long one yields a dense field of tiny squares. Since a scanner has to resolve individual modules, a long URL printed at the same physical size is meaningfully harder to read. That is a practical argument for keeping encoded URLs short, and it has nothing to do with tracking: stripping unnecessary query parameters before generating a code genuinely makes it easier to scan.

Error correction, and the logo trade-off

QR codes use Reed–Solomon error correction, from the same family of maths that lets a scratched CD play. There are four levels: L recovers roughly 7% of the code, M about 15%, Q about 25% and H about 30%. That redundancy is why a code with a coffee ring across it still works.

It is also the mechanism behind every QR code with a logo in the middle. Nothing clever is going on: the logo simply covers data, and the error correction reconstructs what is underneath. This works right until it does not. Choose level H, keep the logo under about a quarter of the area, and there is margin to spare. Cover a third of a level-M code and it becomes unreadable — and the failure is abrupt rather than gradual, so a design that scans on your desk can fail consistently in a shop window.

Higher error correction also means more modules for the same content, pushing the version up and the module size down. There is a genuine trade-off between damage tolerance and how small you can usefully print.

The quiet zone: the most common printing failure

A QR code needs a blank margin around it four modules wide, called the quiet zone. It is part of the specification, not a design suggestion. Without it a scanner cannot reliably tell where the code ends and the surrounding artwork begins.

This is the single most common reason a code that worked on screen fails in print. A designer drops the image into a layout, crops it flush to the pattern or sets it against a busy photograph, and it becomes unreliable at exactly the moment it matters. If you take one practical thing from this page, make it this: leave clear space around the code.

Contrast matters for the same reason. Scanners expect dark modules on a light background, and while many now cope with inverted colours, plenty of older ones do not. A low-contrast pairing that looks elegant in a mockup — mid grey on light grey — can be effectively unscannable. Test at the final printed size, on the final material, with an ordinary phone camera rather than a dedicated scanning app: a code that scans from a monitor at 300% zoom tells you very little about one printed two centimetres wide on a matte flyer.

QR Code Generator Frequently Asked Questions

What is a QR Code?

A QR (Quick Response) Code is a two-dimensional matrix barcode composed of black square modules arranged on a white grid. Created originally in 1994, QR codes store high-density binary, alphanumeric, or numeric data (such as web links, contact vCards, or Wi-Fi credentials) that can be scanned instantly using a smartphone camera.

What is the difference between static and dynamic QR codes?

Static QR codes embed the target data (like a URL) directly into the physical module pattern itself. They cannot be modified after generation, but they never expire, require no server redirect, and run entirely offline. Dynamic QR codes embed a tracker URL pointing to a service provider's remote server. While tracking is possible, dynamic QR codes can expire, often require monthly subscription fees, and pose privacy risks. DuckConvert generates 100% static, free QR codes that last forever.

What is QR code error correction?

QR codes use Reed-Solomon error correction, which allows scanners to successfully read the code even if the barcode image is partially scratched, dirty, or covered (up to 30% damage depending on the level). This feature is what allows logo images to be placed in the center of QR codes without breaking their scannability.

Can I put a logo in the middle of the QR code?

Yes. Add any image from your device and it is embedded directly into the downloaded SVG or PNG, never uploaded. Two things happen automatically to keep the result scannable: error correction is raised to High, so the code can afford to lose the area the logo covers, and the modules underneath are cleared rather than painted over, which a scanner reads as erasures and recovers more cheaply. The logo is capped at 25% of the code's width for the same reason — beyond roughly that point a code still looks perfectly normal and simply stops scanning.

Why does my QR code get bigger when I raise error correction?

Error correction data shares the symbol with your content, so asking for more of it can push the code up to the next version — a larger grid with more, smaller modules. That is a real trade-off rather than a free improvement: at a fixed print size, a denser grid is harder for a camera to resolve, not easier. This generator therefore defaults to the Low level and shows you the version and module count it produced, so you can see exactly what your settings cost. Raise the level when the code will be printed small, damaged, or partly covered.

Why is an offline, client-side QR generator safer?

Traditional online generators upload your target URLs, confidential contact cards, or corporate network keys to their servers, building tracking profiles of your links. DuckConvert generates all QR patterns locally within your browser sandbox using secure, client-side JavaScript. No data ever travels over the internet, providing perfect privacy.