QR Code Generator

Generate a QR code for a URL, email, phone, SMS or WhatsApp - free, instant.

QR code generator
What are you encoding?
Preview
Fill in the fields to generate a code.

What this tool does

Pick what you're encoding - a URL or text, an email address, a phone number, an SMS or a WhatsApp message - fill in the fields, and a QR code updates instantly, ready to download as a PNG or SVG.

Generates a QR code for six payload types: URL/text, email (with subject and body), phone number, SMS (with a pre-filled message), and WhatsApp (with a pre-filled message).

Builds the correct URI scheme for each type - mailto: for email, tel: for phone, sms: for text messages, wa.me for WhatsApp - so scanning the code opens the right app with the right fields already filled, not just a block of text.

Updates the preview live as you type, with adjustable error correction and output size.

Runs entirely in your browser using the qrcode JavaScript library - no code is generated on a server, and nothing you type is transmitted anywhere.

Builds in a fixed 4-module quiet zone (the clear space a scanner needs to find the code's edges) at every size and error-correction level, matching the specification's minimum.

How to use it

  1. Choose what you're encoding.
  2. Fill in the fields for that type.
  3. Download the code as PNG or SVG.

Why use this generator

A QR code saves typing a link, number or message, but each type needs the right format. Choosing the type builds it correctly, so scanning opens the right app.

Why we built it

We built the QR code generator to build the exact URI scheme for each payload, so a WhatsApp code opens a chat and a phone code dials. Make many at once with the bulk QR code generator and read codes with the QR code scanner.

Handy alongside this: the vCard Generator and the Barcode Generator.

Who this tool is for

  • Businesses and event organisers linking to pages
  • Teachers and students sharing resources
  • Anyone sharing a phone number or WhatsApp chat

When to use it

  • Linking posters and flyers to a web page.
  • Putting a phone number or email on a card.
  • Starting an SMS or a WhatsApp chat.
  • Sharing text.

Why the payload type matters, not just the text

A QR code that just encodes readable text isn't the same as one built with the right URI scheme.

Any QR code can encode plain text, and a scanner will show that text on screen - but a code built with the correct URI scheme does something more useful: scanning a phone-number code offers to dial the number directly, scanning an email code opens a pre-addressed draft, and scanning a WhatsApp code opens a chat with the message already typed. That's the difference between 'a code containing some text' and 'a code that does the thing you actually wanted' - this tool builds the latter for every payload type it offers, using the same URI schemes phones and messaging apps already recognise.

The preview size and the downloaded size aren't the same thing

The Size dropdown controls your download, not what you see while editing.

The live preview on this page is always drawn at a fixed, small size, purely so it updates instantly as you type. The Size dropdown (256, 512 or 1024 pixels) doesn't change that preview at all - it sets the resolution of the file you actually get when you click Download PNG. The SVG download is different again: it's built as real vector markup, not a raster image, so it scales to any print size - a wall poster or a business card - without ever going blurry.

If you're picking a size for print, go by the download, not the on-screen preview - they're rendered separately.

What you give it, and what you get back

Input and output of QR Code Generator
ItemDetails
InputA type and its details.
TypesURL or text, email, phone, SMS and WhatsApp.
OutputA QR code to download.

Issues you may run into

Common problems with QR Code Generator
What you seeWhy it happensWhat to do
A code does not scanIt is small or low contrast.Print larger with dark on light.
WhatsApp code failsThe number needs a country code and no symbols.Use digits only with the country code.
Many codes neededThis makes one.Use the bulk generator.

Assumptions and limitations

Frequently asked questions

How do I make a QR code online for free?

Pick what you're encoding, fill in the fields, and download the code as PNG or SVG - it updates live as you type.

Can I make a QR code that opens WhatsApp with a message already typed?

Yes - choose WhatsApp, enter the number (country code plus digits, no plus sign or spaces) and an optional message, and scanning the code opens a chat with that message pre-filled.

Can I make a QR code for an email or phone number?

Yes - the Email option builds a mailto: link (with optional subject and body) and the Phone option builds a tel: link, so scanning either opens the right app directly rather than just showing text.

What does the error correction level do?

Higher levels rebuild the code from a partial scan if it's scratched, dirty or partly covered - useful for print - but the code gets visually denser at the same size, so pick the lowest level your use case can tolerate.

Is my data uploaded anywhere?

No. The QR code is generated entirely in your browser - nothing you type is sent to a server.

Does the Size dropdown change the preview?

No - the on-screen preview is always drawn at a fixed size for speed. The Size dropdown (256, 512 or 1024px) only controls the resolution of the PNG file you download.

Does the downloaded code already have a quiet zone around it?

Yes - every code is generated with a 4-module margin of clear space built in, matching the specification's minimum quiet zone, so you don't need to add your own border before printing it.