Generate QR codes from text or URLs instantly. Free online QR code maker — no signup, no watermarks.
Generate customizable QR codes with optional logo overlay.
Type something to preview
QR code updates live as you type
Drop a logo image or click to browse
Generate QR codes from URLs, plain text, contact cards (vCard), Wi-Fi credentials, or arbitrary payloads — all in your browser. Choose the size in pixels, set the foreground and background colors, pick the error-correction level (L, M, Q, or H), and optionally embed a small center logo. Output is a high-resolution PNG you can drop into business cards, packaging, posters, restaurant menus, and event tickets without a watermark or attribution. The encoder uses the standard ISO/IEC 18004 specification, so the resulting codes scan with any phone camera or QR-reader app, including legacy devices.
Generate QR codes whenever you want to bridge offline-to-online — print materials, in-store signage, event check-ins, restaurant menus, contact-info handouts. For dynamic links that may change after printing (campaign URLs, evolving pages), build the QR over a redirect on a domain you control, so you can change the destination without reprinting. For very dense data (long URLs, long contact cards), use higher error-correction sparingly: every level up makes the code denser and harder to scan from a distance or at small print sizes.
Pick the QR payload type
URL, plain text, vCard contact, Wi-Fi join, or email/SMS prefill. The encoder formats the payload to the standard each app recognizes.
Customize size and colors
Set the output pixel size — 512×512 is a safe default. Pick foreground and background colors with high contrast. Avoid low-contrast combinations like blue on black.
Pick error-correction level
L for short URLs (best scan range), M for general use, Q if you'll add a logo, H for outdoor or partially-obscured codes. Higher levels produce denser, harder-to-scan codes when miniaturized.
Download the PNG
Save the QR as a PNG. Test by scanning with at least two different phone cameras (iOS and Android) before printing or publishing.
Your images are processed entirely in your browser. They are never uploaded to any server. Once you close the tab, all data is gone. No tracking, no storage, no cookies for your files.
The QR image itself never expires. The destination URL it encodes can change or 404, which makes it look like the code expired. Build QRs that point at a redirect you control if you might need to update the destination later.
QR codes can hold around 4,300 alphanumeric characters at the largest version with the lowest error correction, but practical scanning gets unreliable past 200-300 characters. Shorter is always better.
Yes. Use the optional center-logo upload, and bump error-correction to Q or H so the obscured center is recoverable.
No. The codes generated here are static — they encode whatever URL or data you provide. To track scans, point your QR at a URL on your own server or a link-shortening service that tracks for you.
L for short URLs in clean-print scenarios, M for most uses, Q if you embed a logo, H for outdoor signage or codes that may be partially damaged. Higher levels reduce the data density of the code.