Generate QR codes for URLs, text, WiFi, email, phone numbers and full Business Cards (vCard format). Custom colours, sizes, and instant PNG download.
This tool generates a QR code from text, a URL, or other data you enter, with options to customise the size and colours. The resulting QR code can be scanned by any smartphone camera or QR scanning app to instantly access the encoded content.
Generation happens entirely in your browser โ the content you enter is never sent to a server.
For codes that will be printed and scanned from a distance, larger sizes with higher contrast (dark code on a light background) scan more reliably. If customising colours, ensure sufficient contrast between the code and background โ low-contrast combinations can cause scanning failures, especially in poor lighting. Before printing in bulk, test-scan the generated code with a few different phones to confirm it works as expected.
QR codes encode data using a grid of black and white squares, with the pattern determined by an error-correction encoding scheme that allows the code to remain scannable even if part of it is damaged, obscured, or poorly printed โ this is why you'll sometimes see logos placed in the middle of QR codes without breaking them. The three larger squares in three corners of the code help scanning apps quickly determine the code's orientation, so it can be read correctly even if the photo is taken at a slight angle or the code itself is rotated. Understanding this built-in redundancy explains why QR codes are generally quite forgiving of minor printing imperfections, smudges, or partial obstructions โ though severe damage or very low contrast can still cause scanning to fail.
When a QR code encodes a URL, scanning it with a phone camera typically opens that URL directly in the device's default browser โ no app installation is required on most modern phones, since QR scanning is built into the camera app. For non-URL content (like plain text, contact details, or Wi-Fi credentials), the behaviour depends on the scanning app: some will display the text directly, while others may offer to perform an action based on the content type (such as adding a contact or connecting to a network). This is worth testing with the type of content you're encoding, since the experience can vary slightly between phone models and operating system versions.
It's worth understanding the difference between the QR code this tool generates and "dynamic" QR codes offered by some specialised services. A QR code generated here directly encodes whatever content you enter โ if it's a URL, that exact URL is embedded in the code permanently, and the code will always point to that URL. Some commercial services instead generate a QR code that points to a redirect link they control, allowing the destination to be changed later without reprinting the code โ but this also means the QR code depends on that service remaining operational. The QR codes generated here have no such dependency: once generated, they work independently and indefinitely, with no third-party service involved in scanning them.
If you want to verify what a QR code (yours or someone else's) actually encodes before scanning it with your phone, our QR Code Reader can decode and display the content of any QR code from an image.
URLs, plain text, and other data that QR codes can represent, depending on the input options provided.
Yes, foreground and background colours can be customised, though maintaining good contrast is important for reliable scanning.
Larger sizes scan more reliably from a distance. For close-up scanning (like on a business card), smaller sizes work, but test-scanning before bulk printing is recommended.
A QR code generated this way directly encodes the content you entered โ it doesn't expire on its own. If it links to a URL, the code remains scannable as long as that URL exists.
No, the QR code is generated entirely within your browser.