QR code generator

Build a static QR code for text, a link, a Wi-Fi network, or a contact card.

Runs locally in your browser. Nothing is uploaded.

Include https:// if you want a web address. UTM parameters can stay in the URL.

The code will appear here, black on white so a phone can scan it.

How to make a code

Choose what the code should contain: plain text, a URL, a Wi-Fi network, or a vCard contact. Fill in the fields and generate. The page builds the payload, draws a black-on-white code, and lets you download a PNG or an SVG. Error correction can be low, medium, quartile, or high. Medium is a good default. Use a higher level when the code will be printed small or might be scratched. Higher correction makes a denser symbol.

The symbol is static. Every character of the payload is in the image. Scanning it does not ask this website for a redirect, and the code does not expire when a subscription lapses, because there is no subscription and no stored code. If you later need the link to change, make a new code. A dynamic code that can be edited later is a different product: it encodes a short link and looks the destination up on a server. This page does not do that.

Wi-Fi, vCard, and URLs

The Wi-Fi payload follows the usual WIFI: form. The network name and password are escaped so that a semicolon or a backslash in the password does not break the fields. WPA covers the common home networks that use WPA2 or WPA3. Choose “no password” for an open network. Hidden networks set the hidden flag. Anyone who can see or photograph the code can join the network, because the password is inside the image. Do not publish a code for a network whose password you would not hand to the people in the room.

The vCard is version 3.0. Empty optional lines are left out. A phone number is included only if you type one. The page does not invent contact details. A URL is encoded as you type it, so include https:// when you want a web address. You can paste a link that already has UTM parameters. The image compressor can shrink the PNG afterward if you need a smaller file for a page.

Keep a quiet margin around the symbol when you place it in a design. The generator adds a small quiet zone. Stretching the code, or putting it on a patterned background, makes it harder to scan. The preview stays black modules on white even in dark mode, because scanners expect that contrast.

Common questions

Will the code stop working?

The image will keep encoding the same text. A URL inside it still depends on that URL. If the page you linked is taken down, the code scans and the browser then fails, which is the website’s problem, not the symbol’s.

Can I change the destination later?

No. Generate a new image. That is the trade for a code that does not rely on a server to remember your link.

How much text fits?

QR capacity depends on the version, the character set, and the error correction. A normal URL or Wi-Fi password fits easily. A very long note may fail to encode. Shorten it or lower the error correction and try again.

Is the Wi-Fi password uploaded?

No. The payload is built in the browser and drawn to a canvas. Do not email the image to people who should not know the password. The secrecy is in who can see the picture.