QR codes are everywhere. From restaurant menus and product packaging to business cards and event tickets, these small square patterns have become an essential tool for connecting the physical world to digital content. Whether you run a small business, organize events, or simply want to share information quickly, knowing how to create a QR code is a practical skill that takes just minutes to learn.
In this guide, we walk through every step of creating a QR code, from choosing the right type to downloading and printing it. By the end, you will have a clear understanding of how QR codes work and how to make them work for you.
What Is a QR Code?
A QR code (Quick Response code) is a two-dimensional barcode that stores information in a grid of black and white squares. Unlike traditional barcodes that can only hold a few dozen characters, QR codes can encode up to 4,296 alphanumeric characters, making them suitable for URLs, contact details, WiFi credentials, and much more.
QR codes were invented in 1994 by Denso Wave, a subsidiary of Toyota, to track vehicle parts during manufacturing. Today they are used across virtually every industry. Modern smartphones can scan QR codes natively using their built-in camera app, which means there is no barrier to entry for your audience. When someone scans a QR code, the encoded data is instantly processed, whether that means opening a website, connecting to a WiFi network, or saving a contact to their phone.
Step 1: Choose Your QR Code Type
The first step in creating a QR code is deciding what kind of information you want to encode. Different QR code types trigger different actions on the scanning device. Here are the most common types and when to use each one:
URL QR Code
The most popular type of QR code. A URL QR code encodes a website address and automatically opens it in the scanner's browser. Use this for linking to your website, a specific landing page, a product page, an online form, or any web content.
WiFi QR Code
A WiFi QR code stores your network name (SSID), password, and encryption type. When scanned, it automatically connects the device to your WiFi network without any manual typing. This is perfect for offices, hotels, restaurants, Airbnb rentals, and anywhere you share WiFi access with guests.
vCard QR Code
A vCard QR code encodes contact information including name, phone number, email, company, job title, website, and address. Scanning it prompts the user to save the contact directly to their phone's address book. This is the modern replacement for handing out paper business cards.
Text QR Code
A text QR code encodes a plain text message. The text is displayed on the scanning device without any additional action. Use this for short messages, serial numbers, instructions, or any information you want to share without requiring an internet connection.
Email QR Code
An email QR code opens the scanner's email app with a pre-filled recipient address, subject line, and message body. This makes it easy for customers or contacts to reach you. Place it on business cards, product packaging, or feedback forms.
Phone QR Code
A phone QR code encodes a phone number and triggers a call when scanned. It is useful for customer service lines, sales contacts, or emergency numbers displayed on signage.
SMS and WhatsApp QR Codes
An SMS QR code opens the messaging app with a pre-filled number and message, while a WhatsApp QR code opens a WhatsApp chat directly. Both are excellent for customer support, order inquiries, or marketing opt-ins.
UPI Payment QR Code
A UPI QR code encodes payment details for India's Unified Payments Interface, including the payee's UPI ID, name, and an optional amount. Customers can scan it to make instant payments from any UPI-enabled app like Google Pay, PhonePe, or Paytm.
Event QR Code
An event QR code encodes calendar event details such as the title, date, time, location, and description. Scanning it allows the user to add the event directly to their calendar app. Use this on event invitations, conference schedules, or promotional flyers.
Step 2: Enter Your Content
Once you have selected the right QR code type, the next step is entering the content that will be encoded. The information you need to provide depends on the type you chose. Here are some tips for getting the best results:
- For URLs: Always include the full address starting with
https://. Shorter URLs produce simpler, easier-to-scan QR codes. If your URL is very long (with tracking parameters, for example), consider using a URL shortener first. - For WiFi: Double-check the network name (SSID) and password for accuracy. A single typo means the QR code will not connect users to your network. Select the correct encryption type (WPA/WPA2 is most common).
- For vCards: Include at least a name and one contact method (phone or email). The more fields you fill in, the more useful the contact card will be, but keep in mind that more data creates a denser QR code.
- For text: Keep the message concise. QR codes can store up to about 4,000 characters, but shorter messages produce smaller, more reliable codes.
- For email and SMS: Pre-fill the subject and body to reduce friction. If the purpose of the QR code is to collect feedback, write the message template so the user just needs to hit send.
A good rule of thumb: the less data you encode, the simpler and more scannable your QR code will be. Include what is necessary and nothing more.
Step 3: Customize Your QR Code
A plain black-and-white QR code works perfectly well, but customization lets you match the code to your brand or design. There are two main customization options to consider.
Color
You can change the foreground color of your QR code to match your brand palette. Our generator offers 14 preset colors — including black, navy, teal, green, red, crimson, purple, indigo, orange, amber, pink, and slate — as well as a custom color picker for any hex value. The most important rule is to maintain strong contrast between the QR code and its background. Dark colors on a light background work best. Avoid light foreground colors (like yellow or light gray) on white, as scanners may not be able to detect the pattern.
Error Correction Level
Error correction is a built-in feature of QR codes that allows them to remain scannable even if part of the code is damaged, dirty, or obscured. There are four levels:
- Low (L) -- 7% recovery: The QR code can tolerate up to 7% damage. This produces the smallest, simplest QR code. Best for digital screens where the code will not be physically damaged.
- Medium (M) -- 15% recovery: The default level. A good balance between size and resilience. Suitable for most printed materials.
- Quartile (Q) -- 25% recovery: Higher resilience. Good for QR codes that may be partially covered or printed on textured surfaces.
- High (H) -- 30% recovery: Maximum resilience. The QR code can survive significant damage. Use this if you plan to place a logo or image over part of the QR code, or if the code will be printed in harsh environments.
Higher error correction levels make the QR code slightly more complex (more modules), so choose the level that fits your use case. For most applications, Medium (M) is the recommended default.
Step 4: Download and Test
After generating your QR code, you can download it in two formats. Each serves a different purpose:
PNG (Portable Network Graphics)
PNG is a raster image format, meaning it is made up of pixels. It is the best choice for digital use: websites, social media posts, email signatures, and screen presentations. Our generator creates high-resolution PNG files that look crisp on screens. However, if you scale a PNG up significantly for large-format printing, it may appear pixelated.
SVG (Scalable Vector Graphics)
SVG is a vector format, meaning it is defined by mathematical paths rather than pixels. It can be scaled to any size without losing quality, making it the ideal choice for print materials of any dimension. Use SVG for business cards, posters, banners, product packaging, and any physical medium. SVG files can be opened and edited in design software like Adobe Illustrator, Figma, or Inkscape.
Always test your QR code before deploying it. Scan it with at least two different devices (one iPhone, one Android) to confirm it works correctly. Check that it opens the right URL, connects to the right WiFi network, or displays the correct contact information. Test it at the size you plan to print it, and from the distance you expect people to scan it.
Static vs Dynamic QR Codes
Understanding the difference between static and dynamic QR codes is important when deciding which approach is right for your needs.
Static QR codes encode data directly into the QR pattern. The information is permanently baked into the image and cannot be changed after the code is created. Static codes do not depend on any external service, they never expire, and there are no scan limits. The QR codes generated on our free QR code generator are static. They are perfect for personal use, one-time campaigns, and situations where the content will not change.
Dynamic QR codes work differently. Instead of encoding your actual content, they encode a short redirect URL that points to a server. When someone scans the code, the server redirects them to the destination you have configured. This means you can change the destination at any time without reprinting the QR code. Dynamic QR codes also enable scan tracking, giving you data on how many times the code was scanned, when, from which locations, and on what devices.
If you need the ability to update your QR code destination after printing, or if you want analytics on scan activity, ElkQR provides dynamic QR codes with a full suite of tracking and management features, including geographic analytics, device insights, branded short links, and bulk QR generation.
QR Code Types at a Glance
Not sure which QR code type fits your situation? This comparison covers all 10 types available in our free generator.
| QR Type | What It Does | Best For | Needs Internet? |
|---|---|---|---|
| URL | Opens a website link | Marketing, product pages, landing pages | Yes |
| WiFi | Auto-connects to a WiFi network | Offices, hotels, restaurants, Airbnbs | No |
| vCard | Saves a contact to the phone | Business cards, networking events | No |
| Text | Displays a plain text message | Instructions, serial numbers, notes | No |
| Opens email with pre-filled fields | Customer support, feedback forms | No* | |
| Phone | Initiates a phone call | Service lines, emergency contacts | No |
| SMS | Opens SMS with pre-filled message | Opt-ins, quick replies, alerts | No |
| Opens a WhatsApp chat | Customer support, sales inquiries | Yes | |
| UPI | Opens a UPI payment prompt | Shops, invoices, donations (India) | Yes |
| Event | Adds event to the calendar | Invitations, conferences, meetups | No |
*Email QR codes open the device's email app offline, but sending the email requires internet.
How Long Do QR Codes Last?
One of the most common questions people have: do QR codes expire? The answer depends on the type.
Static QR codes never expire. The data is embedded directly in the image itself. There is no server involved, no subscription to maintain, and no third party that can shut it off. A static QR code you create today will work identically in 10 years. The only way it stops working is if you destroy the physical image or, in the case of URL QR codes, the destination website goes offline.
Dynamic QR codes depend on a redirect server. They work as long as the service provider keeps the redirect active. If you stop paying for the service or the provider shuts down, the redirect breaks and the QR code becomes useless. This is worth considering when choosing between static and dynamic for long-term use cases like engraved signage or permanent product labels.
All QR codes created with our free generator are static, which means they are yours forever. No account needed, no expiry, no catch.
Are QR Codes Safe?
QR codes themselves are completely safe. They are simply a way to encode text, just like a barcode at the grocery store. A QR code cannot install malware, access your camera, or steal your data by itself.
However, what a QR code links to can be malicious, just like any hyperlink. A QR code could point to a phishing website, a malware download page, or a fake login form. This is sometimes called "quishing" (QR phishing). Here are some common-sense precautions:
- Check the URL before tapping. Most phone cameras show a preview of the link before opening it. If the domain looks suspicious or unfamiliar, do not open it.
- Be cautious with public QR codes. Stickers placed over legitimate QR codes in public places are a known attack vector. If a QR code sticker looks like it was placed on top of another code, avoid scanning it.
- Do not enter credentials. If a QR code takes you to a login page you were not expecting, close it. Legitimate services rarely ask you to log in through a random QR code.
- Use your phone's built-in camera. The native camera app on iOS and Android includes safe URL previewing. Avoid third-party QR scanner apps that may contain ads or trackers.
When you create your own QR codes, you are in full control of what they link to. Our generator runs entirely in your browser, so your data is never sent to any server. The codes you generate are as safe as the content you put into them.
Best Practices for QR Codes
Follow these guidelines to ensure your QR codes are effective, scannable, and professional.
Size and Printing
- Minimum size: A QR code should be at least 2 cm x 2 cm (0.8 in x 0.8 in) for close-range scanning, such as on a business card or product label.
- Distance rule: For scanning from a distance, the QR code should be at least one-tenth the scanning distance. For example, if people will scan from 1 meter away, the code should be at least 10 cm wide.
- Quiet zone: Always leave a white border (called the quiet zone) of at least four modules around the QR code. This helps scanners identify where the code begins and ends.
- Print format: Use SVG for printing. Avoid resizing PNG files beyond their original resolution.
Contrast and Colors
- Always use a dark foreground color on a light background. The classic black-on-white combination offers the best scan reliability.
- Never invert the colors (light QR code on a dark background), as many scanners struggle with inverted codes.
- If you use a colored QR code, test it thoroughly. Avoid colors with low contrast against white, such as yellow, light green, or light gray.
Placement
- Place QR codes on flat surfaces. Curved surfaces (like bottles) can distort the code and make it harder to scan.
- Avoid placing codes near folds, seams, or edges of printed materials where part of the code might be cut off or creased.
- Add a short call-to-action near the QR code, such as "Scan to visit our menu" or "Scan for WiFi access." People are more likely to scan a code when they know what it does.
Content and Destination
- Ensure the destination page is mobile-friendly. The vast majority of QR code scans happen on smartphones.
- Use HTTPS for all URL QR codes. Browsers flag HTTP sites as insecure, which may discourage visitors.
- Keep the encoded data as short as possible. Shorter data produces less dense QR codes that scan faster and more reliably.
Common QR Code Mistakes to Avoid
Even experienced marketers make these mistakes. Here is what to watch out for:
- Not testing before printing. This is the most common and most costly mistake. Always scan your QR code on multiple devices before sending it to the printer. A broken QR code on 10,000 flyers is an expensive problem.
- Linking to non-mobile-friendly pages. If the landing page does not render properly on a phone, you will lose the user immediately. Test the destination on mobile before creating the QR code.
- Printing too small. A QR code that is too small or too dense will not scan reliably. Stick to the minimum size guidelines and test at the printed size.
- Poor contrast. A light-colored QR code on a white background, or a code placed over a busy photograph, will fail to scan. Always ensure strong contrast and a clear quiet zone.
- No call to action. A QR code without context is a mystery box. People need a reason to scan it. Add a brief label explaining what they will get.
- Using a static QR code when you need to update content. If there is any chance you will need to change the destination URL after printing, use a dynamic QR code instead of a static one. Reprinting materials is always more expensive than paying for a dynamic QR service.
- Encoding too much data. Trying to stuff a 500-word message into a QR code creates an extremely dense pattern that is difficult to scan. For large amounts of information, host the content on a webpage and use a URL QR code instead.
- Placing QR codes where there is no internet. URL QR codes require internet access to open the linked website. If your audience will be in a location without reliable connectivity (a basement, a rural area), consider using an offline QR code type like text or vCard.
Start Creating QR Codes Today
Creating a QR code does not require technical skills, design software, or a budget. With our free QR code generator, you can create a professional QR code in under a minute. Choose your type, enter your content, customize the appearance, and download it in the format you need. It is that straightforward.
For personal projects and one-off use cases, static QR codes are the perfect solution: free, permanent, and completely private since all generation happens in your browser. For businesses that need tracking, analytics, or the flexibility to update QR code destinations after printing, ElkQR offers dynamic QR codes with powerful management tools.
Whatever your use case, the best time to start is now. Head to the QR code generator and create your first code in seconds.