Step 1 - Choose Your QR Code Type
The first thing you'll see at the top of the Vexifa QR Code generator is the type selector - a scrollable list of all available QR code formats. With 23+ types supported, it covers virtually every use case you're likely to encounter.
The types are organized into logical categories:
- Basic: URL, Plain Text, Phone Number, SMS, Email
- Networking: Wi-Fi
- Contact: vCard (digital business card), WhatsApp
- Business: PDF, Social Media profile links, App Store / Google Play links
- Payment: Cryptocurrency (Bitcoin, Ethereum, and others)
- Events: Calendar event (iCal format)
Tip: If you're ever unsure which type to use, go with URL. It's the most universally scannable format and gives you the most flexibility - host your content (a PDF, a menu, a contact page, a form) on any website and paste the link into the URL field. This also means you can update the destination later by changing the page, rather than reprinting the QR code.
Step 2 - Enter Your Data
Once you've selected a type, the input panel below the selector updates to show the relevant fields for that type. Fill them in and the QR code preview on the right side of the screen updates in real time - there's no "Generate" button to click.
URL
Paste your full URL into the field, including the protocol prefix. For example: https://yourwebsite.com/menu. If you omit https://, many QR scanners will still resolve it, but it's best practice to include it for reliability across all devices and apps.
Wi-Fi
Enter three pieces of information: the network name (SSID) exactly as it appears in your Wi-Fi settings, the password, and the security type. For most modern routers, the security type is WPA/WPA2. Selecting the wrong security type is the most common reason a Wi-Fi QR code fails to connect, so double-check this against your router's settings page if needed. For open (password-free) networks, select "None."
vCard
The vCard type generates a QR code that, when scanned, prompts the user to save a new contact to their phone. Fill in the fields you want to share: name, phone number, email address, company name, job title, and website. You don't have to fill in every field - only include the information you're comfortable sharing publicly. The resulting QR code encodes all of that data into the standard vCard 3.0 format that both iOS and Android can read natively.
Other Types
Every other type follows the same pattern: the generator shows you exactly the fields it needs, you fill them in, and the preview updates instantly. The SMS type asks for a phone number and an optional pre-filled message body. The Email type asks for a recipient address, subject line, and optional body. The Calendar type asks for an event title, location, start time, end time, and description. None of these require technical knowledge - just fill in the blanks.
Step 3 - Customize the Design
Vexifa QR Code gives you full control over the visual appearance of your QR code. The customization panel sits below the data input fields and contains several controls.
Foreground Color
This is the color of the dark modules - the filled squares that make up the QR code pattern. Click the color swatch to open a color picker and choose any color you like. The most important rule: keep sufficient contrast between the foreground and background. A luminance contrast ratio of at least 3:1 is the bare minimum for reliable scanning; aim for 4.5:1 or higher if the QR code will be printed small (under 1.5 inches). Black on white remains the most reliable combination in any lighting condition.
You can absolutely use brand colors for the foreground - dark navy, forest green, deep burgundy - as long as they stay dark enough relative to the background. Avoid medium-toned colors like mid-grey, olive, or muted pastels, which may scan inconsistently under poor lighting.
Background Color
The background is typically white, which is the default. You can change it to match a brand palette - for example, a cream or light grey background can look more polished in certain designs. Avoid transparent backgrounds if your QR code will be printed: the print substrate color becomes the effective background, which may not provide enough contrast. If you're embedding the QR code into a design file, set the background to the exact color of the area it will sit on.
Module Size / QR Size
This slider controls the overall size of the rendered QR code. A larger module size means larger individual squares within the code, which makes it more scan-friendly at distance or in low-light environments. For codes that will be viewed on a screen (e.g., displayed on a TV or monitor), larger sizes are especially important. For codes that will be printed at a fixed size (business cards, flyers), the module size primarily affects the download resolution - set it larger if you need a sharper image.
Error Correction Level
Error correction determines how much of the QR code can be damaged, obscured, or covered while still scanning successfully. There are four levels:
- L (Low) - 7% recovery: The smallest data footprint, resulting in a simpler QR pattern. Use this only when you know the code will always be in pristine condition and never obscured.
- M (Medium) - 15% recovery: A good general-purpose default for codes that will be printed on clean surfaces.
- Q (Quartile) - 25% recovery: Useful when the code may experience moderate wear - product packaging, outdoor signage, wristbands.
- H (High) - 30% recovery: Required when embedding a logo in the center of the QR code. The logo physically covers part of the pattern, and Level H ensures the scanner can reconstruct the missing data. Vexifa automatically upgrades to Level H when you upload a logo.
A higher error correction level produces a denser, more complex QR pattern. This is a worthwhile trade-off in most real-world use cases, but if you need the absolute simplest pattern (for very small print sizes), stick with Level L or M and skip the logo.
Frame Style
Vexifa offers several decorative frame options that add a border around the QR code. Some frames are purely aesthetic; others include a built-in label such as "Scan Me" or "Scan Here." Frames can make a QR code look more intentional and inviting when placed on a flyer or business card, and the call-to-action label text can improve scan rates by signaling to first-time users what they're supposed to do with it. Select "None" if you want a clean, frameless code.
Step 4 - Add a Logo (Optional)
Embedding your logo in the center of a QR code is one of the most effective ways to reinforce brand recognition and make the code look intentional rather than generic. Vexifa makes this straightforward.
Uploading Your Logo
Click the Upload Logo button in the customization panel and select a PNG or JPG file from your device. PNG with a transparent background is strongly recommended - it blends seamlessly with any background color you've chosen for the QR code. A JPG with a white background will show a white square around the logo, which may look unintentional if your QR code background is a different color.
For best results, crop your logo to a square or near-square aspect ratio before uploading. Tall or wide logos will be letterboxed, which reduces the effective logo size within the center area.
Automatic Error Correction Upgrade
As soon as Vexifa detects an uploaded logo, it automatically sets the error correction level to Level H (30%). This is non-negotiable from a technical standpoint - the logo covers a portion of the QR code's data modules, and without high error correction, the code will fail to scan. You'll see this change reflected in the error correction control; you can still manually change it back, but if the logo covers more than a few modules, the code will likely break.
Logo Size
A logo size slider lets you control how much of the QR code area the logo occupies. Keep the logo under 30% of the total code area. Even with Level H error correction, covering more than roughly 30% of the modules exceeds the recovery capacity of the standard and will cause scan failures. A logo occupying 20-25% of the area is a practical sweet spot - visible enough to be meaningful, small enough to be reliable.
Always test-scan the preview on screen before downloading and sending to print. Point your phone's camera at the preview and confirm it resolves correctly. If your QR code app struggles, reduce the logo size or simplify the data being encoded (for example, shorten a long URL).
Step 5 - Preview Your QR Code
The live preview panel on the right side of the generator shows exactly what your QR code will look like, including all customizations - colors, frame, and logo. This preview is rendered in real time and is a faithful representation of what you'll receive when you download.
Before you download, take a moment to scan the preview directly off your screen. Open your phone's native camera app (or a dedicated QR scanner app) and point it at the QR code displayed in the browser. If it scans correctly and resolves to the right destination, it will scan correctly in print. If it doesn't scan on screen, it won't scan reliably in the real world - adjust the design before downloading.
Common reasons a preview might not scan: insufficient color contrast, a logo that's too large, data that's too complex for the selected error correction level, or a module size that's too small for the screen resolution. Each of these is addressable in the customization panel.
Step 6 - Download
When you're satisfied with the preview, use the download controls to save your QR code.
PNG vs. JPG
PNG is the right choice for most use cases. It's a lossless format, meaning no quality is lost during compression, and it supports transparent backgrounds - which is essential if you plan to place the QR code on a colored background in a design file. Use PNG for digital use (websites, email, presentations) and for print files where you'll be compositing the QR code into a layout.
JPG produces a slightly smaller file size at the cost of lossy compression. The white background is baked in. Use JPG only when a downstream system specifically requires it (some older email marketing platforms or social media upload tools work better with JPG), or when file size is a hard constraint and transparent background isn't needed.
Resolution
Vexifa allows you to download at up to 1024×1024 pixels. At 300 DPI - the standard for print - 1024 pixels translates to approximately 3.4 inches (86mm). This is sufficient for most common applications: business cards (typically 3.5×2 inches), restaurant table cards, A5 flyers, and standard posters where the QR code occupies a portion of the design rather than the whole page.
If you need a QR code that will be printed very large - say, a full A4 page or larger - 1024px at 300 DPI will start to show pixelation. In that case, scale the image up using a high-quality resampling algorithm in an image editor (Photoshop's "Preserve Details 2.0" or GIMP's "Sinc" interpolation work well), or convert to SVG using a vector tracing tool. Because QR codes are composed of hard-edged geometric shapes, they trace extremely cleanly to vector format.
Step 7 - Use the Print Designer (Optional)
Once you've generated and downloaded your QR code, you have a standalone image file ready to use anywhere. But if you want to go further without switching to separate design software, Vexifa includes a built-in Print Designer accessible directly from the generator interface.
Click Design Print Template in the generator to open the Print Designer. It gives you a set of ready-made templates - business cards, event flyers, table tents, posters - into which your QR code is automatically placed. You can add text, adjust layout, and download a print-ready file, all in the browser without creating an account.
For a complete walkthrough of every Print Designer feature, see the dedicated tutorial: How to Use the Vexifa Print Designer: Flyers, Business Cards & More.
Tips & Common Mistakes
Don't shorten already-short URLs
URL shorteners (bit.ly, tinyurl, etc.) are sometimes used to make QR code data smaller and therefore the QR pattern simpler. But if your URL is already reasonably short - under 100 characters - there's no meaningful benefit, and you're adding a dependency on a third-party service. If that service ever goes down, changes its redirect behavior, or discontinues a link, your QR code stops working. Use the full canonical URL whenever possible.
Always test at the intended final print size
A QR code that scans fine at 3 inches may not scan reliably at 0.75 inches. Before committing to a large print run, print a single test page at the exact intended dimensions and test-scan it under realistic conditions - the lighting in the room where it will be used, at the distance a typical user would hold their phone. This catches contrast, size, and complexity issues before they become expensive.
Respect the quiet zone
Every QR code requires a quiet zone - a clear border of empty space around the code - for scanners to locate and orient the pattern. The QR code standard specifies a minimum of 4 modules (four times the width of one small square in the code). When you embed a QR code into a design, make sure there's adequate white (or background-colored) space around all four edges. Placing the code flush against a dark border or adjacent to other graphic elements is a frequent cause of scan failures in printed materials.
Dark on light always outperforms light on dark
The majority of QR scanners - including the native camera apps on iOS and Android - are optimized for dark modules on a light background. Inverted designs (light modules on a dark background) can work, but they are less reliably detected, particularly in poor lighting. If you need to use an inverted color scheme for design reasons, test it extensively across multiple devices and apps before using it in production.
Match error correction to the environment
Outdoor signage, packaging, and anything that will be handled or worn will accumulate wear over time. Use Level Q or H for these applications. For a QR code on a digital screen or a clean indoor print that won't be touched, Level M is perfectly adequate. Reflexively cranking to Level H "just to be safe" when there's no logo makes the code more complex than necessary, which can slightly reduce scan speed on older or lower-powered devices.
Supported QR Code Types Reference
Here is the full list of QR code types available in Vexifa, grouped by category:
Basic
- URL - Any web address; the most versatile type
- Plain Text - Raw text displayed directly to the user on scan
- Phone Number - Prompts the user's phone to dial a number
- SMS - Opens a pre-addressed text message, with optional pre-filled body
- Email - Opens a pre-addressed email with optional subject and body
Networking
- Wi-Fi - Connects the device to a network automatically (SSID, password, security type)
Contact
- vCard - Digital business card; saves name, phone, email, company, website to contacts
- WhatsApp - Opens a WhatsApp chat with a specified phone number
Business & Content
- PDF - Link to a PDF file hosted online
- Social Media - Direct link to a social media profile (Facebook, Instagram, LinkedIn, X/Twitter, TikTok, YouTube, and more)
- App Store Link - Direct link to an iOS App Store listing
- Google Play Link - Direct link to a Google Play Store listing
Payment
- Bitcoin - Encodes a Bitcoin payment request (address and optional amount)
- Ethereum - Encodes an Ethereum payment request
- Other Cryptocurrency - Supports additional cryptocurrency formats
Events
- Calendar Event - Adds an event to the user's calendar app (iCal format; title, location, start/end time, description)
Frequently Asked Questions
Is Vexifa QR Code really free?
Yes, completely. There are no paid tiers, no watermarks on downloaded files, and no feature gates. Every QR code type, every customization option, logo embedding, and high-resolution download are all available at no cost. The tool is entirely browser-based and runs client-side, so there are no server fees passed on to you.
Do I need to create an account?
No. Vexifa QR Code requires no account, no email address, and no sign-up of any kind. Open the generator, create your QR code, and download it. Nothing is stored on Vexifa's servers between sessions - your data stays in your browser.
Can I edit a QR code after downloading it?
A QR code image file (PNG or JPG) is not editable the way a document is. The data encoded in a static QR code is baked into the pattern at generation time - if you need to change the URL or other data, you'll need to generate a new QR code with the updated information and reprint it. This is one reason the URL type is so useful: rather than encoding a long, specific URL directly into the QR code, you can encode a short, stable URL (like your website's homepage or a redirect page) and update the destination page's content whenever you need to make changes, without reprinting.
What's the maximum file size I can download?
Downloads are available at up to 1024×1024 pixels. The file size of the downloaded image varies depending on the complexity of the QR code pattern and the chosen format: PNG files typically range from around 10 KB for a simple code to 60-80 KB for a complex code with a logo and high error correction. JPG files are generally smaller. There is no imposed file size limit on downloads.
Will my QR code expire?
No. Vexifa generates static QR codes - the data is encoded directly into the image pattern, and the QR code itself has no expiry date. It will continue to work as long as the destination it points to remains accessible. A QR code linking to a URL will stop working only if that URL goes offline or changes. A QR code encoding a phone number, Wi-Fi password, or vCard will work indefinitely regardless of any external service. There are no dynamic redirect links, no tracking tokens, and no expiring hosted pages involved in the generation process.