How to Make a QR Code for a Link (Free)
You have a URL and you want a QR people can scan. The fast way takes 60 seconds. The smart way makes that same code editable after printing and shows you every scan.

Make a QR code for a link the fast way
You have a URL: a landing page, a menu, a signup form, your Instagram. You want a square of dots that someone can point a phone at and land there. That is a QR code for a link, and you can make one for free in about sixty seconds. This guide covers the fast way first, then the move most people skip: making that same code editable after you print it and trackable so you know how many people actually scanned. If you only need a code for a slide you will replace next week, the fast way is fine. If you are printing on anything you cannot easily reprint, read to the editable part before you commit.
Here is the 60-second version using the free Flyn QR code generator:
- Open the QR code generator.
- Paste your full link, including
https://. - Download the code as a PNG (for web and docs) or SVG (for print and large sizes).
That is it. No account, no app, no watermark. The code you get is permanent and free to use anywhere. The catch is worth understanding before you go further, so let's define what you just made.
What a QR code for a link actually is
A QR code (short for Quick Response code) is a 2D barcode that stores text. When that text is a web address, any phone camera reads the dots, recognizes a URL, and offers to open it. There is no magic cloud lookup happening for a basic code: the link is physically encoded in the pattern of black and white modules. Scan it offline and it still works, because the URL is right there in the dots.
The encoding is permanent
This is the single most important thing to understand. Once you generate a QR code from https://example.com/spring-sale, that exact URL is locked into the image. You cannot edit it. If the sale page moves, the code is dead. People discover this the hard way after printing 5,000 flyers. We wrote a whole post on why a code suddenly stops working: QR code not scanning.
Static by default, dynamic by design
Because the URL is baked in, a plain QR code is called static. To make it behave like it can change, you don't change the QR. You change what the URL points to. That requires putting a redirect in the middle, which is exactly what a short link does. More on that next.
Static vs dynamic: the upgrade that matters
Every QR code you generate is technically static. The word dynamic QR code gets thrown around like it is a different file format. It is not. A dynamic QR is just a static QR that encodes a short link instead of your final destination. The dots never change. The redirect behind the short link does. That one layer of indirection buys you two things you cannot get any other way: the ability to change the destination after printing, and the ability to count scans.
Where the dynamism really comes from
Say you encode flyn.to/menu into your QR. The code is permanent. But flyn.to/menu is a Flyn short link, and you control where it redirects. Today it points to your summer menu PDF. In autumn you edit the redirect to the new PDF. Every printed code, every table tent, every sticker now points to the new menu. You reprinted nothing. That is the entire trick, and we break it down further in dynamic QR codes for print and digital.
Side by side
| Property | Static QR (raw URL baked in) | "Dynamic" QR (short link baked in) |
|---|---|---|
| Destination after printing | Locked forever | Editable anytime via the redirect |
| Scan tracking | None | Every scan logged |
| If the target page moves | Code is dead | Repoint and keep going |
| Fix a typo in the URL | Reprint everything | Edit the link, code unchanged |
| Cost on Flyn | Free | Free (scan count + timing); Pro for geo/device/referrer |
Notice the QR generation is free either way. The difference is whether you aimed it at a raw URL or at a short link you can steer.
Step by step: link to short link to QR to test to print
Here is the full workflow we recommend for anything that gets printed or distributed. It takes about three minutes and saves you from the reprint nightmare. The order matters: make the short link first, then generate the QR from it.
1. Shorten your link
Drop your long URL into Flyn and get a short link like flyn.to/spring. This is the redirect layer. Pick a custom slug you'll remember, because it also reads cleanly under the printed code. Create a free account at signup so the link is saved to your dashboard and you can edit it later.
2. Generate the QR from the short link
Open the QR code generator and paste the short link, not the original long URL. The generator bakes the short link into the code. Download SVG for print, PNG for screens.
3. Test with a real phone
Do not skip this. Scan the downloaded code with the default camera app on both an iPhone and an Android if you can. Confirm it lands on the right page. You can also paste the image into the QR code reader to confirm the decoded value matches your short link exactly.
4. Print and place
Export at the right size for the viewing distance (covered below), then print on a matte surface with strong contrast. Place it where people can actually reach it with a phone.
The reprint you avoid by spending three minutes on a short link is worth more than the entire QR ever cost you. Aim the code at something you can steer, every single time.
That's the whole method: link, short link, QR, test, print. Everything else in this guide is detail on top of those five steps.
Link types you can encode
"A link" covers more than a homepage. Almost anything with a URL can become a QR, and a few common targets have their own dedicated formats. Here's how to think about each.
| You want to share | What to encode | Make it editable? |
|---|---|---|
| Website or landing page | A short link to the page | Yes, point it at a short link |
| Restaurant menu or PDF | Short link to the hosted PDF | Strongly recommended |
| Signup or feedback form | Short link to the form | Yes |
| App download / deep link | Short link with platform routing | Yes |
| Wi-Fi network | Wi-Fi credential string (not a URL) | No, it's encoded data |
| Contact card (vCard) | vCard text (not a URL) | No, it's encoded data |
| Social profile | Short link to the profile | Yes |
Web pages, menus, and PDFs
These are the bread and butter. Host the file, shorten the URL, encode the short link. For menus specifically, the editable redirect is the whole point: see QR codes for restaurant menus.
Forms, app deep links, and social
Forms and social profiles are just URLs, so the short-link approach applies directly. App deep links can route by device behind the redirect. Event organizers lean on this heavily in QR codes for events.
Wi-Fi and vCard are different
A Wi-Fi QR code encodes the network name and password as a special string, not a URL, so phones can join without typing. A vCard QR code encodes contact details directly. Because these aren't links, they can't be edited or tracked the way a short link can. See Wi-Fi QR codes and vCard QR codes for business cards.
Design a QR code that still scans
A QR code is only useful if a phone reads it on the first try. Beautiful codes that fail to scan are worse than ugly codes that work. Four factors decide whether yours scans reliably: size, quiet zone, contrast, and error correction.
Size for the viewing distance
The rule of thumb is a 10:1 ratio: for every 10 units of scanning distance, the code needs about 1 unit of width. A code scanned from across a room must be far bigger than one on a business card. Get the exact numbers in the QR code size guide.
Quiet zone and contrast
The quiet zone is the empty margin around the code, and it needs to be roughly four modules wide. Crowd the code with text or a border and scanners choke. For contrast, keep dark dots on a light background. Inverted (light on dark) codes scan poorly, and low-contrast color pairs fail outright.
- Keep a clear margin on all four sides.
- Dark code, light background, never the reverse.
- Avoid placing the code over busy photos.
- Never stretch the code out of square.
Error correction
Error correction lets a code still scan when part of it is damaged or covered, at the cost of denser dots. Higher levels let you place a small logo in the center. If your code won't read, our QR code not scanning guide walks the fixes in order.
Track scans on your QR code
If you printed a static QR with a raw URL, you have no idea whether anyone scanned it. If you encoded a Flyn short link, you have data. This is the second reason the short-link layer earns its keep: every scan is a click on the short link, and Flyn logs every click.
What you get for free
On any plan, including free, you see total scan count and timing (when scans happened) on a 30-day window. That alone answers the big question: is this code actually working? You can tell if the table tents outperform the poster, or if scans spike after an event.
What Pro adds
For deeper analysis, Pro unlocks geo, device, and referrer breakdowns: where scans came from, on what kind of phone, and through what path. That's how you learn the campaign skews iOS, or that one city drives most of your scans.
| Metric | Free | Pro |
|---|---|---|
| Total scan count | Yes | Yes |
| Scan timing | Yes (30-day window) | Yes |
| Geo breakdown | No | Yes |
| Device breakdown | No | Yes |
| Referrer breakdown | No | Yes |
The full walkthrough, including how to read the patterns, lives in how to track QR code scans. If you're running a campaign, the tracking layer is what turns a QR from decoration into a measurable channel, which we cover in QR codes marketing strategy.
Common mistakes to avoid
Most QR failures are predictable and preventable. Here are the ones we see most, roughly in order of how much they hurt.
Encoding a raw URL on anything printed
The cardinal sin. You lose editability and tracking, and one moved page kills the whole run. Encode a short link instead. This single change fixes most regrets.
Not testing before printing
A code that decodes wrong, or to a typo'd URL, is invisible until someone scans it in public. Always verify with a real phone and the QR code reader first.
- Too small for the distance: a poster code sized like a sticker won't scan from the curb.
- No quiet zone: crowding the code with text breaks it.
- Low contrast or inverted colors: light dots on dark fail often.
- No call to action: people need a reason to scan, so add a short line like "Scan for the menu."
- Stretched or distorted: always keep the code perfectly square.
Trusting a code you didn't make
QR codes can hide malicious links. Before you scan or repost an unknown code, decode it with the QR destination audit to see exactly where it goes.
Printing and placement
A perfect code in the wrong place still fails. Printing and placement are where good codes die in the real world, so treat them as part of the design, not an afterthought.
File format and material
Use SVG for print so the code stays crisp at any size, and PNG only for screens. Print on a matte surface when you can: glossy and laminated finishes throw glare that blinds cameras under bright light. Keep strong contrast between the dots and the material.
Placement that gets scans
- Reachable: a code on a billboard nobody can get close to is decoration, not a link.
- Eye level and steady: people scan with two hands, so put it where they can hold a phone comfortably.
- Lit: dark corners kill scan rates. Make sure the code is well lit.
- Flat: codes wrapped around curved bottles or mugs distort. Keep the scan area as flat as possible.
Account for the moving target
This is where the editable short link pays off one last time. Printed materials live for months or years. Menus change, sales end, profiles move. Because your code points at a short link, you repoint the destination whenever life changes and the printed code keeps working. Start the whole thing right: shorten the link, create your free account so you can edit it later, then generate the QR from the QR code generator. Three minutes now, no reprints ever.
Frequently Asked Questions
How do I turn a link into a QR code?
Are QR codes free to make?
Can I edit a QR code after printing it?
How do I make a QR code that I can track?
What size should a QR code be?
Do QR codes expire?
What's the difference between a static and a dynamic QR code?
Can I put a logo in the middle of my QR code?
Free tools for this
Three Flyn tools that pair well with the strategy in this article, all free, no signup needed.
UTM Builder
Build campaign-tracked URLs in seconds.
Broken Link Checker
Scan any page for dead links and 404s.
Open Graph Checker
Preview how URLs unfurl on social.
Keep reading
Three related deep-dives from the Flyn blog.

How to Track Which Posts Drive Sales, Not Just Clicks
19 min read
Email Newsletter Click Tracking: Measure Your Real CTR
12 min read

How to Choose a Branded Short Domain for Your Links
13 min read
Ready to try Flyn?
Free plan includes 25 links/month, full analytics, and access to all 30+ free tools above. No credit card required.
Already a member? Log in

Karan Bhakuni is the founder of Flyn. He writes about branded links, click analytics, and the link-management tooling growth teams and creators actually need, drawn from building Flyn and reading a lot of user feedback.