How to Create a QR Code (Free, With Logo): Step-by-Step Guide
Learn how to create a QR code for free in 6 steps: add a logo, pick PNG or SVG, size it for print, and know when you need a dynamic code.
You need a QR code right now — for a menu, a flyer, a business card, an event sign — and every "free" generator you click seems to funnel you toward a credit card. The good news: you can make a working, branded, print-ready QR code in a few minutes without paying or even signing up, as long as you pick the right type and avoid a handful of mistakes that quietly stop codes from scanning.
This guide walks through exactly that: the difference between static and dynamic codes (it decides whether yours is free forever), a six-step process to generate one, how to add a logo without breaking the scan, which file format to download, how big to print it, and an honest comparison of the free tools — including where each one is genuinely good and where it isn't.
QR codes aren't a fad you can ignore anymore. Industry trackers project over one trillion QR scans worldwide in 2025, and in the U.S. alone, smartphone QR-scanner users are forecast to grow from roughly 83 million in 2022 to about 100 million by 2025. Treat those as forecasts, not gospel — but the direction is clear enough to make a scannable code worth getting right.
Before you start: static vs dynamic QR codes
This is the one decision that matters most, and most tutorials skip it. It determines whether your code is free forever or sits behind a subscription.
What a static QR code is
A static QR code has the destination — a URL, some text, a WiFi password — encoded directly into the black-and-white pattern. Nothing sits between the scanner and the data. The upside: it's free, and it never expires on its own. The downside: it cannot be edited after creation. If you printed 5,000 flyers and the URL changes, the codes are dead.
What a dynamic QR code is
A dynamic QR code encodes a short redirect URL instead of the final destination. Scanning it sends the phone to a redirect service, which then forwards it to wherever you point it. Because the printed pattern only holds the redirect, you can change the destination anytime and track each scan (count, location, date/time, device). The catch: dynamic codes depend on that redirect service staying alive, so they're usually behind a paid or limited plan — and a lapsed free trial can silently break them.
Which one should you choose?
Simple rule: go static for information you'll never change — a WiFi login, a vCard, a permanent link, anything on packaging you can reprint. Go dynamic if you need to edit the destination later or measure scans — a campaign URL, a printed poster you might repurpose, anything where analytics matter. Dynamic codes now make up the majority of real-world usage: roughly 64% of global implementations in 2025, according to Mordor Intelligence (via Supercode) — largely because marketers want editing and tracking.
| Property | Static QR | Dynamic QR |
|---|---|---|
| Editable after printing | No | Yes |
| Tracks scans | No | Yes |
| Free forever | Yes | Usually paid / limited |
| Best for | Fixed info: WiFi, vCard, permanent link | Campaigns, editable URLs, analytics |
How to create a free QR code in 6 steps
This process produces a free static code that works on any phone. It takes about three minutes.
Step 1 — Choose a free generator
Pick a tool that exports a clean image and (ideally) supports logos and vector files. QRCode Monkey, Adobe Express, and Canva are all solid free options for static codes — see the honest comparison further down before you commit. If you also want a short link behind your code, you can make one with Minily's free QR generator.
Step 2 — Pick your content type
Most generators let you encode a URL, plain text, WiFi credentials, a vCard/contact, an email, a phone number, or a social profile. Choose the one that matches your goal. Tip: if you're encoding a URL, shorten it first. Fewer characters mean a simpler, less dense pattern that scans faster and prints cleaner — one reason a short link pairs naturally with a QR code.
Step 3 — Enter your data and generate
Type or paste your content and hit generate. Double-check it character by character — a single typo in a URL means a printed code that goes nowhere.
Step 4 — Customize the look
Change foreground/background colors, corner shapes, and pattern style if the tool allows. Keep it tasteful and, above all, keep strong contrast (more on that below). Customization is where a code stops looking generic and starts matching your brand.
Step 5 — Test it before you use it
This is the single most-skipped step and the most common avoidable failure. Scan your code with at least two different phones (an iPhone and an Android if you can) and the native camera app — not just the generator's preview. If it resolves correctly on both, you're safe. If it doesn't, fix it now, not after the print run.
Step 6 — Download in the right format
Export the image. The format you choose — PNG or SVG — depends on where the code will live. The next sections cover that in detail.
How to add a logo to a QR code (without breaking the scan)
A centered logo is the top customization people want, and done right it won't hurt scannability. Done wrong, it kills the code.
Why a logo doesn't break the code
QR codes have built-in redundancy called error correction. The ISO/IEC 18004 standard defines four levels — L recovers 7%, M 15%, Q 25%, and H 30% of the data if part of the code is obscured or damaged. That tolerance is what lets you drop a logo in the middle. When adding a logo, use Level H so the code can absorb the covered modules.
The three rules for a scannable logo
- Keep it small. The logo should not exceed about 30% of the code area, with best results at 25% or under. Bigger than that and even Level H can't recover the data.
- Stay centered, never cover the corners. The three large squares in the corners (finder patterns) tell the scanner where the code is and how it's oriented. Cover one and the code becomes unreadable.
- Pad it. Add a small white background behind the logo so it sits cleanly against the pattern instead of bleeding into it.
Color and contrast
Keep a dark foreground on a light background. Inverting it (light modules on a dark field) scans far worse because most readers expect dark-on-light. Maintain a strong contrast ratio — roughly 4:1 or higher — and leave the empty border (quiet zone) intact. For a deeper dive into branded styling, gradients, and corner shapes, see Minily's QR code features.
Free tools that support logos and vector export
QRCode Monkey, Adobe Express, and Canva all let you add a logo for free, and the first two export vector formats you can scale for print. Pick based on whether you're designing in isolation (QRCode Monkey) or inside a larger design like a flyer (Canva, Adobe Express).
PNG or SVG? Choosing the right download format
PNG — for screens and most print uploads
PNG is a raster (pixel) format. It's fine for websites, email, social posts, and uploading to most online print shops, which almost universally accept PNG. The catch: raster images blur when enlarged. Export at at least 1,000 pixels and never upscale a small PNG to fill a poster.
SVG — for resizing and large-format print
SVG is a vector format: it's resolution-independent and scales to any size with zero quality loss, which makes it the right choice for posters, packaging, banners, and anything a designer will resize. As a bonus it's tiny — an SVG QR code is often 5–15 KB versus 30–100 KB for an equivalent high-res PNG. EPS and PDF are the other common vector exports.
| Where it's going | Best format |
|---|---|
| Website, email, social | PNG (≥1,000 px) |
| Posters, packaging, large or resizable print | SVG (or EPS/PDF) |
| Quick flyer at a fixed size | High-res PNG |
Printing your QR code: size, distance, and quiet zone
Most "it won't scan" problems on physical materials come down to size and spacing.
- Minimum size. Aim for at least 2 cm × 2 cm for close range and 3 cm × 3 cm for business cards / arm's length. Smaller than that and phones struggle to lock focus.
- The 10:1 distance rule. Scan distance should be no more than 10× the printed code's size. A code meant to be scanned from 1 meter away needs to be at least 10 cm wide; billboards and store windows need much larger codes.
- Quiet zone. Leave an empty white border about four modules wide on all sides — roughly 2–3 mm at a 3 cm size. Without it, scanners can't find the code's edges.
- Resolution. Use 300 DPI for print and 72 DPI for screen. A 1024×1024 PNG lands around 290 DPI on a standard business card — comfortably above the minimum.
Best free QR code generators in 2026 (and their real limits)
No tool is best at everything. Here's an honest read on the popular free options, including what their free tiers actually cap. Pricing changes often — verify current limits before you rely on them.
| Tool | Type | Free-tier reality | Best for |
|---|---|---|---|
| QRCode Monkey | Static | 100% free, logo + gradient + colors, SVG/EPS/PDF export, codes don't expire, can't be edited or tracked | Branded static codes |
| Canva / Adobe Express | Static | Free, colors + logo, PNG/SVG/PDF, embeds into a design | When you're already designing a flyer or card |
| Bitly | Dynamic | Free tier is limited to a small number of QR codes per month; paid plans (Core) add volume and full analytics | When you genuinely need editing + scan tracking |
| TinyURL | Dynamic | Free plan includes a QR code per short link; advanced analytics and branding are paid | Auto QR alongside short links |
| Minily | Static + dynamic | Unlimited free QR codes; the cap is on short links (5 on free). No public API and no white-label at any tier; live analytics mode is Pro-only | Unlimited QR + short-link combo with basic analytics |
QRCode Monkey is the strongest pure free pick for branded static codes — logos, gradients, and vector export at no cost, per its own site. If you need editing and tracking, a dynamic tool is the honest answer: Bitly tracks scans well but its free QR allowance is small (check the current Bitly pricing), and TinyURL attaches a QR code to each short link on its free plan with analytics gated behind paid tiers.
Where does Minily honestly fit? Its real differentiator is that QR codes are unlimited and free — no "2 codes a month" quota — and they come with password protection, geo/device conditional redirects, global analytics, and GDPR-friendly CSV export of aggregate data. The trade-offs are plain: the free plan caps short links at 5, Minily has no public/REST API and no white-label at all (not on any plan), and the live analytics mode is reserved for Pro. If you're a developer who needs an API, or an enterprise running high-volume tracked dynamic codes, a dedicated platform like Bitly or Uniqode fits better. If you're a small business or creator who wants unlimited QR codes plus a few short links and simple analytics, without per-month QR limits, Minily is a fair pick. See exactly what each tier includes on the pricing page.
Common QR code mistakes to avoid
- Not testing on real phones before printing.
- Logo too large or overlapping the corner finder patterns.
- Low contrast, or inverting to light-on-dark.
- Printing too small or ignoring the 10:1 distance rule.
- No quiet zone (the white border).
- Using a free trial dynamic code that silently expires.
- Exporting a low-res PNG and upscaling it for print.
Frequently Asked Questions
Is it free to create a QR code?
Yes. Static QR codes are free forever from tools like QRCode Monkey, Canva, Adobe Express, and Minily. Dynamic (editable and trackable) codes are usually paid or limited — for example, Bitly's free tier allows only a small number per month.
Do QR codes expire?
Static codes never expire on their own; they only break if you change or delete the destination behind the link. Dynamic codes keep working as long as the generator's redirect service and your plan stay active — so watch out for free trial dynamic codes that lapse.
Can I add my logo to a QR code for free?
Yes, with QRCode Monkey, Adobe Express, Canva, or Minily. Set error correction to Level H, keep the logo at 25–30% of the area or less, center it, and never let it cover the three corner squares.
What's the difference between a static and a dynamic QR code?
A static code encodes the destination directly — free and not editable. A dynamic code encodes a redirect URL — editable anytime and able to track scans, but usually paid.
PNG or SVG — which should I download?
Use PNG for screens and most print uploads (export at 1,000 px or larger). Use SVG when you need to resize across formats or print large, since it scales with no quality loss.
How small can a QR code be?
About 2 cm minimum for close-range scanning and 3 cm for business cards. Follow the 10:1 rule — scan distance no more than 10× the code's size — and always leave a quiet-zone border.
Can I track who scans my QR code?
Only with a dynamic QR code. The pattern itself can't track anything; the redirect service behind a dynamic code records scans — count, location, and device. You can explore how scan and click data work on the analytics feature page.
Why isn't my QR code scanning?
The usual culprits: the logo is too big or covers a corner, contrast is too low, there's no quiet zone, it was printed too small, or it was never tested before going to print.
Wrapping up
Creating a QR code is genuinely a five-minute job once you've made the one real decision — static or dynamic — and avoided the handful of mistakes that break scans. For fixed information, generate a free static code, add a logo at Level H, export SVG for print or a high-res PNG for screens, size it with the 10:1 rule, and test it on two phones. If you need to edit the destination later or measure scans, reach for a dynamic tool and accept that it usually means a plan. Either way, the goal is the same: a code that scans the first time, every time.