Guide
How to Create a QR Code (Step-by-Step Guide)
Creating a QR code is faster than most people think — and free, for static codes. You don't need an account, you don't need a credit card, and you don't need to download software. This guide walks through the full process: picking the right content type, filling in the data, customizing the design without breaking the scan, picking the right export format, and testing the code on real phones before deploying it.
What is a QR code?
A QR (Quick Response) code is a two-dimensional barcode that stores data in a grid of dark and light squares called modules. The format is standardized as ISO/IEC 18004 — an open spec supported by every smartphone camera since iOS 11 (2017) and Android 8 (2017). When you scan a QR code with a phone camera, the camera reads the pattern, decodes the data locally, and hands it to the appropriate OS handler (browser for URLs, Contacts app for vCards, WiFi prompt for network credentials).
Key structural elements:
- Finder patterns — the three large square markers in the corners. The scanner uses these to detect QR orientation and rotation.
- Alignment patterns — smaller squares that help the scanner correct for skew when the QR is photographed at an angle.
- Timing patterns — alternating dark and light rows that help the scanner determine module size.
- Data modules — the actual encoded payload, arranged in a specific pattern based on QR version and error correction level.
- Quiet zone — the solid background margin around the entire code (at least 4 module widths wide). The scanner needs this to detect where the QR begins.
Error correction is the property that lets QR codes scan reliably even when partially damaged or covered. The spec defines four levels — L (7% recovery), M (15%), Q (25%), and H (30%). Higher levels use more of the QR area for redundancy, which is why embedded logos work without breaking the scan: the redundancy compensates for the area covered by the logo.
Static vs dynamic is the architectural choice that shapes everything else. Static codes encode the destination directly into the pattern (free, permanent, no vendor dependency). Dynamic codes encode a short redirect URL on a vendor's server (subscription required, editable after print, scan analytics). See the dynamic vs static guide for the trade-off.
Tips
- QR codes hold up to 4,296 alphanumeric characters (version 40 at error correction L)
- Text, vCard, and WiFi codes work offline — no internet needed on the scanning device
- Static codes work forever with no vendor dependency; dynamic codes need a subscription
Step 1: Choose your content type
We support 50+ content types organized by what the QR opens on scan:
Web destinations: URL (the most common), PDF (links to a hosted PDF file), App Store (deep link to App Store / Play Store).
Contact and identity: vCard (business card data — name, phone, email, company), email (prefilled subject and body), phone (one-tap call), SMS (prefilled text message).
Network: WiFi (auto-join with SSID and password encoded), location (opens Maps with a pin).
Social and messaging: Instagram, YouTube, TikTok, Facebook, Twitter, LinkedIn, WhatsApp, Telegram, Snapchat, Discord, Pinterest, Spotify, Threads.
Commerce: Amazon, Etsy, Shopify product pages, Google Pay, Apple Pay, Venmo, PayPal payment links.
Reviews and feedback: Google Review (direct-to-review URL), TripAdvisor, Yelp, Google Form, Typeform.
Specialty: vCalendar (event with start time and location), Zoom meeting, Google Meet, Microsoft Teams.
Each type has a dedicated form built for that specific data structure. The form validates the input format — for a URL it requires a valid URL, for a vCard it formats the contact data per the vCard 3.0 spec, for WiFi it builds the standard WIFI:T:WPA;S:SSID;P:password;; payload.
Pick the type that matches the scanner's expected action. If you want the scan to open Instagram, use the Instagram type (not URL — the Instagram type triggers the app deep-link properly). If you want the scan to save the contact, use vCard. The type-specific handling delivers a better scan experience than a generic URL pointing at a landing page.
Step 2: Enter your content
Fill in the form fields for your chosen type.
For URL codes: paste the destination URL. Always include https:// (the form prepends it if missing). For long URLs with UTM parameters, consider trimming the URL for static QRs — long URLs produce denser patterns that require larger physical print sizes. The fix is either shortening the URL or switching to a dynamic QR that encodes a short redirect URL.
For vCard codes: enter your name (first and last), phone (international format with country code), email, company, and title. Keep additional fields (website, social URLs, address) to one or two — bloating the vCard increases QR pattern density without adding contact value. See the best vCard QR generators for the field-priority guidance.
For WiFi codes: enter the SSID (network name), the password (use the actual password — the QR encodes it for the scanner to send to the join prompt), and the encryption type (WPA/WPA2 for most modern networks, WPA3 (SAE) for newer enterprise networks, none for open networks). Mark the Hidden network flag if your SSID is hidden. See the WiFi QR guide for the full format spec.
For email/phone/SMS codes: prefill the recipient and any default subject, body, or message. The scanner opens the relevant app with the fields populated.
For PDF codes: upload the PDF or paste a URL to a PDF you host. We host PDFs up to 10MB on the free tier; larger files require Pro ($10/mo, up to 50MB) or Max ($20/mo, unlimited).
The form validates input in real time, so format errors surface before you generate the QR.
Step 3: Customize the design
Match the QR to your brand without breaking the scan.
Colors. Pick the dark module color and the background color. The safe palette: black, dark navy, deep teal, forest green, burgundy, or charcoal on white or cream — all of these pass the 4.5:1 WCAG contrast threshold and read as branded. Avoid pastels, trendy mid-grays, and any combination where the contrast drops below 4.5:1. See the QR color guide for the tested palette.
Logo embed. Upload your logo (PNG with transparent background is ideal, or SVG). The generator places it in the center of the QR at under 15% of code area and automatically bumps the error correction level to H (30% recovery) so the embedded logo doesn't break the scan. Larger logos punch out too much of the pattern for the scanner to reconstruct.
Dot patterns and corner styles. The default pattern (square dots, square finder patterns) scans most reliably. Stylized dots (rounded, dot-style, leaf-shaped) and decorative corner styles are available for branded use — they scan reliably on current phones and may fail intermittently on older devices. Test on the audience's median device before committing to a stylized pattern.
Error correction level. The default is M (15% recovery) for clean indoor use. Bump to Q (25%) for general print and H (30%) for embedded logos or outdoor deployment. See the error correction guide for the trade-off between data capacity and recovery margin.
Preview at scale. The preview shows the QR at design size. Mentally scale it to print size (3 cm for a business card, 5 cm for a brochure, 10 cm for a poster) and ask whether the brand color combination still reads clearly at that scale and lighting.
Tips
- Use high contrast between foreground and background colors (4.5:1 minimum)
- Keep logos under 15% of QR area and use error correction level H
- Stick to standard dot patterns for maximum scan reliability
- Preview the QR at the intended print size, not just the design size
Step 4: Pick the right export format
Export your QR as PNG, SVG, or PDF based on the deployment.
PNG (raster). Best for digital use — websites, social media, screen display, presentations. The generator exports PNG at high resolution (up to 4096 × 4096); for fixed-size print, PNG at 300 DPI is sufficient. PNG is included on the free tier.
SVG (vector). Best for print at variable sizes — business cards through billboards. SVG scales to any size without quality loss because the QR is described mathematically rather than as fixed pixels. Print brokers prefer SVG because it gives them full control over the print size and resolution. SVG export is included on Lite ($5/mo) and higher.
PDF (vector). Best for professional print workflows where the QR is embedded in a multi-page layout (brochure, packaging artwork, formal report). The QR ships as vector inside the PDF. PDF export is included on Lite ($5/mo) and higher.
File-naming convention. Name the file descriptively so you can find it later — companyname-vcard-qr.svg, restaurant-menu-qr-2026-q4.png. Default names like qr-code.png collide and create confusion.
Watermark policy. Our static QR exports are watermark-free at every tier including free. The QR pattern is yours — there's no vendor logo stamped on the corner or alongside the pattern. See the no-watermark QR generators guide for the broader landscape.
Step 5: Test the QR before deploying
The single most overlooked step. A QR that looks fine in the design file can fail under deployment conditions for a dozen reasons (contrast at scale, dim lighting, older phones, print substrate, lamination glare). The test catches these before the print run.
The 5-minute verification:
1. Print a single proof at production size on the production substrate. For a final batch on coated 14pt cover stock, print the proof on coated 14pt cover stock — not the office printer.
2. Scan on at least three phones: one older device (iPhone 11-era or Android 10-era), one mid-range current device, one current flagship. The mix spans the realistic audience.
3. Scan under deployment lighting. If the QR will live on a restaurant table tent, scan under restaurant-dim overhead lighting. If it's a window vinyl for a retail storefront, scan from the sidewalk at the actual storefront. Office-lighting scans can pass when restaurant-lighting scans fail.
4. Scan from the actual distance. Business cards: 20 cm. Table tents: 40 cm. Posters: 1–2 m. Window vinyl: 1–3 m. Test from real distance, not the digital-zoom test.
5. Verify the destination loads correctly. Open the URL in the browser the scanner opens; confirm the page renders correctly on mobile, loads quickly, and supports the intended action (form submission, contact save, network join).
6. Test on a clean device. A phone that has already joined the network, saved the contact, or visited the URL may scan successfully even when the QR encodes bad data. Forget the network, delete the contact, clear the browser cache before testing.
For dynamic QRs at scale, also run the cancellation verification test before printing 50+ pieces. The verification protocol is described in the linked guide.
Step 6: Deploy and monitor
Once the QR passes the verification tests, deploy.
For static QRs: paste the QR image into your design file (or hand the SVG to a print broker), print, deploy. Static codes have no ongoing maintenance — they work forever with no subscription requirement.
For dynamic QRs: the QR is live the moment you generate it. The dashboard shows scan counts in real time once scans start coming in. Monitor the analytics for the first 7–14 days to confirm the QR is being scanned at the expected rate; surprisingly low scan counts often indicate a placement, sizing, or CTA-text problem worth investigating.
For multi-location or multi-campaign deployments: assign clear naming conventions in the dashboard so you can attribute scans to specific placements. Menu-Main-Location-1, Menu-Main-Location-2 is more useful than QR-1, QR-2.
For deployments that will outlive the current subscription: verify the vendor's cancellation policy. We keep dynamic codes redirecting indefinitely after cancellation; some vendors (Flowcode at 30 days, QR Code Generator immediately) deactivate. Verify in writing before the print commitment. See the verify codes survive cancellation guide.
Refresh and replacement. Printed QRs degrade physically over time — lamination wear, UV fading, print abrasion. Plan a replacement cycle: table tents 12–18 months, shelf tags 6–12 months, window vinyl 12–36 months (with exterior-grade lamination), packaging on the natural inventory cycle.
Common mistakes to avoid
Patterns we see repeatedly:
Generating the QR without picking the right content type. A URL QR pointing at instagram.com/yourbrand triggers a browser open; an Instagram QR triggers the app deep-link. Different scanner experience. Pick the type that matches the destination action.
Customizing colors below the contrast threshold. Pastels and trendy mid-grays look great in the design file and fail on older phones in dim lighting. Stay above 4.5:1 contrast.
Skipping the pre-print test. A QR that looks fine on screen can fail when printed on the wrong substrate at the wrong size in the wrong lighting. Always print one proof, scan-test, and confirm before authorizing the batch.
Using PNG for variable-size print. A PNG exported at 1024 × 1024 pixels prints crisply at 5 cm but pixelates at 30 cm. For variable-size print, use SVG. For fixed-size print, PNG at 300 DPI is sufficient.
Picking dynamic when static is enough. A QR pointing at your homepage doesn't need dynamic editing or scan analytics — static is free and reliable. Reserve dynamic for cases where the destination URL changes or analytics drive a decision.
Picking static when dynamic is the right architecture. A restaurant menu QR pointing at restaurant.com/menu-january-2026 is brittle — the URL changes with the menu update and every printed table tent goes dead. Use dynamic for any URL that might change.
Forgetting the CTA label. A QR with no adjacent text label converts at half the rate of one labeled "Scan to view menu" or "Scan to join WiFi." The label clarifies intent.
Embedding logos at the wrong size or error correction level. Logos above 15% of code area or at error correction below H break the scan. Stay within the size cap and bump to H.
Quick Tips
- Always scan your QR code on multiple phones before printing
- Shorter URLs produce simpler patterns that scan reliably at small sizes
- Print at minimum 2 cm × 2 cm for close-range scanning
- Add a call-to-action like "Scan to view menu" or "Scan for details" near the code
- Use dynamic QR codes if you need to change the destination later ($5/mo Lite plan)
- Export as SVG or PDF for print materials; PNG at 300 DPI for fixed sizes
- Use error correction level Q for general print, H for embedded logos or outdoor
- Verify dynamic-QR vendor cancellation policy before printing at scale
Frequently Asked Questions
Is it free to create a QR code?
Yes for static QR codes. The free tier covers unlimited static QRs with custom colors, logo embed, and PNG export — no signup or credit card required. Dynamic codes (with editable destinations and scan analytics) start at $5/mo on the Lite plan. See the [free plan walkthrough](/blog/ezqr-free-plan-honest-walkthrough) for the full feature breakdown.
Do I need an account to create a QR code?
No, not for static QRs. Open the [homepage](/), generate the QR, download — no signup gate. An account is only needed for dynamic codes (editing and analytics) or for SVG/PDF export. The static-QR flow is intentionally signup-free.
What file format should I download?
PNG for digital use (websites, social media, screen display) at any size up to 4096 × 4096. SVG for print at variable sizes (business cards through billboards) — vector scales without quality loss. PDF for embedded use in multi-page print layouts. PNG is on the free tier; SVG and PDF require Lite ($5/mo) or higher.
Can I add my logo to the QR code?
Yes. Upload your logo file; the generator embeds it in the center at under 15% of code area and bumps error correction to level H so the embedded logo doesn't break the scan. The full feature is included on the free tier — no upgrade required. See the [add logo to QR code guide](/blog/how-to-add-logo-to-qr-code).
How long does it take to create a QR code?
Under 60 seconds for a standard URL QR. Pick the type, paste the URL, customize colors and logo if desired, download. Allow 90 seconds for a vCard QR (more fields to fill) or 2 minutes for a WiFi QR (network credentials need verification before encoding).
What size should I make my QR code?
Apply the 10:1 rule: code width = scanning distance / 10. Business cards: 2 cm minimum. Table tents: 3–4 cm. Posters: 10–15 cm. Window vinyl: 5–15 cm. Add a 1.5–2× safety margin for older phones and dim lighting. See the [QR code size guide](/guides/qr-code-size-guide) for the full per-use-case sizing table.
More Guides
QR Code Not Working? How to Fix Common Issues
QR code not scanning or leading to a dead page? Diagnose the failure in 5 minutes — contrast, size, quiet zone, URL, vendor cancellation, lamination wear, UV degradation. Step-by-step troubleshooting with real fixes.
Dynamic vs Static QR Codes: What Is the Difference?
The full trade-off between dynamic and static QR codes in 2026. How each one works under the hood, when each is the right pick, the pricing landscape, and the vendor cancellation trap that kills printed dynamic codes.
QR Code Best Practices for Print and Digital
The complete QR code best practices for print and digital in 2026. Design, size, contrast, error correction, lamination, placement, CTAs, dynamic vs static, vendor selection, and pre-print verification.
Related Articles
9 Best Free Online QR Code Generators & Apps in 2026 (Tested)
Best free online QR code generator tools and apps compared by pricing, features, security, and code survival after cancellation. We tested 9 — see which are actually free.
7 Best Custom QR Code Generators (Tested 2026)
We tested 7 custom QR code generators on color, logo, shape, and export quality. Honest verdicts on which let you actually design freely and which paywall the good stuff.
QR Code Colors: What Works, What Breaks Scans (Tested 2026)
Not every color combination scans. We tested 24 QR codes across safe, brand-accent, and risky color pairs on four phones. Here are the contrast rules, the colors to use, and the combos that quietly fail.
EZQR's Free Plan: An Honest Walkthrough of What You Get (and What You Don't)
An honest walkthrough of EZQR's free tier in 2026. What's actually free (unlimited static codes, custom colors, logo embed), what's gated (analytics, dynamic codes), and how we can afford to give it away without a watermark or signup gate.
How to Add a Logo to Your QR Code
Add your logo to a QR code while keeping it scannable. Error correction, sizing rules, and step-by-step guide.
Related Industries
Restaurant QR Codes for Menus, WiFi & Reviews
Create QR codes for restaurant menus, WiFi access, and Google reviews. Update menus without reprinting. Free static codes, dynamic from $5/mo.
Free Event Management QR Codes — Tickets, Check-in & Schedules
Free QR codes for event management — tickets, attendee check-in, live schedules, WiFi, session feedback. Cut check-in lines and handle last-minute changes.
Retail QR Codes for Products & Packaging
Create QR codes for retail product packaging, loyalty programs, and digital coupons. Bridge in-store and online shopping. Free static codes available.
Related Tools
Written by
The EZQR editorial team writes practical guides on QR code strategy, print workflows, and how small businesses use scan-based technology. Posts are fact-checked against the ISO/IEC 18004 standard and updated when specs or market conditions change.
Ready to create your QR code?
Free, no watermarks. Generate and download in seconds.
Generate Free QR Code