Free QR Code Generator with Logo, Wi-Fi & vCard

Design a branded, logo-embedded QR code with high error correction, no dynamic-link subscription.

A QR code is only as useful as the string encoded inside it, and this generator builds four different real, machine-readable formats rather than treating everything as plain text: a URL, a Wi-Fi network descriptor, a vCard contact card, or a cryptocurrency payment address. The styling — dot shapes, corner treatments, gradients, an embedded logo — is layered on top through the qr-code-styling library, but none of it changes what a scanner actually reads back.

How to make a QR code with a logo

  1. Pick a preset — URL, Wi-Fi, vCard or Crypto address — and fill in its fields; the preview redraws as you type.
  2. Style the pattern: choose one of six dot shapes, a corner square and corner dot shape, a solid colour or two-stop gradient, and a background colour.
  3. Click Upload logo and choose an image; it is read by your browser and never uploaded. Set the Logo size slider anywhere from 10% to 60%.
  4. Point your phone camera at the on-screen preview and confirm it opens the right page, joins the right network or saves the right contact.
  5. Click Download SVG for print and design work, or Download PNG for a 1200 × 1200 pixel raster image.

Four presets, four payload formats a scanner recognizes

The URL preset trims your input and, if you left off a scheme, prepends https:// so the result always resolves as an absolute address rather than a bare domain a reader might mishandle. The Wi-Fi preset builds the WIFI:S:...;T:...;P:...;H:...;; string most phone camera apps recognize directly, escaping backslashes, semicolons, commas, and colons in the network name or password so a special character in either one can't be mistaken for a field delimiter.

The vCard preset writes a BEGIN:VCARD / END:VCARD block in version 3.0 format, escaping commas, semicolons, and line breaks per the vCard spec so a contact's title or organization with a comma in it doesn't corrupt the card. The crypto preset writes a BIP21-style scheme:address?amount=... string for coins with a registered wallet URI scheme — Bitcoin, Litecoin, Bitcoin Cash, Dogecoin, and Ethereum — and falls back to the bare address for chains like Solana, XRP, Cardano, Polkadot, and Tron, which have no broadly supported URI convention to target.

Why a logo can sit in the middle without breaking the scan

Error correction is fixed at the QR specification's highest level, meaning roughly 30 percent of the code's modules can be damaged, obscured, or overwritten and the payload still decodes correctly. That headroom is what an embedded logo spends: the area behind the image is hidden and sized as a fraction of the code's total width, and the fixed high correction level is what makes that trade-off safe rather than something you'd need to tune by hand.

On top of that redundancy budget, dot style (square, dots, rounded, classy, and two rounded-corner variants), corner square and corner dot shapes, solid or gradient coloring, and background color are all purely cosmetic layers rendered by the styling library — changing any of them never touches the underlying data or the error-correction level.

Static QR codes never expire

Everything a scanner needs lives in the pattern of black and white modules. A code made here has no short link, redirect server or account behind it, so there is nothing that can be switched off later, no scan counter and no monthly plan keeping it alive. It keeps working for as long as the printed image stays legible and the page, network or contact it describes still exists.

The trade-off is that a static code can't be edited. Change one character of the URL or the Wi-Fi password and the pattern changes with it, so the code has to be reprinted. If you expect a destination to move, encode a URL on a domain you control and update where that address redirects instead of the code itself.

Printing a QR code that scans reliably

The code encodes exactly what you typed — nothing is checked

Questions people ask about Branded Vector QR Code Designer

Do these QR codes expire or have a scan limit?
No. Each code is static: the URL, network details or contact card are written into the image itself, not stored on a service that counts scans. Nothing here can deactivate it, so it works for as long as the destination exists and the print is readable.
Can I change the link after the QR code is printed?
Not in the code itself — a different link produces a different pattern, so you would need to reprint. To keep that option open, encode an address on a website you control and set up a redirect there, which you can change whenever you like.
What file formats can I download?
Two: SVG, a vector file that stays sharp at any print size, and PNG rendered at 1200 × 1200 pixels. There is no PDF or EPS export; if a printer insists on one, open the SVG in a vector editor such as Inkscape or Illustrator and save it from there.
Why is my QR code not scanning?
The usual suspects are a logo set too large, low contrast between dots and background, a gradient that fades too light, missing white space around the edges, or a print that is simply too small for the viewing distance. Reduce the logo size, darken the dots and scan the preview again.
How small can I print a QR code?
It depends on how much data it holds, since a long vCard makes a denser grid with smaller modules than a short URL. Around 2 cm wide is a common minimum for codes scanned up close; go larger for dense codes or distant viewers, and always test the printed size.
Why does the QR code still scan correctly after I add a logo in the middle?
Error correction is fixed at the QR standard's highest level, which tolerates roughly 30 percent of the code's modules being damaged or covered. The logo's footprint is sized to stay well within that budget, and the dots directly behind it are simply skipped rather than drawn, so the reader recovers the missing data from redundancy elsewhere in the grid.
What happens if I type a URL without https:// in front of it?
The URL preset automatically prepends https:// before encoding, so a bare domain like example.com still produces a scannable, resolvable link. If you need an http:// link specifically, or a non-web scheme, type the full scheme yourself and it will be used as entered instead.
Is my Wi-Fi password sent anywhere when I generate the network QR code?
No. The Wi-Fi payload string is built and rendered entirely in your browser using the values you typed; nothing about the network name, password, or security type is transmitted off the page during generation, since the QR image itself is drawn locally from that string.
Which cryptocurrencies get a clickable wallet-app link versus just the bare address?
Bitcoin, Litecoin, Bitcoin Cash, Dogecoin, and Ethereum use their registered URI scheme, such as bitcoin: or ethereum:, so a compatible wallet app can open the payment directly from the scan. Solana, XRP, Cardano, Polkadot, and Tron have no broadly adopted wallet URI convention, so the code simply encodes the bare address text.

Related tools on BrakeTools

Content reviewed 2026-09-27.