URL QR Code Generator
Turn any link into a scannable code, no sign-up, no watermark, and it never expires. Generated entirely in your browser.
Continue reading3 dynamic codes free · unlimited scans · no card, no expiry
Look around a demo workspacego.yourdomain.com/sauce
Live
Describe it. Reticle AI plans the link.
Tell Reticle AI what your code should do. It drafts the dynamic link, smart routing, link page, and password setup for you to review and apply.
Free to use with a Reticle account. Sign in and Reticle AI plans your link.
Everything a printed code should be able to do
Once a code is on a menu, a box, or a billboard, reprinting is the expensive part. Dynamic links move the decisions into your account instead.
Per-scan analytics
ProEvery scan recorded with approximate city, device, OS, and time, exportable to CSV. Free plans keep aggregate counts by day, device, and country.
Repoint any time
FreeChange where a printed code goes in seconds. 3 links free with unlimited scans; unlimited links on Pro.
Your domain on the code
ProScanners see your name, not ours, with custom endings you choose instead of a random slug.
A file behind the code
ProHost a PDF or image at the code itself and swap the file without reprinting. Menus, spec sheets, price lists.
replaced, same code
Smart routing
ProOne code, many destinations: route each scan by country, language, device platform, or time of day.
Link pages
ProA hosted page of up to 12 link buttons behind one code, editable any time. One QR for everything you do.
Made in your browser
Static codes are generated entirely on your device. Nothing is uploaded unless you create a dynamic link or host a file, and we say exactly what those store.
No scan-count paywall
Free dynamic links have unlimited scans and no expiry. A code you printed keeps working; we do not hold it hostage.
Data you can erase
Free plans keep aggregate counts only. Pro per-scan records are kept about 90 days, and you can export or delete them at any time.
Create your QR code
One place to create, design, and download: the Studio. Dynamic codes you can change after printing, plus free static codes for URLs, Wi-Fi, vCards, text, email, SMS, phone, events, locations, and crypto.
Start free. Go Pro to know who scanned.
- Unlimited static codes, full styling, every export
- 3 dynamic links with unlimited scans
- Aggregate scan stats and email digests
- 100 saved codes, synced to your account
- Your own domain on printed codes, with custom endings
- Unlimited dynamic links and bulk CSV import
- Per-scan analytics, exportable to CSV
- File codes, smart routing, link pages, passwords, scheduling
How a URL QR code works
A URL QR code encodes the web address itself, character for character. Point a phone camera at it and a tap-to-open banner appears, no app, no typing. Reticle normalizes what you paste (adding https:// if you leave the scheme off) and the free Studio renders the code live as you type.
Because the link is stored in the image, there's no redirect service in the middle: the code never expires, can't be paywalled later, and doesn't route your visitors through anyone's tracker. It works for as long as the destination page exists.
Shorter links scan better
Every character adds modules to the code, and denser codes need bigger prints and steadier hands. A 30-character link makes a noticeably coarser, easier-to-scan code than a 200-character one full of query parameters. Trim what you can, and watch the scanability tag in the Studio, if it says "Dense", shorten the URL or print larger.
Static or dynamic?
By default a URL QR code is static: the destination is baked directly into the image, so nothing is uploaded and nothing is tracked. If you'd rather keep the destination editable after printing (updating a menu link, or seeing how many people scanned a poster), sign in, open the free Studio, and choose Dynamic code. That encodes a short open-qr.link address instead of your URL directly, so you can repoint it any time and see scan counts under My codes. The free plan includes 3 dynamic links.
Printing tips
Print at least 2 cm (about an inch) square with strong contrast, and leave a margin of empty space around the code. For flyers and posters that get handled or weathered, raise error correction to Q or H in the Studio. A "Scan me" frame reliably increases the number of people who actually scan. Always test the final printed size with a real phone before a big print run.
Frequently asked questions
Do these QR codes expire?
No. The link is encoded in the image itself, with no redirect service in between, so the code works for as long as the destination page exists. There's nothing to renew and no plan to lapse.
Can I change the destination after printing?
Not for a static code: the URL is baked into the image, so a printed static code is permanent. If you want that flexibility, sign in and use a dynamic link instead: it encodes a short open-qr.link redirect you can repoint at any time, even after printing, without changing the code.
Why is my code dense or hard to scan?
Long URLs (especially ones full of query parameters) add density fast. Shorten the link, drop parameters you don't need, watch the scanability tag in the Studio, and test-scan the final printed size.
Is my link tracked or uploaded anywhere?
Not by default. A static code is generated entirely in your browser and encodes your URL directly; there's no shortener, no interstitial, and no scan tracking. A dynamic link is the one opt-in exception: it stores the destination you set and anonymous daily scan counts so you can see activity under My codes.
What's a dynamic QR code?
A dynamic QR code encodes a short open-qr.link address instead of the destination itself, so you can change where it points at any time (even after the code has been printed) and see how often it's scanned. Sign in, open the free Studio, choose Dynamic code, and manage everything under My codes. The free plan includes 3 dynamic links.
Can I add a logo or brand colors?
Yes, colors, gradients, module shapes, and a center logo are all supported. Adding a logo automatically raises error correction to the highest level so the code stays scannable.