UTM + QR Link Builder

Build a tagged campaign URL with utm_source, utm_medium and utm_campaign, then download the matching QR code as PNG or SVG.

Extra tags (utm_term, utm_content, utm_id)

Enter a destination URL to build your tagged link and its QR code.

QR code

QR code options โ€” size, error correction, colours

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

A UTM QR code builder does two jobs at once: it tags your destination URL with utm_source, utm_medium and utm_campaign so analytics can attribute the visit, and it encodes that exact tagged link into a scannable QR code for posters, flyers, packaging, table tents or trade-show banners. Type the URL and the campaign values and both the link and the QR code update instantly โ€” values are lowercased and spaces turned into hyphens by default, because UTM parameters are case sensitive and inconsistent tags split one campaign across several rows in your reports.

The codes are static: the tagged URL is encoded directly into the pattern, so there is no short link, no redirect domain and no subscription that can switch it off. Keep the URL short for print โ€” fewer characters means a lower QR version with chunkier modules that scan from further away โ€” and raise the error correction level to Q or H if the code will be printed small, folded or partly covered by a logo. Everything (the URL parsing, the encoding and the PNG/SVG export) runs in your browser with JavaScript, so client URLs and campaign names are never uploaded anywhere.

Frequently asked questions

How do I track QR code scans in Google Analytics?

Tag the destination URL before you turn it into a QR code. Add utm_source (where the code is printed, such as flyer or poster), utm_medium (usually qr or print) and utm_campaign (the promotion name), then encode that finished URL. Every scan then lands on your site with the parameters attached, so GA4 attributes the session to that campaign instead of lumping it in with direct traffic. Use utm_content to tell two placements apart, for example table-tent versus window-decal, when the same campaign appears in several spots.

Do QR codes work with UTM parameters?

Yes. A QR code is just an encoded string, so the full query string travels with it; phone cameras open the complete URL including every utm_ parameter. The only practical limit is length: more characters mean a higher QR version with smaller modules, which is harder to scan from a distance or at small print sizes. Keep the destination path short, avoid unnecessary parameters, and raise the error correction level to Q or H if the code will be printed small or might get scuffed.

Do these QR codes expire, and is the tool free?

They never expire. The tagged URL is encoded directly into the pattern, so there is no short link, no redirect through someone else's domain and no account that can be suspended, and a printed code keeps working for as long as your own page exists. The tool is free with no sign-up, no watermark and no download limit, and the link building, QR encoding and PNG/SVG export all happen in your browser, so client URLs and campaign names are never uploaded anywhere.

Report a bug