Before you start: decide what the code should do
A QR code is a container. The first decision is what goes inside it, because that decides which type you pick in the generator.
- If people should open a page (a menu, a booking form, a product page), use a website QR code.
- If guests should join your WiFi, use a WiFi QR code. The phone connects without anyone typing the password.
- If people should save your contact details, use a vCard QR code.
- If people should message or call you, use WhatsApp, SMS, email or phone.
- If the information should be readable without internet, like a serial number or a short instruction, use plain text.
For a PDF, an image or a video, the code holds a link to the file, not the file itself. A QR code tops out at a few kilobytes, so upload the file somewhere first (your website, Google Drive, Dropbox) and use its public link.
Step 1: enter the content
Open the QR code generator, pick the type and fill in the fields. The preview updates as you type.
A few habits save trouble later:
- Copy links from the browser bar instead of typing them. One wrong letter and the code opens an error page, and you cannot fix a printed static code.
- Use the full international format for phone numbers, starting with + and the country code. A number without it may dial the wrong country for visitors.
- Keep it short. Every extra character adds more squares to the pattern. A short link scans faster and can be printed smaller than a long one with tracking parameters.
Step 2: design it, carefully
You can change colors, the shape of the dots and corners, add a frame with a call to action, or put your logo in the middle. All of that is fine as long as you keep a few rules in mind:
- Dark on light. Scanners look for dark modules on a light background. A light code on a dark background (an inverted code) fails on some phones.
- Strong contrast. Pale grey on white, or yellow on white, is hard to read. The generator shows the contrast ratio and warns you below 4:1.
- Leave the quiet zone. The empty border around the code is part of the code. Four modules wide is the standard. Do not let a design element or the edge of a flyer eat into it.
- Keep the logo modest. A logo hides part of the pattern and the code relies on error correction to rebuild it. Around 20% of the code width, with error correction set to H, is a safe place to start.
If a design choice puts scanning at risk, the generator shows a warning next to the preview. Take those seriously: they are based on the same limits phone cameras run into.
Step 3: download the right file
For anything printed, SVG is the best choice. It is a vector file, so it stays sharp at any size, and print shops and design tools (Illustrator, Figma, Canva, Inkscape) handle it well. For websites, slides and documents, a PNG of 1024 px or more is plenty. JPG works when a tool refuses anything else, and WebP gives the smallest file for web pages.
How big should it be on paper? That has its own guide: QR code size for printing.
Step 4: test before you print
This is the step people skip, and it is the one that matters most. Before sending anything to print:
- Scan the code on screen with at least two different phones, ideally one iPhone and one Android phone, using the normal camera app.
- Check that it opens the right page, or shows the right WiFi network or contact.
- Print one copy at the final size on an ordinary printer and scan that too, from the distance people will actually stand.
If you want to check a file you already have, the online QR scanner reads codes from an image or your webcam.
One thing to know about static codes
The codes made on mqrlink are static: the content is written into the pattern itself. That is why they never expire and work without any account. It also means you cannot change a printed code. If the destination might change, point the code at a page you control and update that page instead. There is more on this trade-off in static vs dynamic QR codes.