Free QR Code Generator

Make static QR codes for links, text, Wi-Fi, email, phone, SMS and contacts — they never expire. Download PNG or SVG.

Private by design: codes are generated in your browser, and nothing you type is sent to a server — including Wi-Fi passwords.

https:// is added automatically if you leave it out.

#0f172a
#ffffff
Error correction

Medium — about 15%. The sensible default for most printed codes.

Live preview
Fill in the fields to see your QR code.

Encoded payload
https://yasirrehman.dev

This exact text is what a phone reads when it scans the code.

How to make a free QR code that never expires

Pick what the code should do, fill in the details, then download it as PNG or SVG. Because this is a static QR code, your content is stored in the pattern itself — there's no account, no redirect link and nothing that can expire or be switched off later.

  1. Choose a type — URL, text, Wi-Fi, email, phone, SMS or a contact card.
  2. Enter the details — the preview and the encoded payload update as you type.
  3. Adjust the look — keep a dark colour on a light background, leave the quiet zone at 4, and raise error correction if the code will get handled a lot.
  4. Download — PNG for screens and documents, SVG for print so it stays sharp at any size.
  5. Test before you print — scan it with at least two different phones at the real size and distance.

Static vs dynamic QR codes

A static code can't be edited after printing, but it also can't expire. Dynamic codes from QR services point to a short link the service controls — handy for changing the destination and counting scans, but the code stops working if the subscription lapses or the service shuts down, and every scan passes through their servers.

Your data stays on your device

The QR code is built with JavaScript right here in your browser. Nothing you type is sent to a server or logged — including Wi-Fi passwords and contact details.

Frequently Asked Questions

No. The codes made here are static: the link, text or Wi-Fi details are stored inside the QR pattern itself, so there is no server or subscription that can switch them off. A static code keeps working for as long as the printed image is readable — the only way it stops working is if the thing it points to (for example your website URL) goes away.
A static QR code contains your actual content, so it can never be edited but also never expires. A dynamic QR code contains a short redirect link owned by a QR service; you can change where it points later and see scan counts, but it only works while that service keeps the redirect running, which usually means a paid plan. This tool makes static codes only.
Choose the Wi-Fi tab, type the network name (SSID) exactly as it appears on your devices, enter the password, and pick the security type — WPA/WPA2/WPA3 for most home and office routers. Tick "Hidden network" only if your router doesn't broadcast its name. Most modern iPhone and Android cameras will offer to join the network when they scan it. Your password never leaves your browser.
Yes, but keep strong contrast and keep the code dark on a light background. Scanners look for the difference between dark and light modules, so pale colours, low-contrast pairs, or light-on-dark (inverted) codes can fail on some phones. The tool warns you when your colour choice looks risky — always test-scan before printing.
Big enough for the distance people will scan from. A common rule of thumb is to make the code at least about 2 × 2 cm (0.8 in) for something held in the hand, and roughly one-tenth of the scanning distance for posters and signs. Longer content makes a denser code, which needs to be printed larger. Download the SVG for print so it stays sharp at any size, and leave the white border (quiet zone) around it.
Use M for most codes and H if the code may get scratched, dirty, or have a logo placed over it. Higher levels add redundant data so a damaged code can still be read — roughly 7% (L), 15% (M), 25% (Q) or 30% (H) of the code can be recovered — but they also make the pattern denser, so it needs more print space.
Yes. The QR code is generated entirely in your browser with JavaScript — nothing you type, including Wi-Fi passwords, is sent to a server or stored. You can even load the page and then disconnect from the internet; it keeps working. Keep in mind that anyone who scans the printed code can read the password, so only display it where you'd share the password anyway.