// No account · No expiry · 100% client‑side

Free URL QR Code Generator | Turn Any Link into a QR Code

Turn any link into a QR code in your browser. Free, permanent, print-ready. Includes measured grid sizes by link length and what UTM tags cost.

50QR code types
61Frame styles
6File formats
1 Complete the content
Direct Destination
Direct link encoding without intermediary redirects, countdowns, or expiration.
2 Design your QR
Shape style
Border style
Center style
3 Download your QR
Example preview

Example QR code preview shown. Enter content to create your code.

Excellent
High contrast and optimal density. 100/100
px
px

Need to change it after printing? Make a dynamic URL QR code

No recent history found. Create and download a QR code to see it here.

A URL QR code stores a web address as text; scanning it opens that address in the phone's browser. The code is static: it holds exactly the link you paste, works for as long as that link works, and is generated in your browser with no account or scan limit. The one design decision that matters most is how long the link is, because length decides how dense the code looks and how small it can be printed.

Copy the link, paste it into the field above, and download the code. Nothing else is needed: the code stores the address itself, so it opens that page for anyone who scans it, with no account and no expiry. The steps differ slightly depending on where the link comes from.

On a computer

  1. Open the page you want people to land on and copy the full address from the browser's address bar, starting with https://.
  2. Paste it into the field and open the link once yourself to confirm it lands where you expect.
  3. Choose colors and, if you like, a logo or frame.
  4. Download PNG for screens or SVG for print, then scan the downloaded file with your phone, not the preview.

On a phone

  1. In the browser, tap the address bar and copy the address. In an app (YouTube, Instagram, Google Maps, Spotify and most others), use the Share button and choose Copy link.
  2. Open this page in your phone's browser and paste the link into the field. It's usually easiest to keep the two in separate tabs.
  3. Download the code. On a phone it saves to your downloads or photos, ready to send or print.

Chrome can also make a basic QR code for the page you're on, from its share menu. It's fine for showing a link to someone across the table, but you can't choose colors, error correction or an SVG download, which is what you want for anything printed.

What goes wrong with the link itself

Most "my QR code doesn't work" reports trace back to the link, not the code. Check these before printing:

  • The page is private. Google Drive files, Dropbox folders and shared albums open for you because you're signed in. Open the link in a private browser window; if it asks you to sign in or request access, so will everyone who scans it.
  • You copied a temporary page. Search results, shopping cart pages and links with session codes in them can stop working or show something different to the next person. Link to the page itself.
  • App share links carry extra baggage. Links copied from social apps often end in tracking parameters after a ?. They work, but they make the code denser. Delete everything from the ? onward and check the link still opens the right page.
  • The link might change. A static code can't be edited after printing. If the destination could move, such as a seasonal promotion or a file you'll replace, use a dynamic URL QR code instead, which forwards through a short link you can repoint.

How does link length change the code?

A QR code is a square grid of modules, and a longer link needs a bigger grid. The figures below were measured with the same QR library this generator uses, using web addresses of increasing length. The grid size is the number of modules per side.

Link lengthLevel M gridLevel Q gridLevel H gridModule size at 25 mm wide (Level M)
20 characters25 × 2525 × 2529 × 290.76 mm
60 characters33 × 3337 × 3745 × 450.61 mm
100 characters41 × 4149 × 4957 × 570.51 mm
150 characters49 × 4957 × 5765 × 650.44 mm
250 characters61 × 6173 × 7381 × 810.36 mm

The last column divides 25 mm (about 1 inch) by the grid plus the four-module blank margin on each side. It shows why long links are a problem on small prints: each module shrinks while the paper, ink, and camera stay the same. The generator's default error correction is Q, so the middle column is what you get unless you change it.

What does tracking cost?

Take https://example.com/menu, 24 characters. As a Level M code it is a 25 × 25 grid. Add ?utm_source=qr&utm_medium=poster&utm_campaign=spring-menu and the link is 81 characters: a 37 × 37 grid at Level M, and 45 × 45 at Q. At 25 mm wide, Level M modules shrink from 0.76 mm to 0.56 mm, about a quarter smaller.

That is a fair price when you need to know which poster worked; build the tags with the UTM builder so they are consistent. It is a poor price on a tiny sticker where the tags add nothing. Print larger, or shorten the path.

Should you use a link shortener?

A short address gives the sparsest code. But a third-party shortener adds a dependency: if the service changes its terms, deletes the link, or shuts down, every printed code breaks, and you do not control what happens in between. A short path on a domain you own (example.com/m) gives you the same density and keeps control. It is also the basis for making a static code behave like a dynamic one; see static vs dynamic QR codes.

Is a URL QR code really permanent?

The image never expires (do QR codes expire? explains why). What can expire is everything behind it:

  • The domain. If registration lapses, someone else can register it and your printed code will lead to their page. Renew domains that appear on print, and turn on auto-renewal.
  • The page. A campaign page that is taken down leaves a dead code. Redirect old pages instead of deleting them.
  • The redirect service, if you used one.

Print the address in small text near the code so people can check it before they scan. It also helps anyone who cannot scan, and it lowers the risk described in quishing scams.

What should you test before printing?

  • Open the link on a phone using mobile data, not your office Wi-Fi.
  • Scan the exported file with an iPhone and an Android phone.
  • Check the size against the print size guide and run the file through the scannability tester, which simulates glare, blur, and low light.
  • Look at the destination on the scan preview, and confirm it shows https.

Error correction choices are explained in QR error correction levels. For placement ideas, see QR codes for business, and for tracking options, QR code tracking.

References

How the measurements were made: grid sizes were computed on 2026-09-19 with the QR library this generator uses (automatic version selection, byte mode) for links of the stated lengths. Module size is 25 mm divided by the grid size plus 8 quiet-zone modules. It is arithmetic, not a scan test.

// FAQ

Frequently Asked Questions

Clear, direct answers to common questions about generating and deploying QR codes.

Copy the link from the browser address bar, or use Share and Copy link in an app. Open this page in your phone browser, paste the link into the field and download the code. It saves to your downloads or photos.

Long enough for almost any address, but length decides density. On this generator's QR library, a 20-character link at level M is a 25 by 25 grid, 100 characters is 41 by 41, and 250 characters is 61 by 61, so longer links need bigger prints.

They make it denser. Adding UTM tags to a 24-character link takes it to 81 characters and a level M grid from 25 by 25 to 37 by 37. Worth it when you need to know which poster worked; skip them on tiny stickers.

A third-party shortener adds a dependency, since the service can change terms or delete links. A short path on a domain you own gives the same density and keeps control.

The image never expires, but the domain, the page, and any redirect service behind it can. If the domain lapses, someone else can register it and your code will lead to their page, so renew and auto-renew domains that appear in print.

SVG for print, since it scales without blurring, and PNG for screens. Scan the downloaded file, not the preview.

No. The code is generated in your browser.