Static vs dynamic, design rules, print sizes, and the mistakes that make codes unscannable
11 min read · Oct 4, 2026 · By PagalHo Tools Team
QR stands for "quick response", and the square was invented in 1994 by the Japanese company Denso Wave to track car parts faster than barcodes allowed. The idea was simple: store data in two dimensions instead of one, so a scanner reads a whole grid at once rather than sweeping a line. Three decades later that industrial tracking label is on every restaurant table, product box and event ticket on earth.
Technically, a QR code is a grid of dark and light modules encoding text — up to a few thousand characters. Your phone’s camera decodes the pattern, reads the text, and acts on it: opening a URL, joining a WiFi network, or just displaying a message. The three big squares in the corners are finder patterns; they tell the scanner where the code is and which way is up, which is why you should never cover or distort them.
The crucial thing to understand before you create one is that not all QR codes are the same kind. The single most important decision — more important than colors, logos or size — is whether your code is static or dynamic. Get this wrong and your "free forever" code can start demanding a subscription.
A static QR code contains your actual data. The link, the text, the WiFi login — it is all baked into the pattern itself. Static codes never expire, cannot be switched off, work offline, and cost nothing forever, because there is no service standing between the scanner and the data. Every code PagalHo’s generator makes is static.
A dynamic QR code contains a short redirect URL owned by the generator company. When someone scans it, their phone visits the company’s server, which forwards them to your real destination — and logs the scan for analytics. That indirection is what makes dynamic codes editable and trackable, and it is also what makes them expirable: stop paying the subscription and the redirect dies, taking your printed codes with it.
Here is the trap to watch for: many "free QR code generator" sites let you design a beautiful code for free, then require an account to download it — and quietly hand you a dynamic code. Months later the trial ends, the redirect stops, and the thousand flyers you printed are dead paper. If a generator demands sign-up before download, assume dynamic until proven otherwise.
For almost everyone — menus, WiFi signs, business cards, personal links — static is the right choice. You only need dynamic if you must change the destination after printing (a long-lived billboard campaign) or you genuinely need scan analytics, and then you should pay for it eyes-open from a reputable provider.
The static test
Ask the generator: "Will this code work if your company shuts down tomorrow?" If yes, it is static. If the answer is vague, walk away.
With the static-vs-dynamic question settled, creating a code is genuinely a one-minute job. Open PagalHo’s free QR code generator — no account, no upload. Everything below happens in your browser, which is worth appreciating when the payload is your WiFi password.
First, choose what the code says. The Text / Link tab takes any URL or message; the WiFi tab takes a network name, password and security type and builds the special WIFI: format phones recognise. Paste full URLs starting with https:// — short, clean links make simpler patterns that scan faster.
Second, style it. Pick a download size: 256 pixels is fine for screens, 512 for everyday printing, 1024 for large or professional print. Choose colors with strong contrast — a dark code on a white background is the gold standard — using the presets or any custom shade.
Third, test before you trust. Scan the on-screen preview with your own phone and confirm it does what you expect: opens the right page, offers the WiFi join. Only then hit Download PNG. That thirty-second test is the difference between a code that works and a thousand misprinted menus.
QR codes accept up to a few thousand characters, but bigger is not better: denser codes (more, tinier modules) need better cameras, better lighting and larger print to scan reliably. The practical rule is to keep payloads short. A naked URL beats a URL with fifty tracking parameters; "See you at 7" beats a paragraph.
The most useful payloads are links, short text, and WiFi logins — the three this generator is built around. Longer structured formats (contact cards, calendar events) also encode fine, though phones vary in how cleverly they handle them: some import the contact, others just display the text.
What should you not encode? Anything you would not want screenshotted and forwarded — because that is exactly what happens. Passwords beyond WiFi, private document links, personal phone numbers on public posters: once a QR code is photographed, you have lost control of the payload. And never encode a URL you do not control on materials that represent you; if that domain lapses or is hijacked, your printed codes point at someone else’s content.
Custom colors are the safest way to make a code yours: deep violet, navy or forest green on white all scan beautifully and look a world away from generic black. The iron rule is contrast — scanners read darkness differences, so keep the code dark and the background light. Inverted codes (white on black) fail on many phones, and pastel-on-white is a gamble in dim light.
The quiet zone — the blank margin around the code — is not decoration; scanners use it to find the code’s edges. Our downloads include it automatically, so do not crop it off in an editor. Likewise, never stretch the square into a rectangle or cover the three corner finder patterns with a logo: both silently kill scannability.
Speaking of logos: centering a small logo is popular and usually survivable thanks to error correction, which can reconstruct up to ~30% of a damaged pattern. But "usually" is doing heavy lifting — big logos over dense codes fail, and every logo makes scanning marginally harder. If you must brand the center, keep the logo small (under ~15% of the code area), keep error correction high, and test on three different phones before printing.
Why the corners matter
Those three big squares are finder patterns — the scanner locks onto them first. Cover one and many readers give up entirely, no matter how perfect the rest of the code is.
On screen, size barely matters — a 256-pixel code on a phone display scans instantly. Print is where codes die, because print has resolution limits and viewing distances. The rule of thumb: the further away the scanner stands, the bigger the code must be. A business card scanned from a foot away can be an inch square; a poster scanned from ten feet needs to be the size of a dinner plate.
For print, always download the 1024-pixel version. At 300 DPI (standard quality print), 1024 pixels gives you about 3.4 inches of crisp code; the 256-pixel file at the same quality is under an inch and will look soft. Sharp modules scan; blurry ones guess.
Paper choice matters more than people expect. Matte paper beats glossy because reflections blind cameras — that elegant glossy menu under restaurant spotlights is a worst case. And always, always test-scan the physical print in its real lighting, with a mid-range phone, not just your flagship. If it scans there, it scans anywhere.
Most dead QR codes die from the same small list of sins. Run through it before any print run and you will avoid nearly every failure mode in the wild. First, low contrast — light grey on white, or brand pastels that look chic and scan never; when in doubt, go darker. Second, inverted colors — a white code on a dark background fails on a shocking number of phones, so keep it dark-on-light.
Third, the cropped quiet zone — trimming the white margin in an editor. Leave the border alone; scanners need it to find the edges. Fourth, an over-dense payload — a 2,000-character URL crammed into a one-inch code. Shorten the link or enlarge the print. Fifth, too small for the distance — a postage-stamp code on a billboard. Size for the viewing distance, roughly an inch of code per three feet.
Sixth, distortion — stretching the square into a rectangle, or printing on curved and wrinkled surfaces that warp the grid. And seventh, the mistake that enables all the others: never test-scanning. Scan the final printed artifact with a real phone, in its real lighting, before you commit to a thousand copies.
Restaurants made the QR menu famous, but the pattern works anywhere a physical object needs a digital doorway. Menus are the obvious win — update prices online without reprinting — but only if the code is static and points at a URL you control. A dynamic code from a "free" service is a ticking subscription bomb under your tables.
Payments are the second giant: from street vendors to market stalls, a printed code that opens a payment link or wallet address turns any counter into a checkout. Keep these codes large, high-contrast and protected from wear — a faded payment code at a busy stall costs real money.
Events use codes for tickets, schedules and feedback forms; real estate puts them on for-sale signs linking to virtual tours; business cards carry them to LinkedIn profiles or portfolios. In every case the economics are the same: the code is free to make, so the only real cost is reprinting if you get it wrong — which is why the test scan is non-negotiable.
Two parties need safety thinking: the creator and the scanner. As a creator, the main risk is privacy — many generators upload everything you type. Generating in-browser, as PagalHo’s tool does, removes that risk entirely: your WiFi password never leaves your device. Also think about where printed codes end up — a code photographed and shared online keeps working for everyone who sees the photo.
As a scanner, remember that a QR code can point anywhere, including phishing pages and malware downloads. The defense is simple: check the URL preview your phone shows before tapping, be suspicious of codes stuck over other codes (a classic tampering trick on parking meters and posters), and never enter passwords or payment details on a page you reached via a random sticker.
Businesses should audit their public codes occasionally — scan them yourself every few months. A hijacked or lapsed destination behind your printed code is your reputation on the line, and it takes one customer complaint to discover it.
Nothing — static QR codes are free forever. PagalHo’s generator is free with no sign-up and no watermark. Be wary of "free" generators that require an account: they usually issue dynamic codes that start charging later.
Static QR codes never expire because the data is encoded directly in the pattern. Only dynamic (subscription-based) codes stop working, when the redirect service behind them is switched off.
Up to a few thousand characters depending on content type — but shorter is better. Dense codes need bigger print and better cameras, so trim URLs and keep messages brief.
Usually yes, thanks to error correction — keep it under ~15% of the code area, never cover the three corner squares, and test on several phones. PagalHo’s generator keeps codes clean for maximum scannability.
About 1 inch (2.5 cm) square for close scanning, larger for distance — roughly 1 inch per 3 feet of viewing distance. Always use the 1024px download for print and test the physical copy.
The usual suspects: low contrast, inverted colors, a cropped quiet zone, too-small print, a damaged or glossy surface, or an over-dense payload. Work through them in that order — and test with a different phone to rule out a weak camera.
Try it now — free
📱 QR Code Generator
Free QR codes for links, text and WiFi
Open the tool