Quick answer: a QR code stores a short piece of text that a phone camera can read. Most often that’s a web link (for menus, posters, packaging, reviews or tickets), but it can also be a Wi-Fi login, a contact card, a phone number or a plain message.
To make one, paste the link or text into a generator such as Altto’s QR Code Generator and download the PNG — it’s built in your browser, so nothing you type is sent anywhere.
A QR code is really just a compact, camera-readable way of storing a short piece of text. What makes it useful isn’t the code itself — it’s what that text says, and whether the app scanning it knows how to interpret it. A URL is the obvious case, but a handful of other formats are just as widely supported and open up uses most people never try.
What a QR code can actually encode
Every QR code stores text. The format itself can hold up to 7,089 digits, 4,296 letters and numbers, or 2,953 bytes of general text in its largest version — but the more you put in, the denser and harder to scan the pattern becomes, so most generators cap input well below that. Altto’s allows up to 1,500 characters, which is far more than a link, a Wi-Fi login or a contact card needs.
What happens when someone scans it depends on how that text is written. Phone cameras recognise a plain web address and offer to open it; they recognise a few standard formats (Wi-Fi, contact cards, tel: phone links, mailto: email links) and offer the matching action; and anything else is simply shown as text.
Everyday uses for a QR code
| Use | What it encodes |
|---|---|
| Restaurant menus & table ordering | A URL for the hosted menu or ordering page |
| Sharing your Wi-Fi with guests | A formatted Wi-Fi string (network name + password) — see below |
| Business cards & name badges | A vCard contact string, or a URL to an online profile |
| Posters, flyers & shop windows | A URL to a booking page, event listing or offer |
| Product packaging & manuals | A URL to instructions, setup videos or warranty registration |
| Asking for reviews | A URL to your review page or app-store listing |
| “Call us” or “email us” signs | tel:+441234567890 or mailto:hello@example.com |
| Labels on stored boxes or equipment | Plain text describing the contents, or a link to a shared list |
The common thread: a QR code is a delivery mechanism, not a destination. For anything that might change — a menu, a price list, a product page — encode a URL you control, so you can update the page without reprinting the code. Save encoding the content itself (a Wi-Fi password, a phone number) for things that genuinely won’t change.
How to make a Wi-Fi QR code
Most phone cameras recognise this standard string and offer to join the network, with no typing:
WIFI:T:WPA;S:YourNetworkName;P:YourPassword;; Swap in your real network name and password, keeping the punctuation exactly as shown. T:WPA covers WPA and WPA2, which is what nearly all home routers use. For an open network with no password, use T:nopass and leave out the P: part. If the network name or password contains a semicolon, comma, colon, backslash or double quote, put a backslash in front of that character so it isn’t read as punctuation. Then paste the whole line into the generator, just as you would a link — and because Altto builds the code inside your browser tab, the password never leaves your device.
How to make a contact card (vCard) QR code
A vCard is the standard format contact apps use to import someone’s details in one go. A minimal version looks like this:
BEGIN:VCARD
VERSION:3.0
N:Smith;Alex;;;
FN:Alex Smith
TEL:+441234567890
EMAIL:name@example.com
URL:https://example.com
END:VCARD Support for vCards varies more between scanning apps than it does for links or Wi-Fi. If it must work on every phone, a QR code that links to an online contact page is the dependable fallback. Keep the vCard short, too — every extra field makes the pattern denser.
More things a QR code can do
Beyond links, Wi-Fi and contact cards, a few other formats trigger an action when scanned. Type the text exactly as shown, with your own details swapped in:
| To do this | Encode this | Good to know |
|---|---|---|
| Start a text message | SMSTO:+441234567890:Hi, I’d like to book | Opens the messaging app with the number and message filled in. The person still has to press send. |
| Start an email | mailto:hello@example.com?subject=Booking&body=Hi | Opens their email app with the subject and message ready. Use %20 for spaces if an app trips over them. |
| Open a WhatsApp chat | https://wa.me/441234567890 | WhatsApp’s own link. Use the full number with country code, without the + or leading 0. |
| Show a location | A Google Maps or Apple Maps share link | More dependable than the geo: format, which some phones ignore. |
| Add a calendar event | A link to the event page, or a BEGIN:VEVENT block | Support for the calendar format varies between phones, so a link is the safer choice for an event poster. |
| Link to an app | An App Store or Google Play link | If you have both apps, a single page on your own site that links to each store works for everyone. |
Static vs dynamic QR codes
Many QR code websites push “dynamic” codes, so it’s worth knowing the difference before you print anything:
- A static code holds your content directly: the link, the Wi-Fi login or the contact card is stored in the pattern itself. It works for as long as that content does, costs nothing, and no company sits between the scan and the result. Altto makes static codes.
- A dynamic code holds a short link to the provider’s own server, which then sends people on to your real page. That lets you change the destination later and count scans, but it usually needs a paid plan, and if the subscription lapses or the company closes, every printed code stops working. The provider also sees every scan.
You can get the main benefit of a dynamic code for free: point a static code at a page on your own website, then change what that page says or where it links whenever you like. The printed code never has to change.
How to spot a QR code scam
Because you can’t read a QR code by eye, scammers stick fake codes over real ones, on parking meters and car park signs especially, or send them in emails and letters, to lead people to look-alike payment pages. This is sometimes called “quishing”. A few habits keep you safe:
- Read the link before you open it. Your camera shows the web address first. If it isn’t the company you expect, or it’s a link shortener, don’t tap it.
- Check for a sticker. A code stuck on top of a sign, or one that looks newer than the sign around it, may have been placed there by someone else.
- Pay through the official app or website you already use, rather than one a code leads you to, especially for parking.
- Be wary of QR codes in unexpected emails or letters asking you to sign in, pay a fine or “verify” an account.
If you make codes for your own business, printing them as part of the sign or menu, rather than as a separate sticker, makes a swapped code easier to notice.
How to scan a QR code
On an iPhone, open the Camera app and point it at the code; a banner appears with the link or action. Most Android phones do the same from the built-in camera, and Google Lens reads them too. No separate scanner app is needed on a reasonably recent phone. On a computer, you can usually scan a code on screen by pointing your phone at the monitor.
Tips for a QR code that scans first time
- Keep the contrast high. A dark code on a light background is the safest choice. Altto lets you pick any code and background colour, and warns you on screen if the pair is too low-contrast to scan reliably. Avoid a light code on a dark background: some scanners can’t read inverted codes.
- Leave a clear margin. Scanners use the blank border around the code to find its edges. Don’t crop it tight or place it hard against other graphics.
- Print it big enough. A common rule of thumb is at least 2–3 cm across for something held in the hand, and roughly a tenth of the scanning distance for posters (so about 30 cm wide to scan from 3 m away).
- Choose error correction to suit. The four levels (Low, Medium, Quartile, High) let a scanner recover roughly 7%, 15%, 25% or 30% of a damaged or dirty code. Higher levels are sturdier but denser; Medium suits most screen and indoor print use, while High helps for codes that will get scuffed outdoors.
- Test before you print. Scan the downloaded PNG with two different phones, at the size you’ll actually print it.
How to make a QR code with Altto
- Open the QR Code Generator and type or paste your link, text, or formatted Wi-Fi or vCard string. The code updates as you type.
- Choose a size (Small, Medium or Large), an error-correction level and, if you like, your own code and background colours.
- Click Download PNG. There’s no watermark, and you’re free to use the code commercially.
Everything happens in your browser tab, which matters more than it sounds: QR codes often hold things like Wi-Fi passwords or private links, and here there’s no server for them to be sent to. One honest limitation: the generator doesn’t add logos to the centre of a code, and it downloads PNG only.
Common questions
How much can a QR code hold?
Do QR codes expire?
How do I scan a QR code on my phone?
Are QR codes safe to scan?
Can I change the colour or add a logo to a QR code?
How big should a printed QR code be?
What’s the difference between a static and a dynamic QR code?
Can a QR code send a text message or open WhatsApp?
SMSTO: followed by the number, a colon and your message to open a pre-filled text, or https://wa.me/ followed by the full number with country code (no + or leading 0) to open a WhatsApp chat. The person scanning still chooses whether to send.Ready to make one?
Paste in a link, text, or a formatted Wi-Fi or contact string, pick your colours, and download a PNG — free, no watermark, and nothing ever leaves your browser.