URL to QR code generator

Paste any website link below and get an instant, downloadable QR code that opens it on scan.

By QRotto · Updated · 6 min read

What a URL QR code does

A URL QR code encodes a web address as a scannable image. Someone points a phone camera at it, taps the banner that appears, and the page opens. It replaces the moment where a person has to type a long address from a poster into a phone keyboard, a moment where a lot of people simply give up.

This is the most widely used QR code type, and the reason is bridging: it connects something physical (a poster, a package, a menu, a receipt) to something online (a page, a form, a video, a review link).

Example URL QR code that opens a website when scanned with a phone camera
A URL QR code. Fewer characters in the link means a simpler, more reliable pattern.

How to make one that works

  1. Paste the full address including https://. Without the protocol, some scanners treat the text as a plain string instead of a link.
  2. Use the shortest URL that reaches the right page. Long tracking parameters make the code visibly denser and harder to scan at small sizes.
  3. Check the page works on mobile. Every single person scanning this code is on a phone. A page that is slow or awkward on mobile wastes the scan.
  4. Scan it yourself before printing. Confirm it opens the page you intended, not a redirect chain or a login wall.

Shorter links scan better. A 25 character URL produces a noticeably sparser code than a 120 character one with campaign parameters attached. If you need tracking, consider a short link rather than a long query string.

Static and dynamic codes, the difference that matters

Compared onStatic (what this tool makes)Dynamic
Where the data livesInside the image itselfOn a provider's server
Can change destination laterNoYes
Scan trackingNoYes
ExpiresNeverIf the service stops or the plan lapses
CostFreeUsually a subscription

The trap with dynamic codes is dependency: if the provider shuts down or you stop paying, every printed code you have distributed stops working. A static code has no such failure mode, it will keep resolving to the same address for as long as that address exists. Choose dynamic only when you genuinely need to change the destination or count scans.

Where URL QR codes earn their place

Restaurant and café menus

A code on the table opening a mobile menu means no reprinting when prices change. Make sure the menu page is a real mobile page, not a PDF, pinching and zooming a PDF on a phone is a poor experience and customers notice.

Product packaging

Instructions, registration, spare parts, how to videos. Packaging has very little room for text and a QR code buys you an entire page of it.

Google review requests

One of the highest value uses for a small business. A code at the counter or on the receipt pointing directly at your review link removes the friction that stops happy customers from leaving a review.

Posters, flyers and signage

Print size is the key variable here. A code on an A4 poster read from a metre away needs to be far bigger than one on a business card, and it needs clear space around it.

Event and booking pages

Ticket pages, RSVP forms and appointment booking all convert better from a scan than from a typed address, simply because fewer people drop out along the way.

Why some URL codes fail

The code scans but the page will not load

The code is fine, the problem is the destination. Check the URL is live, is not behind a login, and does not redirect somewhere unexpected.

The code will not scan at all

Usually size, contrast or quiet zone. Print dark on white, keep a clear margin around the code, and do not shrink it below about 2cm per side. Glossy surfaces cause reflections that block the camera.

It works on my phone but not on a customer's

Test on a device that has never visited the page. Your own phone may have the site cached or be logged in, which hides problems a first time visitor will hit.

What we measured: six forms of one address

We encoded the same destination six ways at error correction level M, recorded the grid, and decoded every code back to confirm it matched. Print size is the smallest usable width, from the 0.4 mm per module floor plus the quiet zone. These are technical minimums for each grid. In print, never go below about 2 cm, the floor our sizing guide sets for any code.

Three QR codes for the same web page. The address copied with www is 29 by 29 modules and needs 14.8 mm. The domain only form without https is 25 by 25 and needs 13.2 mm. The version with campaign tracking tags is 41 by 41 and needs 19.6 mm.
One destination, three ways of writing it. The campaign tags cost more printed width than the whole rest of the address.
FormCharsGridSmallest usable print
https://www.example.com/summer-sale/3629 x 2914.8 mm
https://example.com/summer-sale/3229 x 2914.8 mm
https://example.com/summer-sale3129 x 2914.8 mm
example.com/summer-sale2325 x 2513.2 mm
https://example.com/s (short path)2125 x 2513.2 mm
With three campaign tags8741 x 4119.6 mm

All six decoded. The interesting part is the first three rows, which are identical in grid despite differing by five characters.

QR codes grow in steps, not per character. A code jumps from 25 by 25 to 29 by 29 to 33 by 33 and so on, and within a step extra characters are free. Deleting www. and the trailing slash saved five characters and changed nothing at all about the printed result. Tidier, not smaller.

That single fact contradicts a lot of advice about shortening links for QR codes. Trimming is only worth doing when it carries you across a step boundary. Shortening the path from /summer-sale to /s does cross one, which is why row five is a size smaller than row three.

Should you keep https:// ?

Yes, in almost every case.

Row four shows that example.com/summer-sale is genuinely smaller, 25 by 25 against 29 by 29. It is the one trim in the table that pays. But what you are encoding is no longer a URL, it is a string that happens to look like one, and how a scanner treats it is then a guess rather than a rule. A scanner that recognises the pattern may offer to open it. One that does not will show it as plain text for the person to retype.

1.6 mm is not worth the ambiguity. That is the entire saving from dropping the prefix. For a poster or a menu card, keep https:// and print the code 1.6 mm wider. The only time the trim is tempting is at the smallest printed sizes, and that is exactly where a shorter path would serve you better anyway.

Never use http:// when the site supports https://. It is the same length, and it invites a browser warning on a code you cannot reprint.

Tracking parameters are expensive

Adding three campaign tags took the address from 31 characters to 87, and the code from 29 by 29 to 41 by 41. That is 4.8 mm of extra printed width, a third more than the clean address needed in total, spent on text no human will ever read.

Sometimes that is the right trade. If the tags are how you find out whether the poster worked, pay the 4.8 mm. But there is usually a better way:

  • Give the campaign its own short path, such as example.com/poster, and redirect it. You get a clean attribution in your analytics and a 25 by 25 code.
  • Drop utm_campaign if you only have one QR campaign running. Source and medium often answer the question by themselves.
  • Never encode a session id or a personalised token. They expire, and a printed code does not.

Link shorteners: what you gain and what you give up

A shortener gives you a small code and the ability to change the destination later, which a static code otherwise cannot do. Both are genuinely valuable for printed work.

What you give up is control. The short domain is somebody else's, the service can change its pricing or disappear, some corporate networks block the common shorteners outright, and the person scanning cannot see where they are going before they tap. That last one matters more than it used to, because hidden destinations are how QR code scams work. We covered the warning signs in are QR codes safe.

A short path on a domain you own gets you the same 25 by 25 code and the same ability to repoint it, with none of those drawbacks. If you own a domain, use it. The full comparison is in static vs dynamic QR codes.

What we measured: spaces, accents and tracking junk

We encoded each of these at error correction level M, recorded the grid, and decoded every code back to confirm it held what we put in. Print size is the smallest usable width, from the 0.4 mm per module floor plus the quiet zone. These are technical minimums for each grid. In print, never go below about 2 cm, the floor our sizing guide sets for any code.

LinkCharsGridSmallest usable print
https://example.com/my page, raw2729 x 2914.8 mm
Same link, space written as %202929 x 2914.8 mm
https://example.com/café, raw2425 x 2513.2 mm
Same link, é written as %C3%A92929 x 2914.8 mm
https://example.com/menú de verano, raw3429 x 2914.8 mm
Same link, fully encoded4333 x 3316.4 mm
A clean page link2729 x 2914.8 mm
The same page with four tracking parameters11145 x 4521.2 mm

Every one of these decoded correctly. That is worth stating plainly: the raw links with spaces scan fine as codes. The code is not the weak point. What differs is whether the app that reads it will treat the text as a valid link.

Two results are worth keeping. Writing a link correctly costs almost nothing: the encoded space left the code at the same size, and the encoded accent cost 1.6 mm, one size step. And tracking text is the expensive thing, taking the same page from 14.8 mm to 21.2 mm, which is 6.4 mm for text no one reads.

Encode the link properly and strip the junk. Correct encoding is nearly free. Tracking parameters are not. If you do need to measure scans, give the campaign its own short path on your own site instead of carrying the parameters inside the code.

Frequently asked questions

Does a URL QR code expire?

No. The address is stored inside the image, so it works as long as the destination page exists.

Can I change the link after printing?

Not with a static code. If the destination may change, make a free dynamic QR code instead: no account, no ads when scanned, and you can download a plain code to leave at any time. Or point the code at a page you control and redirect from there.

Can I count how many people scanned it?

Not directly. But you can see the traffic in your own analytics if you point the code at a dedicated page, or add a campaign parameter to the URL and track it in Google Analytics.

How do I turn a URL into a QR code?

Paste the web address into the box above and the code appears immediately. Include the https:// part so phones open it as a link rather than treating it as text. Then download the PNG at full resolution.

Does the web address have to be short?

It does not have to be, but shorter is genuinely better. Every character raises the module count, and at a fixed printed size that makes each black square smaller and less tolerant of blur. We measured exactly how much in our format comparison: a long copied link produced a code 5.2 times the area of a short one. Which parts are worth trimming is a separate question, and we measured that in URL to QR code: which form of your link to encode.

What if the link points at a file rather than a page?

It still works, the code does not care what is at the other end. But each file type behaves differently once a phone opens it, so we built tools that flag the traps: the PDF generator, the image generator, the file and media generator for video, audio and Office files, and the Google Drive generator, which rewrites Drive links so they preview instead of opening the editor.

Is there a length limit?

Technically the format allows a lot of characters, but practically, long URLs make dense codes that scan poorly. Keep links under about 80 characters where you can.

Other tools you may need

Venues that print a menu code usually want a WiFi QR code on the same table card. If the code is going on a business card, a vCard QR code saves your details in the same scan, and a text QR code handles short messages that do not need a web page at all. See all of them on the services page or read the FAQ.

Google's own guidance on mobile friendly pages is worth a read if the page behind your code is not performing.

QRotto

QRotto builds free browser based QR code generators and writes the guides that go with them. Every generator is verified by decoding the codes it produces and confirming the output matches the input exactly. See our editorial standards.