QR Code Generator
Create QR codes from text or URLs and download as PNG.
What is QR Code Generator?
A QR code generator is a tool that encodes text, a URL, or contact data into a square matrix of black-and-white modules that any camera-equipped device can decode in a fraction of a second. QR codes follow the ISO/IEC 18004 standard and support four data modes (numeric, alphanumeric, byte, kanji) at four error-correction levels, which determine how much of the symbol can be obscured before it stops scanning.
This QR code generator renders the symbol directly in your browser using the open-source qrcode library, so no input ever reaches a server. Marketers, product designers, and engineers use it to link physical materials, on-screen content, and offline campaigns to a digital destination without typing the URL by hand.
Why use a QR Code Generator?
- Bridge offline to online in one scan. Print a code on packaging, a poster, or a slide deck and let any phone camera open the linked URL without typed input.
- Reduce friction in checkout and onboarding. A QR code on a receipt or kiosk hands the URL to the customer’s device, where forms autofill correctly and links open in their preferred browser.
- Embed structured contact data. vCard and MeCard payloads add a contact to the address book in one tap, without copy-paste from a business card.
- Trigger payment and Wi-Fi flows. Wi-Fi credentials and payment intents can be encoded so guests connect or pay by scanning, no typing required.
- Stay private while testing. Generation runs locally in your browser, so payloads that contain UTM parameters, internal URLs, or staging links are not logged externally.
How to use the QR Code Generator
- Type or paste any text, URL, vCard, or other payload into the Text or URL input.
- Watch the QR code render in real time as you type.
- Test the symbol with your phone camera to confirm it scans cleanly.
- Click Download PNG to save the image at 256 by 256 pixels for use in print or web.
A minimal URL payload looks like:
https://example.com/promo?utm_source=posterAnd a vCard payload looks like:
BEGIN:VCARD
VERSION:3.0
FN:Ada Lovelace
ORG:Analytical Engines
TEL:+44 20 7946 0958
EMAIL:ada@example.com
URL:https://example.com
END:VCARDWhat QR codes can contain
QR codes are payload-agnostic, but device camera apps recognize a handful of well-known prefixes and offer to open them in the right system app. The encoding logic is the same; only the leading scheme tells the scanner what to do.
| Payload type | Example prefix | Behavior on scan |
|---|---|---|
| URL | https:// | Opens the link in the default browser. |
| Plain text | (none) | Displays the text and offers to copy or search. |
mailto: | Opens a draft message in the mail app. | |
| Phone | tel: | Pre-fills the dialer. |
| SMS | sms: | Opens a draft text. |
| vCard / MeCard | BEGIN:VCARD / MECARD: | Offers to add a contact. |
| Wi-Fi | WIFI:T:WPA;S:Ssid;P:Pass;; | Connects to the network. |
| Geo | geo: | Opens the location in the maps app. |
| Calendar | BEGIN:VEVENT | Adds an event to the calendar. |
Error correction levels
QR codes use Reed-Solomon error correction so a partially damaged or obscured symbol still decodes correctly. The encoder reserves a percentage of the modules for redundancy, which means higher protection at the cost of denser symbols for the same payload.
| Level | Recovery capacity | When to use |
|---|---|---|
| L (Low) | ~7% | Clean digital displays, screen captures. |
| M (Medium) | ~15% | General print, default for most QR libraries. |
| Q (Quartile) | ~25% | Print where light scuffs or partial occlusion are likely. |
| H (High) | ~30% | Symbols with a logo or graphic overlay in the center. |
This generator emits codes at medium error correction by default. For a logo overlay or print on a rough surface, regenerate with a library set to level H.
Common use cases
- Marketing teams running multi-channel campaigns. Encode landing pages with UTM parameters so scans from posters, flyers, and event banners attribute correctly in analytics.
- Product designers building offline-to-app handoffs. Print a QR code on packaging that opens the app store listing or a deep link into the installed app.
- Conference organizers handing out vCards. Encode speaker contact info on lanyards so attendees save details with one scan.
- DevOps engineers sharing Wi-Fi credentials. Post a Wi-Fi QR code in the office so visitors connect without typing a long passphrase.
- QA engineers testing camera and deep-link flows. Generate test URLs to verify the mobile app handles edge cases (long URLs, encoded characters, custom schemes).
QR Code Generator vs alternatives
| Tool | Best for | Offline | Cost | Limitations |
|---|---|---|---|---|
| Google Lens / iOS Camera | Scanning, not generating | Yes | Free | Scan-only, no generation. |
qrencode (CLI) | Scripted generation in build pipelines | Yes | Free | No live preview, requires install. |
| Online generators with branding | Custom colors, logos, analytics | No | Free / paid | Many log payloads and add tracking. |
| This QR Code Generator | Quick browser generation, no tracking | Yes (runs in browser) | Free | PNG only at 256 px; no SVG or custom styling. |
Frequently asked questions
Is the QR code generator free?
Yes. The tool runs entirely in your browser and has no usage cap. There is no account, no watermark, and no resolution limit beyond the 256-pixel default. Generated codes are yours to use in print, web, packaging, or any commercial material.
Do generated QR codes expire?
No. A QR code is an encoded payload with no server-side component. As long as the URL or text inside the code remains valid, the code keeps working. If you encode a shortened URL (bit.ly, tinyurl), the code will outlive the short link only if the provider keeps it active.
Can I track scans?
Not from the QR code itself. To track scans, encode a URL with UTM parameters (?utm_source=poster&utm_campaign=launch) and read the data in your analytics platform. Each scan opens the URL in a normal browser, so any tracking that works for clicks also works for scans.
What is the maximum amount of data a QR code can hold?
The Version 40 symbol at low error correction holds up to 7,089 numeric characters, 4,296 alphanumeric, 2,953 bytes, or 1,817 kanji. In practice, keep payloads under 300 characters: longer data produces denser symbols that struggle to scan from low-resolution cameras or small print.
Why does my QR code not scan?
The most common reasons are insufficient print size (under 2 cm square), low contrast (gray on white, dark on dark), or motion blur. Print at 2.5 cm minimum, keep the contrast at black on white, and add a quiet zone of at least four module widths around the symbol.
Can I put a logo in the center?
Yes, as long as you regenerate the code with high error correction (level H, 30 percent recovery) and keep the logo to about 20 percent of the symbol’s area. This tool emits medium error correction by default; for logo overlays, use a library that lets you set level H.
Is QR code generation safe for sensitive URLs?
Yes. The encoder runs locally in your browser using the open-source qrcode library. The text you type never leaves the tab. That said, the resulting QR code is public the moment you print or share it, so do not encode secrets that should not be photographed.
What is the difference between a static and a dynamic QR code?
A static QR code encodes the destination URL directly; changing the destination requires reprinting the code. A dynamic QR code encodes a short URL that redirects through a service you control, so you can change the destination without reprinting. This tool produces static codes. For dynamic codes, encode a short URL from a service you trust.
Related tools
- Address Generator: Generate realistic random street addresses for form testing.
- API Key Generator: Produce random API keys in hex, base62, or UUID format.
- Bcrypt Generator: Hash a password with bcrypt and a tunable cost factor.
- URL Encode / Decode: Percent-encode and decode URL components for safe transmission.
Related tools
ShotMark captures what you do here, in one click.
The traces, payloads, and tests you run by hand? ShotMark grabs the whole bug and hands it to your AI agent.