How to Create a QR Code for a Link, Wi-Fi, WhatsApp or Contact Card

By the FileTools team · Updated October 27, 2026 · 4 min read

A QR code lets someone open a link, join Wi-Fi or save your contact details by pointing a phone camera at a square of black and white modules. They are on menus, business cards, event posters and product packaging. Creating one takes a minute. This guide covers the types of QR code, how to make them and how to get codes that actually scan.

Static vs dynamic QR codes

A static QR code stores the information itself, such as the full web address. It never expires, costs nothing and cannot be changed after it is printed. A dynamic code stores a short redirect link that you can edit later and that provides scan statistics, usually as a paid service. If your destination will never change, a static code is perfect and does not depend on any company staying in business.

What you can put in a QR code

How to create a QR code

  1. Open the QR code generator.
  2. Choose the type (URL, Wi-Fi, WhatsApp, email, phone, vCard or text).
  3. Fill in the fields; the preview updates as you type.
  4. Optionally change colors and error correction.
  5. Click Download PNG.

The code is generated in your browser, so the information you type is not sent to a server.

Error correction levels

LevelRecovers up toUse when
Labout 7%Clean screens, maximum data
Mabout 15%General use (default)
Qabout 25%Printed codes
Habout 30%Codes that may get dirty or have a logo on top

Higher levels make the pattern denser, so the code needs to be printed a bit larger.

Tips for codes that scan every time

A Wi-Fi QR code example

Wi-Fi codes use a standard text format, for example WIFI:T:WPA;S:MyNetwork;P:MyPassword;;. The generator builds this for you from the network name and password.

Safety tips

Only scan codes from sources you trust, and check the link your phone shows before opening it. If you put a QR code on public materials, make sure it points to a page you control.

Image format for the download

PNG is best for QR codes because it keeps the squares perfectly sharp; see PNG vs JPG vs WebP.

Practical uses

How large should a printed QR code be?

A common rule of thumb is a scanning distance of about ten times the code's width. A code that will be scanned from one meter away should therefore be about 10 cm wide. For handheld use at 30 cm, 3 cm is enough. Dense codes with a lot of data need to be larger than simple ones, which is another reason to keep URLs short.

Staying safe: QR code phishing

Criminals sometimes stick fake QR codes over legitimate ones or send them in emails to lead people to fake login pages. When you scan, read the address shown by your phone before opening it, be suspicious of codes that ask for passwords or payments, and never scan a code on a sticker that looks like it was placed over another one. When you publish a code, make sure it points to a page on a domain you control.

Troubleshooting a code that will not scan

Frequently asked questions

Do free QR codes expire?

Static codes do not expire, because the data is built into the image.

Can I put a logo in the middle?

Yes, if you use a high error-correction level and test carefully.

Ready to try it?

The tool runs in your browser. No upload, no sign-up, no limits.

Open the QR code generator

Related guides

Privacy

Are Online File Converters Safe? How to Protect Your Files and Privacy

Is it safe to upload photos, PDFs and videos to free online converters? Learn the real risks, how to tell whether a tool uploads your files, and safer alternatives that process files locally.

Images

Social Media Image Sizes Cheat Sheet: Instagram, Facebook, LinkedIn, YouTube and More

The correct image sizes for Instagram, Facebook, LinkedIn, YouTube, X, Pinterest and TikTok, with aspect ratios and tips to avoid blurry or cropped pictures.

Images

PNG vs JPG vs WebP: Which Image Format Should You Use?

Not sure whether to save an image as PNG, JPG or WebP? This guide compares quality, file size, transparency and compatibility so you can pick the right format every time.