How do you make a QR code for a link?
Paste the URL into a generator, pick static or dynamic, download the image, and test it before it goes anywhere. That is the whole job, and it takes about a minute.
The minute is not the interesting part. The interesting part is one decision you make inside it, which most people make by accident and some of them pay for later.
What is the one decision that matters?
Whether the link is allowed to change after the code exists.
There are two kinds of QR code and the difference is not cosmetic:
A static code has the URL written directly into the black-and-white pattern. The pattern is the link. Nothing sits in the middle, nothing can go wrong in the middle, and no account is required for it to keep working. It also means the destination is fixed forever. Changing it means generating a different code and replacing every copy you have made.
That last sentence hides an assumption worth dragging into the light: that you can replace every copy. Often you can. Reprint the flyer, restick the window, throw out the old table tents.
Sometimes you cannot, and it is worth knowing which case you are in before you choose. The clearest example is a QR code inside a published video. YouTube lets a creator trim or blur a video after upload, and that is the whole list. There is no operation that swaps the footage, so a code rendered into the frames is in those frames permanently. You could delete and re-upload, but a trim keeps the URL, the view count, and the comments, while a re-upload keeps none of them. Nobody trades three years of views to fix one link, so in practice the code stays exactly as it is and keeps sending people wherever it was pointed on export day. We go through that case properly in QR codes for YouTube creators.
Printed matter has quieter versions of the same problem. Anything engraved, embroidered, etched, or cast. Anything already in ten thousand boxes on a container ship. Anything a customer took home and put in a drawer. The question is not really “will this link change,” it is “if it does, can I reach every copy.”
A dynamic code has a short redirect URL in the pattern instead. Someone scans, the redirect looks up where you are currently pointing, and forwards them. The pattern never changes. The destination can change as often as you like.
Ask one question: is there any realistic future in which this needs to point somewhere else? If the honest answer is no, use a static code and pay nothing. If it is yes, or if you genuinely cannot tell, use a dynamic code, because retrofitting is impossible.
Some cases where the answer is almost always yes: anything with a date on it, anything pointing at a third party you do not control, anything on a menu, anything printed in volume, and anything going on something expensive or difficult to replace.
Our static versus dynamic guide goes through the edge cases properly.
What are the actual steps?
-
Get the final URL. Not a draft, not a preview link, not a shortener you do not control. Open it in a browser and confirm it loads the page you think it does. A surprising share of dead QR codes were dead the day they were made.
-
Choose static or dynamic, per the decision above.
-
Generate the code. Paste the URL. You can make a free static code here, or a dynamic one for a one-time $7.99.
-
Download the right file type. SVG or another vector format for anything going to print, because it stays sharp at any size. PNG at high resolution for screens and for video. Avoid JPG: its compression puts soft artifacts exactly where a scanner needs crisp edges.
-
Test the file you actually downloaded. Not the preview on the generator’s page. Open the downloaded image at final size and scan it with at least two different phones, ideally one iPhone and one Android.
-
Place it, then test again. This is the step people skip and it is the one that catches real problems. Test the printed proof, the exported video, the actual sign. Scanning conditions change everything.
How big does it need to be?
Bigger than you think, and it scales with distance, not with the size of the page.
A workable rule of thumb: the code should be roughly one tenth of the distance it will be scanned from. Two feet away wants about 2.4 inches. Ten feet away wants about a foot.
For close-up print like a business card, invitation, or flyer, about 0.8 inch or 2 cm square is a sensible minimum. Going below that starts trading away reliability on older phones and in poor light, and you will never hear from the people it failed for. We go into this properly in how big should a QR code be for print.
Two more things that matter as much as size:
- Contrast. Dark code on a light background. Not a pale code on a pale background because it suits the design, and never a light code on a dark background unless you have tested that exact combination, because plenty of scanners expect the standard polarity.
- The quiet zone. QR codes need clear empty margin on all four sides. Designers crop this off constantly to make things fit. A code with its margin trimmed away can stop scanning entirely, and it will look perfectly fine to the eye.
Should you put a logo in it?
You can, within limits, and it is usually worth it for anything customer-facing.
QR codes carry error correction, which is why a code can take a scratch or a small logo in the middle and still decode. But the budget is finite. A logo covering more than roughly 30% of the code, or one placed over a corner locator square, will break it. Keep it centered, keep it modest, and test it, because a decorated code that does not scan is worse than a plain one that does.
What should you write next to it?
Something specific about what the person gets.
“Scan me” is not a reason. “Scan for the menu,” “scan for the wine list,” “scan to RSVP,” “scan for the parts list” all tell somebody why they should bother taking their phone out. A code with no caption is asking people to pull out a phone on faith. Four words removes the guesswork, which is a good trade for four words. We wrote a whole guide on the caption, because it is the cheapest part of this to get right and the easiest to skip.
What goes wrong most often?
In rough order of how often we see it:
- Too small for the distance. The single most common cause.
- The quiet zone got cropped. Usually during layout, by someone trying to fit the code into a tight space.
- Low contrast, or a code printed on a colored or patterned background.
- A broken destination. The code is fine. The page moved or was deleted. This one is silent and can happen years later.
- Never tested on the real artifact. The file scanned on the screen. The printed version, at final size, on cheap paper, under a restaurant’s lighting, did not.
- Printed on something curved or across a fold. Bottles, cups, and folded leaflets all defeat scanners.
Our why QR codes don’t scan page works through the diagnosis.
What does it cost?
A static code costs nothing, here or in lots of other places, and it never expires. That is not a trial and there is nothing to cancel.
A dynamic code is a one-time $7.99 at Graklink, with no subscription on the code afterwards.
The thing to check anywhere else is what happens to a dynamic code when you stop paying, because “free dynamic QR code” usually means a trial. On several major services a dynamic code deactivates when the trial ends or the plan lapses, and scanning it lands people on an error page or a service notice. That is fine if the code lives in an email signature. It is expensive if it is on five thousand printed menus. Read the sentence about cancellation before you print, whoever you use.
Make a free static code, or buy a dynamic code for $7.99 if the destination might ever move.
Make one that scans
Point it anywhere. Change it anytime. Print it forever. $7.99, once.
Your website, menu, listing, anything on the web.
Customize the look
Personalize your address from $1.99
Leave blank for a free random address.
Choose your analyticschoose one
Free for 30 days, then auto-renews; cancel anytime. Your codes keep working either way.
✓ Scan-checked: strong contrast, reads at print size
solidqr.co/•••••
One payment, one time,
scans forever.
30 day money back guarantee
Common questions
How do you make a QR code for a link?
Paste the URL into a QR code generator, choose static or dynamic, download the image, and test the download before you use it anywhere. The whole thing takes about a minute. The part worth slowing down for is static versus dynamic, because that choice decides whether you can ever change where the code goes without making a new one.
Is it free to make a QR code for a link?
A static code is genuinely free, here and in plenty of other places, and it never expires. A dynamic code, the kind you can repoint after printing, is a one-time $7.99 at Graklink. Be careful with anyone else's free dynamic code: on many services a free or trial dynamic code stops working when the trial ends or the plan lapses, which is a problem you only discover after the thing is printed.
What size should a QR code be?
For something scanned up close, like a card or a flyer, about 0.8 inch or 2 cm square is a sensible floor. Scale up with distance: a poster read from across a room needs to be several inches across, and a sign read from a parking lot needs to be much bigger again. The rough rule is that the code should be about a tenth of the scanning distance.
Why does my QR code not work?
Usually one of four things: the code is too small for the distance, there is not enough contrast between the code and its background, the quiet margin around it got cropped away, or the destination URL itself is broken. Test the actual final artifact, printed or exported, on more than one phone, rather than testing the file on your screen.
Can you change the link in a QR code after you make it?
Only if it is a dynamic code. A static code has the URL encoded in the pattern itself, so changing the destination means generating a new code and replacing every copy. A dynamic code encodes a redirect, so the pattern stays the same forever while you edit where it points.