Limited Discount 50% off on lifetime · Ends in 6 days See pricing →
Free QR code generator

Make a QR code that stays editable.

Pick a destination. Pick a design. Save it free and re-point the QR anytime — even after it's printed.

linked.codes/
 
Loading templates…
Design Customize
linked.codes/your-slug
Why this generator

QR codes most generators don't actually let you keep.

A static QR locks the destination into the print forever. A typo, a moved page, a re-branded campaign — and the printed run is dead. Every QR you make here is dynamic, editable, and tracked.

1Dynamic by default

Change the destination forever

The QR encodes a short link you control. Move the campaign, fix the typo, swap the landing page — the printed code keeps working.

2Real design controls

Colors, logo, frame, rounded modules

Match a brand without breaking the scan. Error correction handles the logo cutout, and the design lives in your dashboard so every export stays consistent.

3Built-in analytics

See every scan, not just the totals

Each scan logs time, country, device, referrer. No third-party pixels, no cookie banner. Your scan data lives next to the QR design that produced it.

4Your own domain

QR previews under your brand

The host the phone shows before opening the link is your qr.yourbrand.com, not a generic shortener. The trust gate happens before the destination loads.

5Export everywhere

SVG, PNG, JPEG, PDF

One design, every format printers and designers ask for. Vector for billboards, raster for slides, PDF for press.

6One platform, both surfaces

QR and short links in one tool

Every QR runs through the same short-link layer, so QR campaigns and link campaigns share one dashboard, one analytics view, one domain.

A typical "free QR generator" vs the one above.

Free image

  • Destination baked in — change anything, reprint everything
  • No analytics, no idea who scanned
  • Long URLs make the QR dense and unreliable at small print
  • Preview URL shows a third-party domain

Linked.Codes

  • Edit the destination forever — printed run keeps working
  • Per-scan analytics — time, country, device, referrer
  • Short link encoding keeps the QR sparse and easy to scan
  • Custom subdomain — the phone preview reads as your brand

Things people ask before they save.

Is it actually free?+

Yes — the free tier covers QR codes, short links, basic analytics, and a your-handle.linked.codes subdomain. The lifetime tier unlocks higher event volume, your own custom domain, and the whitelabel surface for putting your customers on the platform.

What if I want to change the destination later?+

Every QR generated here is dynamic. The destination lives in your dashboard — change it any time and the printed QR keeps working. The full breakdown is in static vs dynamic QR codes.

Does adding a logo break the scan?+

Not if you keep the logo under 25% of the QR's area and the error-correction stays at level H. The generator above defaults to safe settings. Walk through error-correction levels if you want to push the limits.

Can I export at print size?+

Yes — SVG, PNG, JPEG, and PDF. Vector formats scale to any size without losing the modules; raster comes out at 1024×1024 by default.

Why does the short-link domain matter?+

The phone's camera shows the URL before opening it. A scan that previews linked.codes/abc reads as legitimate; a scan to a random shortener reads as suspicious. Setting up a custom subdomain takes one DNS record — the walkthrough is in setting up a custom short-link domain.

Do you also do short links without the QR?+

Yes — the same dashboard handles both. The short link generator is the same widget tuned for short-link intent.

Can I get rid of "linked.codes" in the QR's URL?+

Yes, with the lifetime tier — point your own domain at the platform and your QRs encode qr.yourbrand.com/slug instead. The phone preview, the click history, the share sheet all show your brand.

Ready when you are

Save your QR. Re-point it whenever you need to.

Free to start. Lifetime tier for your own domain and higher event volume.

Get started free →