QR Codes — Methodology Handbook
How CalculatorAI's QR Code generator and QR Codes tracker work: static vs dynamic codes, scan analytics, password protection and privacy.
👉 Open the tracker: calculatorai.app/qr-codes · Create a code: QR Code generator
What a QR code actually is
A QR ("Quick Response") code is a square matrix barcode that stores a short piece of data — most often a URL. A phone camera decodes the pattern and opens whatever it encodes. The three large corner squares are finder patterns that let a scanner locate and orient the code; the smaller cells around them carry the data plus error-correction information.
Error correction means a QR code still scans when part of it is damaged, dirty, or covered — for example by a logo in the centre. Higher error-correction levels reserve more of the code for recovery data, which is why adding a logo works best at the "High" level.
Static vs dynamic codes
There are two fundamentally different kinds of QR code, and choosing the right one matters before you print anything.
Static codes
A static code encodes the final destination directly inside the pattern. Whatever you type is baked into the pixels forever.
- Free and permanent — no account needed.
- The destination can never be changed. If the link breaks, the printed code is dead.
- No scan tracking is possible: the code points straight at your link, so nothing sits in between to count scans.
- Best for: Wi-Fi credentials, a permanent homepage, plain text, a phone number.
Dynamic codes
A dynamic code encodes a short redirect link that you own. Scanning it lands on that short link, which instantly forwards to your real destination.
- You can change the destination at any time — even after the code is printed on a thousand flyers. The pattern never changes; only where it points does.
- Every scan passes through the redirect, so it can be counted and analysed.
- Optional password protection can gate the destination behind a prompt.
- Best for: marketing campaigns, packaging, business cards, menus, event signage — anywhere the target may change or you want analytics.
The rule of thumb: if it's printed and permanent, or the destination might ever change, use dynamic.
Making a code, step by step
This is the walkthrough to give someone who has never made one. The whole thing takes under a minute.
- Open the generator at
/qr-code-generator. - Choose Static or Dynamic at the top. Static needs no account and never expires. Dynamic needs a free account and gives you an editable destination plus scan analytics.
- Pick what the code contains — the row of content types (URL, text, WiFi, business card, email, phone, SMS, WhatsApp, location, event, crypto and more). Each type shows its own small form and builds the correct code for you; you never have to know the format. Dynamic codes are either a link or a hosted business card.
- Name it (dynamic only). "Front window, Oct" is findable in six months; "QR 4" is not.
- Optional: protect it with a password (dynamic only). The scanner sees an unlock page first.
- Optional, Pro: file it as you create it — the "Folder, tags & campaign" panel. See the section below for what each field does.
- Make it yours — colours and gradient, module and corner shapes, your logo in the middle, and a frame with a call to action.
- Finish:
- Static → Download PNG (print) or SVG (vector, scales to any size).
- Dynamic → Save & track, which creates the short link and puts the code in your QR Codes tracker. You can download it there any time.
After saving, everything about a dynamic code stays changeable — the destination, the name, the folder, the campaign parameters — except the pattern itself, which is already printed.
The "Folder, tags & campaign" panel, field by field
Available on Pro, both while creating a code and afterwards from the code's menu in the tracker.
- Folder — one folder per code. Click a folder to file it there, or type a name and press "Add folder" to make a new one. Folders show in the left sidebar of the tracker with a count, and clicking one filters the list. A code with no folder lives under "Unfiled".
- Tags — type a word and press Enter (a comma works too). A code can carry
several. Tags cut across folders:
printed,menu,spring-sale. The tag row above the code list is built from the tags you have actually used. - Campaign parameters (UTM) — five optional fields:
utm_source,utm_medium,utm_campaign,utm_term,utm_content. "Use defaults" fills inqrandprint, which describe a printed code honestly. They are added to your destination at the moment someone scans, so the visit shows up in your own analytics (Google Analytics or whatever you use) as its own source instead of as direct traffic. The preview at the bottom shows the exact address a scanner will land on. A parameter already present in your destination URL is never overwritten.
Content types
Instead of typing a raw string, pick a content type and fill in a short form — the generator assembles the correct code for you:
- URL / Text — a web link or plain text.
- WiFi — network name, password and security type, so a phone joins the network on scan.
- vCard — a full contact card (name, phone, email, company, role, website) saved straight to Contacts.
- Email / Phone / SMS / WhatsApp — start a message or call with the fields pre-filled.
- Location — pick a point on the map (or search an address) and the code opens it in maps.
- Event — a calendar event with title, place and dates.
- Crypto — a wallet address (Bitcoin, Ethereum and 10 more) with an optional amount.
Customisation
Both code types support the same visual options:
- Colours — foreground and background, including a two-colour gradient (linear or radial). Keep strong contrast between the code and its background, or scanners struggle.
- Module shapes — many body-dot styles plus separate styles for the corner finder frames and their centre dots. Every corner style here is scan-tested: the three big squares are what a camera uses to find the code at all, so a decorative shape that broke their proportions would make the code unreadable no matter how good it looked. If you ever design one elsewhere, that is the thing to check first.
- Logo overlay — upload your own logo or pick from a gallery of famous brand icons. Because a logo covers part of the pattern, use High error correction so the code still scans reliably; a small margin around the logo improves contrast.
- Transparent background — export without a background so the code sits on any colour or design.
- Export — download as PNG (high-resolution raster, good for print) or SVG (vector, scales to any size without blur).
Frames and a call to action
A bare code on a poster is a grey square that people walk past. A frame puts a short instruction next to it — "SCAN ME", "MENU", "ORDER HERE" — and that one line is the single cheapest way to raise the number of people who actually scan.
Switch QR code frame on and pick from 17 designs: a bar under the code, a filled sticker, a badge, a plain outline, a pointer, a speech bubble, corner brackets (square or soft), a bar on top, a call-to-action panel on the right or the left, a ribbon, an envelope, a capsule, a ticket stub, a circle, or a phone mock-up.
Each one takes:
- Frame colour and line style (solid, dashed, dotted, double).
- Thickness and corner radius.
- Caption — your own text, with size and a choice of typeface. On frames where the caption sits on a coloured bar, the text colour is chosen automatically so it always stays readable against the bar.
The frame is part of the export, not just the preview — it is in the PNG and in the vector SVG, so a print shop gets exactly what you saw.
One rule worth knowing: a frame never covers the code or its quiet zone (the empty margin scanners need). It is drawn around the outside, so adding one can never make a code harder to scan.
Digital business card
A dynamic code can be a digital business card instead of a link. You fill in your details (and an optional profile or company photo) and the code opens a clean, mobile-friendly card with tap-to-call, tap-to-email and a Save to contacts button. Because it's dynamic, you can update your details anytime without reprinting, and you see how many people scanned it.
Scan analytics (dynamic codes)
Every scan of a dynamic code records a lightweight, privacy-respecting event so you can measure performance:
- Total scans across all your codes and per individual code.
- Location — approximate country and city, derived from the network, never a precise address.
- Device type — mobile, tablet or desktop.
- Browser and operating system.
- Trend — a daily scan timeline so you can see campaign spikes.
The QR Codes tracker aggregates all of this into a dashboard: headline totals, a 30-day scan chart, and breakdowns by country, device and browser.
A note on privacy
Scan analytics are designed to be useful without being invasive. We store only coarse location (country/city level) and device class. We do not store the raw IP address of the person scanning — it is turned into an irreversible fingerprint used purely to distinguish scans, then discarded. There is no cross-site tracking and no personal profile of the scanner.
Password protection
A dynamic code can require a password before it redirects. When someone scans it they see a small unlock page; only after entering the correct password are they forwarded to the destination. This is a lightweight access gate — useful for private documents, gated content or internal links — not a substitute for real authentication on the destination itself.
Managing your codes
The QR Codes tracker is where dynamic codes live after you create them:
- Rename a code so it's easy to find later.
- Edit the destination of any link code in place — the printed pattern keeps working, it just points somewhere new. (A business-card code updates through its card details instead.)
- Pause and resume a code without deleting it. A paused code stops redirecting.
- Delete a code (it moves to a recoverable state for 30 days). From the deleted view you can restore it or delete it forever if you're sure.
- Copy the short link to share it directly, without a printed code at all.
Folders, tags and campaign parameters (Pro)
Once you are running more than a handful of codes, finding one becomes the work. Three tools, all on the same dialog behind a code's menu:
- Folders. One folder per code — by client, by location, by campaign. The folder rail at the top of the list filters to it in one click, and codes you have not filed stay reachable under "Unfiled". A folder is personal to your account: there are no shared workspaces, seats or roles here.
- Tags. Several per code, for the cuts a single folder cannot express —
printed,menu,spring-sale. Tags work across folders, and the tag row is built from the tags you have actually used, so there is nothing to set up. - Campaign parameters (UTM).
utm_source,utm_medium,utm_campaign,utm_term,utm_contentare attached to the destination at the moment someone scans, not baked into the printed pattern. So a scan arrives in your analytics as its own source — "qr / print / spring-menu" — instead of as direct traffic, and you can rename a campaign months after the flyer went out without reprinting anything. A parameter the destination URL already carries is never overwritten.
All three can also be set while you create the code — the generator's "Folder, tags & campaign" panel writes the same fields — so a code can arrive already filed instead of needing a second pass.
Deleting a folder never deletes the codes in it: they simply become unfiled. And if Pro lapses, everything you have already filed stays visible — only creating new folders and editing the campaign parameters stops.
Your own domain for the short links (Pro)
Every dynamic code redirects through a hostname. On the free setup that
hostname is ours — calculatorai.app/qr/AbC123. Pro can point a domain you
own at it instead, so the printed code reads qr.yourcompany.com/AbC123.
- You add a subdomain (
qr.yourcompany.comworks better than the bare domain, and leaves your main site untouched), create one DNS record we show you, and the connection goes live once DNS propagates — usually minutes, sometimes hours. - New codes are created on your domain automatically. Codes printed before that keep their original hostname: what is on paper cannot be changed, so we never quietly move an existing code.
- Your domain serves your short links and nothing else. Anyone opening it without a code lands on CalculatorAI.
- Removing a domain stops every code printed with it. The number of affected codes is shown before you confirm.
Why this matters more than it looks. A printed dynamic code belongs to whoever hosts the redirect — including us. That is a real dependency and we say so on our comparison pages. Pointing codes at a domain you own is how you take it back: if you ever leave, you re-point your own DNS instead of reprinting everything you have already put in the world.
Free vs Pro
The generator is free for everyone: unlimited static codes, full customisation, PNG and SVG export — no account required. Dynamic codes need a free account. The free plan includes one active dynamic code so you can try the full flow (editable destination + scan analytics); Pro removes the limit for unlimited dynamic codes, and adds the layer above: folders, tags, campaign parameters and your own short-link domain.
Putting the generator on your own website
The generator can run inside your site as a free widget — one line of HTML, no account, no API key, no approval, no cap on how many pages you put it on. Build the snippet at /embed; the tool's slug is qr-code-generator.
Your visitors get the whole static generator: every content type, colours and gradients, corner and body shapes, error-correction level, a centre logo, adjustable quiet zone, and both PNG (1200×1200) and vector SVG download — with no watermark on anything they produce.
Dynamic codes are the one thing a widget cannot do, and the reason is worth knowing rather than guessing at: a dynamic code needs a short link hosted on our domain and an account to own it, and browsers isolate storage inside a third-party frame, so nobody can be signed in there. The Dynamic tab in the widget therefore opens the full tool instead of pretending to work.
Two settings to know: the widget speaks any of the 10 site languages via ?lang=, and its layout caps at 1152px and stacks into one column in a narrow post, so its default container width is 1200px rather than the 1600px the calculators use. There is no height to set — the widget measures itself and tells your page how tall it needs to be.
The only condition is that the CalculatorAI credit stays visible, inside the widget and in the caption beneath it.
Comparisons and alternatives
If you are weighing this against a paid QR platform, these pages lay out the trade-off honestly, including the places where paying is the right call:
- Best free QR code generator — the full feature comparison, and where it does not win.
- Best QR code tracker — the same for scan analytics.
- Bitly alternative — for people who came for a QR code and found link management.
- QR TIGER alternative — scan caps, free vector export, and getting a code that survives the printer.
- Uniqode alternative — the one-location version of a multi-location product (formerly Beaconstac).
- Flowcode alternative — design control, and who should own the landing page.
What our paid plan does not do is meter you. Pro has no cap on the number of dynamic codes, no cap on scans, and no cap on how often you re-point a code — and it unlocks the rest of the site as well: every calculator, every tracker, every document generator and the AI assistant. Paid QR platforms are priced the other way round: the number of codes belongs to a tier, and a campaign that performs is a campaign that costs more. Check any provider's current plan yourself before you commit — including ours.
One thing worth knowing before you commit to any provider, this one included: a dynamic code is editable only because somebody hosts the redirect in the middle, so the printed code stops working if that redirect ever does. Pointing dynamic codes at a URL on a domain you own — and doing the final redirect there — turns a change of provider into a config change instead of a reprint. If the destination will never change, a static code sidesteps the question entirely.
Good practice checklist
- Test-scan the final exported image with more than one phone before printing.
- Keep high contrast between foreground and background.
- Use dynamic codes for anything printed or campaign-related.
- Use High error correction whenever you overlay a logo.
- Give the code quiet space (a margin) around it on the final artwork.
- Print at a size appropriate to scanning distance — bigger for posters, smaller for business cards.
Ready to create and measure your codes? Open the QR Codes tracker → or start with the generator →.
Karşılaştırma
Nasıl karşılaştırıyoruz
CalculatorAI QR Codes ile Bitly, QR Tiger, Uniqode (Beaconstac) ve Scanova’yı dürüstçe karşılaştırıyoruz. Artılar ve açıklar görünür.
Bu biziz
CalculatorAI
QR Codes
Bitly
links + QR
QR Tiger
QR SaaS
Uniqode
Beaconstac
Scanova
QR SaaS
Limitli ücretsiz + Pro $14.99/ay
Tam Pro 30 gün ücretsiz
$8 – $29 / ay
Dinamik QR ücretli eklenti
$7 – $50 / ay
Gerçek ücretsiz katman yok
$5 – $99+ / ay
Enterprise fiyatlandırma
$15 – $60 / ay
Sadece ücretli
Evet, ücretsiz
Ücretsiz planda düzenlenebilir + takip edilir
Sadece deneme
Deneme sonrası kodlar durur
Yeniden baskı yok
Toplam + benzersiz · ülke · cihaz · tarayıcı
Özel dönemler, en iyi kodlar
Scan · konum · cihaz
Scan · konum · cihaz
Güçlü yanları (enterprise)
Scan · konum
Üst planlar
Sınırlı
Kodların nasıl gidiyor diye sor
Scan analitiğini okur
QR + journal + portföy + hesaplayıcılar + docs
Tek Pro her şeyi açar
10 dil UI, responsive web
Stil + logo
Stil
Fiyat
CalculatorAI
Limitli ücretsiz + Pro $14.99/ay
Tam Pro 30 gün ücretsiz
Bitly
$8 – $29 / ay
Dinamik QR ücretli eklenti
Ücretsiz dinamik QR + analitik
CalculatorAI
Evet, ücretsiz
Ücretsiz planda düzenlenebilir + takip edilir
Bitly
Baskıdan sonra hedef düzenleme
CalculatorAI
Yeniden baskı yok
Bitly
Scan analitiği derinliği
CalculatorAI
Toplam + benzersiz · ülke · cihaz · tarayıcı
Özel dönemler, en iyi kodlar
Bitly
Scan · konum · cihaz
Kodu şifreyle koruma
CalculatorAI
Bitly
Üst planlar
Scan’lerini bilen AI
CalculatorAI
Kodların nasıl gidiyor diye sor
Scan analitiğini okur
Bitly
Bir abonelik = tüm platform
CalculatorAI
QR + journal + portföy + hesaplayıcılar + docs
Tek Pro her şeyi açar
Bitly
Tasarım + diller
CalculatorAI
10 dil UI, responsive web
Bitly
Stil + logo
Karşılaştırmayı paylaş
Sitende yayınla
Hazır bir formatı kopyala. Her seçenek görünür bir CalculatorAI kaynak bağlantısı içerir.
Bitly, QR Tiger ve Uniqode ile tam karşılaştırma →En iyi ücretsiz QR üretici — karşılaştırma →