Pick a type, enter the content, and download a clean PNG QR code — generated instantly in your browser, nothing sent to a server.
Everything runs client-side — your content never touches our servers
URLs, plain text, email, phone, SMS, and WiFi — each formatted correctly under the hood.
The QR code is drawn directly in your browser the moment you click generate — no waiting on a server round-trip.
Because generation happens client-side, whatever you type — including a WiFi password — never leaves your device.
The whole appeal of a QR code is skipping the friction of typing something out by hand — a long WiFi password with mixed case and symbols, a lengthy URL, or contact details that would otherwise mean carefully retyping every character on a phone keyboard. A guest scans a code taped near the router and connects instantly instead of asking to be told the password aloud; a poster or business card carries a link straight to a menu, a portfolio, or a payment page without anyone needing to type a single character. The tradeoff is that whatever gets encoded is only as useful as the printed or displayed code staying legible — a WiFi QR code taped up in bright glare or printed too small defeats the purpose just as surely as no code at all, which is part of why size and color contrast matter more than they might first seem.
A QR (Quick Response) code is a two-dimensional barcode — instead of encoding data in a single line of varying-width bars like a traditional barcode, it packs data into a square grid of black and white modules, which lets it hold far more information in the same physical space. A phone camera or scanner reads the pattern, decodes it back into the original text string, and then acts on that string — opening it as a URL if it looks like one, offering to connect to a network if it's formatted as WiFi credentials, or simply displaying it as plain text.
Each content type this tool supports is really just a different way of formatting that underlying text string so a scanning device knows how to interpret it. A URL is encoded as-is; an email address becomes a "mailto:" link; a phone number becomes "tel:"; WiFi credentials are packed into a specific structured format (network name, password, and security type) that phones recognize and offer to auto-connect to. Selecting the right type before generating matters precisely because of this — encoding a WiFi password as plain "text" instead of the "WiFi" type will still produce a valid QR code, but a scanning phone will just display the raw string instead of offering to connect automatically.
A few common situations
Skip reciting a password character by character — guests scan and connect automatically.
Print a code on a table tent or flyer that opens a digital menu or event registration page.
Link straight to a portfolio site, LinkedIn profile, or contact card without a long URL.
Encode an email or phone number so a scan pre-fills a new message or call, ready to send.
Point customers to more information, a review page, or a promotional offer with a scan.
Bridge a printed flyer, poster, or invoice to a live web page without retyping anything.
A quick, factual look at generating a QR code
| Method | Multiple content types | Private (client-side) | Free |
|---|---|---|---|
| EkZapp QR Generator | Yes — 6 types | Yes | Yes |
| Generic single-purpose QR apps | Usually URL-only | Often server-side | Varies |
| Built-in phone WiFi share | WiFi only | Yes | Yes |
The QR code won't scan. The most frequent cause is low contrast — a light color like yellow or pale blue against white doesn't give a scanner enough contrast to lock onto the pattern reliably. Stick to dark colors like black, navy, or dark green, and make sure the displayed or printed code is large enough (at least roughly 2×2 cm when printed) to scan comfortably at arm's length.
Scanning opens the wrong thing, or just shows text. This usually means the wrong content type was selected before generating — for instance, a phone number typed under "Text" instead of "Phone Number" will display as plain text rather than offering to dial. Regenerate using the correct type from the dropdown.
The WiFi QR code doesn't connect automatically. Some older phones or non-native camera apps don't support WiFi-format QR codes at all and will only display the raw text. Confirm the exact network name (case-sensitive) and password were entered correctly, and try the phone's native camera app if a third-party scanner isn't recognizing the format.
Generate at the largest size you're likely to need rather than the smallest — a QR code can always be displayed smaller than its native resolution without losing scannability, but scaling a small code up tends to blur the fine detail scanners rely on. For anything that will be printed, err toward the 400px option even if it looks larger than necessary on screen.
Before relying on a printed or posted QR code, always test-scan it yourself with a couple of different phones first — what renders fine on a screen doesn't always print or laminate the same way, and catching a scanning issue before a hundred flyers go up saves a lot of hassle later. For a URL, double-check that "https://" is included; some scanners handle a bare domain fine, but including the full protocol avoids any ambiguity.
URLs, plain text, email addresses, phone numbers, WiFi credentials, and SMS messages — select the type from the dropdown before generating.
No. A QR code itself doesn't expire — it will keep working as long as the content it points to, such as a URL, remains valid.
Yes, use the color picker to set the foreground color before generating. Keep enough contrast against the white background so scanners can read it reliably.
Usually low contrast, a color too close to white, or the code being displayed too small on screen. Regenerate with a larger size and a dark color, or print it at a larger physical size.
No. The QR code is generated entirely in your browser — the content you type never leaves your device or gets sent to a server.
Only if you're comfortable with anyone nearby connecting to that network — scanning it grants network access directly, so treat it the same way you'd treat sharing the password aloud.
A QR code is just a fast, scannable stand-in for typing something out by hand, and picking the right content type before generating is what makes the difference between a code that just displays text and one that actually opens a link, dials a number, or connects to WiFi automatically. Because everything here runs in your browser, there's nothing to worry about in terms of your content being logged or stored anywhere. Keep contrast dark, size generous for anything printed, and always test-scan before relying on a code in the wild — those three habits cover the vast majority of scanning problems people run into.