QR Code Generator
On this page
What is an online QR code generator?
A QR code generator is a tool that takes whatever data you give it and encodes it into a scannable image. The image itself is nothing exotic. It is a grid of black and white squares with a specific pattern the camera can read. What matters is the data inside.
This tool covers many types of QR codes formats:
- URL: any website link, social media links, domain links, product links, event links, etc.
- Plain text: a message, coupon code, anything you want typed into someone’s phone
- E-mail: a
mailto:link that pre-fills recipient, subject, and body for any email service like gmail, outlook, yahoo, protonmail or your own hosted email. - Phone: a
tel:link that opens the dialer with a number ready to call - SMS: a pre-written text message ready to send, also work with google RCS message.
- WhatsApp: a
wa.melink that opens a WhatsApp chat along with pre-written message. - vCard: a full contact entry that saves directly to the phone’s contacts.
- Wi-Fi: network credentials that let someone join without typing a password.
- Bitcoin: a BIP-21 payment request with address, optional amount, and label.
All processing runs in your browser. Nothing you enter is sent to a server, stored, or logged anywhere.
How to create a QR code
- Choose a type: click one of the nine tabs at the top of the widget (URL, Text, E-mail, Phone, SMS, WhatsApp, vCard, Wi-Fi, Bitcoin).
- Enter your data: fill in the fields. The QR code generates and updates automatically as you type.
- Customize the colors: pick from the preset swatches or enter any hex value for the QR pattern and background.
- Set the size and format: choose the output size (128px to 1600px) and format (PNG, WEBP, or SVG). SVG for print, PNG for everything else.
- Download or copy: click Download to save the file, or the copy button to paste the image directly into another app.
That is the whole workflow. Under a minute from start to download.
QR code types explained
URL QR codes
This is the most common type. You paste a URL and the QR encodes it. When someone scans, their phone opens that page in a browser.
Works with any URL. Restaurant menus, product packaging, event posters, business card portfolios, print ads with a landing page. This is the default choice when you just need to get someone to a webpage.
One practical note: longer URLs create denser patterns that need better lighting and steadier scanning. If your URL runs more than 100 characters, shorten it first with Bitly or Short.io. Shorter string, cleaner pattern, fewer scanning failures.
Text QR codes
This encodes a plain text string. The phone decodes it and displays the text directly, without opening a browser or any app. No link, no redirect.
Useful for: coupon codes, table reservation confirmations, short instructions that do not live on a URL, temporary passcodes, or anything where you want the reader to see text without navigating anywhere.
Email QR codes
This generates a mailto: URI with the recipient address, subject line, and message body pre-filled. When someone scans it, their default email app opens a new draft ready to send.
Most useful at events, on business cards, or in physical spaces where you want someone to be able to reach you in one scan without manually typing your address, the subject, or an intro line.
Phone QR codes
Encodes a tel: number. Scanning opens the phone’s dialer with the number already entered. One more tap to call.
Straightforward use case: business cards, flyers, service ads, restaurant tables. Anywhere a phone number is displayed and calling it is the likely action.
SMS QR codes
Similar to phone, but opens a text message draft instead of the dialer. You can pre-fill the number and the message body. The person just taps Send.
Good for: appointment reminders with a pre-written confirmation reply, customer support shortcut on packaging, simple call-to-action on print materials where a text response is easier than a call.
WhatsApp QR codes
Encodes a wa.me link that opens a WhatsApp chat with a specific number, with an optional pre-written message. No need to save the number as a contact first.
Relevant if WhatsApp is your primary customer or support channel. Common in regions where WhatsApp is the default communication app, and useful for any business that receives most of its inquiries there.
vCard QR codes
This one encodes a full contact entry in the VCF format. Scanning it prompts the phone to save the contact: name, phone numbers, email addresses, company, job title, website, LinkedIn, postal address, birthday, and a note if you want one.
It is the cleanest way to hand someone your contact details at a conference, on a business card, or in an email footer. No typing, no spelling the name out, no “I’ll look you up on LinkedIn later” that never happens. The contact saves in one tap.
For a complete breakdown of the vCard format and which fields map to what, see the vCard QR Code Generator page.
Wi-Fi QR codes
Encodes your network name (SSID), password, and security type. When someone scans it, the phone prompts them to join. They tap Connect and they are on. No reading out a 16-character password.
Works natively on iPhone (iOS 11+) through the built-in Camera app. Works on Android 10+ through Camera or Google Lens. No third-party scanner app needed.
Useful anywhere guests need network access: cafés, hotels, Airbnbs, event venues, office meeting rooms, co-working spaces. A printed sign is the standard format. You generate once, laminate it, and it keeps working until the password changes.
One thing worth stating clearly: the password is not encrypted inside the QR. It is just encoded in the WIFI string format. Anyone who scans it or decodes it with a reader can read the password. Do not post a photo of it publicly if you do not want the password shared. For public-facing QR codes, use a separate guest network.
Bitcoin QR codes
Encodes a BIP-21 payment URI: bitcoin:<address>?amount=<BTC>&label=<text>. When a Bitcoin wallet scans it, the recipient address and amount fill in automatically.
Bitcoin addresses are 26 to 62 characters of mixed letters and numbers depending on the format. One wrong character sends funds to the wrong place and Bitcoin transactions do not reverse. The QR code sidesteps the typing problem completely.
Used by merchants accepting in-person payments, freelancers and creators putting a donation address on a page or video, and developers testing payment integrations. For the full technical breakdown, see the Bitcoin QR Code Generator page.
How the customization options work
Colors
Pick any color for the QR pattern and background. The presets cover the most common choices. The custom color picker takes any hex value.
One constraint that matters for reliable scanning: the pattern must be darker than the background. Black on white is the safest option and works in all lighting conditions. Custom colors work, but test them. Very dark backgrounds with slightly-less-dark patterns fail in dim lighting. Light-on-dark codes are riskier on older camera apps. If you are using a branded color, keep the pattern dark and the background light.
Size
PNG and WEBP outputs go from 128px to 1600px. SVG has no size setting because it is vector and scales without any quality loss.
General guidance on what to choose:
- Web use, email, slide decks: 256px to 300px
- Business cards, small print: 300px to 512px
- Flyers, posters, standard print materials: 512px
- Large-format signage, banners: SVG
Format
PNG is lossless and the most universally compatible format. It handles both screen and most print uses.
WEBP is also lossless (at the quality setting this tool uses) and smaller in file size. Useful when page load weight matters.
SVG is vector. Use it for anything that needs to scale to a physical size without pixelation. A QR code that needs to look sharp at 20cm on a printed sign needs SVG, not a 512px PNG.
Do not use JPEG for QR codes. JPEG compression blurs the edges of the pattern and is one of the most reliable ways to create a code that looks fine on screen and fails on a scanner.
Error correction
The tool picks error correction automatically based on how much data you are encoding:
- Short data under 100 characters: Level Q (25% damage tolerance)
- Medium data, 100 to 500 characters: Level M (15% damage tolerance)
- Long data over 500 characters: Level L (7% damage tolerance, to keep the pattern scannable)
You do not need to set this manually. The tool picks the best level for the data length.
Static QR codes vs dynamic QR codes
This tool generates static QR codes. The data is encoded directly into the pattern at generation time. Once you download it, the encoded content is fixed. If the URL changes, or you made a typo, you generate a new code.
Dynamic QR codes work differently. They encode a short redirect URL hosted by a paid third-party service. You can change the destination through that service’s dashboard without reprinting. Dynamic codes also usually include scan analytics.
For most personal and small-business uses, static codes are fine. You know what you want to encode, you do not need to change it, and you do not need scan analytics.
If you need the destination to change after printing, the practical workaround is to create a custom short link on a service like Bitly, Short.io, or Dub.co first, then encode that short link here. You can update where the short link redirects without changing the QR code or reprinting anything. Effectively the same result as a dynamic code, no subscription required.
What size to use for printing
This is the question most people get wrong once, usually by choosing too small.
The minimum practical printed size is around 25mm x 25mm. At that size, modern phones scan cleanly from about 20 to 30cm. Go smaller than 20mm and you will start seeing failures on older phones and in anything less than ideal lighting.
The general rule for larger distances: the code should be at least 1/10th the distance from which someone will scan it. If the sign is 2 meters away, the code should be at least 20cm. If it is on a table at arm’s length (50cm), 5cm to 8cm is fine.
For printed materials, always export SVG and let the designer or print service set the physical size. SVG stays sharp at any scale. A 512px PNG looks fine at 5cm wide and terrible at 20cm wide.
Before you print anything
Scan the code yourself first. Generate it, download it, then open your phone camera and scan the file on your screen. Confirm it does what you expect: opens the right URL, shows the right contact fields, prompts to join the right network.
This takes ten seconds and catches typos, wrong URLs, and the occasional encoding issue before they become a batch of printed materials with broken codes.
Related tools
This tool covers all nine QR types in one place. If you need more detail on any specific type, each has its own dedicated generator with a full explanation:
- URL QR Code Generator - turn any website link into a QR code, with notes on static vs dynamic, URL length, and error correction
- vCard QR Code Generator - share your full contact details with one scan
- Wi-Fi QR Code Generator - let guests join your network without typing the password
- Email QR Code Generator - pre-fill a draft email for the person scanning
- Phone QR Code Generator - open a phone dialer with a number ready to call
- SMS QR Code Generator - send a pre-written text message from a QR scan
- WhatsApp QR Code Generator - open a WhatsApp chat directly from a scan
- Bitcoin QR Code Generator - create a BIP-21 payment request for any Bitcoin wallet
- Text QR Code Generator - encode any plain text without a URL
- QR Code Scanner - decode any QR code in your browser using your camera
Frequently Asked Questions (FAQ)
Is my data sent to any server?
No. All encoding happens in your browser. No input is transmitted anywhere. Your URLs, passwords, contact details, and Bitcoin addresses stay on your device.
Can I generate QR codes without creating an account?
Yes. There is no account, no signup, no email required. Open the tool, generate the code, download it.
How many QR codes can I generate?
There is no limit. Generate as many as you need.
What is the difference between PNG, WEBP, and SVG?
PNG is lossless and works everywhere. Use it for web, email, documents, and standard print jobs. WEBP is also lossless (at the setting this tool uses) and produces smaller files. Use it when file size matters for digital use. SVG is vector and scales without quality loss. Use it for any printed material where the image will be resized to a specific physical dimension.
What size should I use for printing?
512px PNG for invoices, business cards, and standard print materials. SVG for anything that will be scaled to a specific physical size: posters, banners, signage, or any material where pixel dimensions are irrelevant and physical clarity is what matters.
Why does my printed QR code not scan?
Four common causes: the code was printed too small (under 20mm), contrast between the QR and background is too low, a JPEG export was used and compression softened the edges, or there is a typo in the encoded data and the destination does not exist. Print at 300px or larger, keep the pattern dark on a light background, use PNG or SVG, and always scan the code before printing.
Can I customize the colors and still scan reliably?
Yes, with one rule: keep the pattern darker than the background. Dark blue on white and dark green on light mint both work fine. Light grey on white will fail. Before using a custom color scheme in print, scan the code on your phone in a few different lighting conditions.
Do QR codes expire?
Static QR codes do not expire. The encoded data is in the image, not on a server. A URL QR code stops working if the destination URL goes offline or the domain expires, but the QR code itself is still valid.
What QR type should I use for a restaurant menu?
URL. Encode the link to your online menu. The menu can be updated anytime without reprinting the code. If you want the flexibility to change the destination page later, use a short link (Bitly, Short.io) and encode that here instead of the direct URL.
Can I add a logo to the QR code?
Logo embedding is not currently supported in this tool. You can use High error correction (this tool picks it automatically for short data) and overlay a logo in an image editor after exporting, as long as the logo does not obscure more than about 25-30% of the pattern.
What is error correction and why does it matter?
QR codes have a built-in mechanism that lets them scan even when part of the pattern is damaged, obscured, or dirty. There are four levels: L (7% damage tolerance), M (15%), Q (25%), H (30%). This tool picks the level automatically based on data length. Short inputs get Q for extra reliability. Long inputs get L so the pattern does not become too dense to scan cleanly.
What is the difference between a static and dynamic QR code?
A static QR code encodes the data directly. The content is fixed and cannot be changed after generation. A dynamic QR code encodes a redirect URL hosted by a third-party service. The redirect destination can be updated through that service’s dashboard, and scan analytics are available. Dynamic codes require a paid subscription. For most use cases, a static code with a custom short link achieves the same flexibility without the ongoing cost.
Can I use this tool on mobile?
Yes. The tool works in any modern mobile browser. You can generate, preview, and download QR codes directly from a phone or tablet.
Author
Abhishek
Software Engineer & Privacy Advocate
Abhishek is a software engineer and privacy advocate specializing in building fast, secure, and client-side utility applications. He focuses on creating browser-based tools that keep user data local and private.