QR Code Generator
Generate QR codes from text, URLs, or other content. Customize and download your QR codes.
Enter text or URL to encode in QR code
For websites, include the full URL (https://...). For contact information, consider using vCard format.
Size (pixels):
Background Color:
#FFFFFF
Foreground Color:
#000000
Error Correction Level:
Margin:
Format:
QR code will appear here
How to use QR Code Generator
- 1
Enter your content
Type or paste the text or URL you want to encode into the QR code field.
- 2
Customize the design
Set the size, foreground and background colors, margin, and error correction level to match your needs.
- 3
Generate the code
Click Generate QR Code to instantly render a scannable code in the preview area.
- 4
Download or copy
Choose PNG, SVG, or JPEG and use Download QR Code, or Copy to Clipboard for raster formats.
QR Codes Explained: From Encoding to Print
What a QR code is and where it came from
A QR code, short for Quick Response code, is a two-dimensional barcode that stores data in a grid of black and white squares called modules. Unlike a traditional one-dimensional barcode that holds only a number, a QR code packs information both horizontally and vertically, letting it store far more data and be read from any angle. It was invented in 1994 by Masahiro Hara at the Japanese company Denso Wave, originally to track automotive parts on the assembly line, and it has since become the universal bridge between printed material and the digital world.
The distinctive three large squares in the corners are finder patterns; they let a scanner locate and orient the code instantly, which is why a QR code can be read upside down or at a slant. The rest of the grid encodes your data plus error-correction information, all generated automatically when you enter your content.
What you can encode
A QR code is just a container for text, so it can hold anything that can be expressed as a string. The most common use is a URL, which opens a website when scanned. But the same mechanism encodes plain messages, and by following specific text formats it can encode structured data too: Wi-Fi network credentials so a guest can join without typing a password, a vCard or MeCard for contact details that drop straight into an address book, an email address, a phone number, or a calendar event. The scanner recognizes the format and offers the appropriate action.
This generator encodes whatever text or URL you provide. To create a Wi-Fi or contact code, you supply the content in the format the format expects, and the resulting code carries that data verbatim. Because the code is generated entirely in your browser, the content you encode never leaves your device.
Error correction levels and the size tradeoff
QR codes have built-in redundancy so they still scan when partially damaged or obscured, and you choose how much. The four levels are L (recovers about 7 percent of the data), M (about 15 percent), Q (about 25 percent), and H (about 30 percent). Higher levels mean the code can survive more dirt, scratches, or a logo placed over the center, but that resilience costs space: the extra recovery data makes the grid denser, packing more modules into the same area.
The practical guidance is to match the level to the environment. For a clean code displayed on a screen or printed on quality stock, L or M keeps the pattern simple and easy to scan. For codes that will be printed on packaging, exposed outdoors, or branded with a logo over the middle, choose Q or H so partial obstruction does not break them. Putting a logo on a code generated at level L is a common reason a code stops scanning.
The quiet zone: the margin that makes scanning work
A QR code needs empty space around it to be detected reliably. This border is called the quiet zone, and the specification calls for a margin of at least four modules on every side. Without it, a scanner can fail to distinguish where the code ends and the surrounding artwork begins, which is why a code crammed right up against text or a busy background often refuses to scan even though the code itself is perfectly valid.
This tool exposes a margin setting precisely so you can preserve that quiet zone. When you place a QR code in a design, resist the urge to shrink the margin to save space; keeping the clear border is one of the cheapest ways to guarantee a fast, dependable scan.
Contrast, size, and reliable scanning
Two physical factors dominate scannability: contrast and size. Scanners read a QR code by distinguishing dark modules from light ones, so high contrast is essential. The safest combination is dark modules on a light background, ideally black on white. You can customize the colors here, but inverting the code to light-on-dark or using a low-contrast pairing like light gray on white can defeat many scanners, so test any custom palette before committing to it.
Size matters for distance. A code meant to be scanned from arm's length on a flyer can be small, but a code on a poster read from across a room must be physically larger. A common rule is that the code's width should be roughly one tenth of the scanning distance. Always print a test copy at the final size and scan it with a few different phones before mass production, because what looks fine on screen can be too small or too dense once printed.
Static versus dynamic QR codes
This is a critical distinction often glossed over. The codes this tool produces are static: the destination is baked directly into the pattern, so once printed, the URL or text can never be changed. Static codes are free, private, and permanent; they never expire and depend on no third-party service. Their limitation is that if the destination URL ever changes, every printed copy of the code becomes useless and you must generate and reprint a new one.
Dynamic codes, by contrast, encode a short redirect link operated by a service, so the owner can change the final destination later and track scan analytics. That flexibility comes with tradeoffs: dynamic codes rely on a third party that could go out of business or paywall the service, they add a redirect hop, and they typically require a subscription. For permanent destinations like a homepage, a static code is the better, dependency-free choice; for campaigns where the target may change, the convenience of a dynamic code can be worth the cost.
Print tips and format choice
For anything that will be printed, download the QR code as SVG. SVG is a vector format, so it scales to any size, from a business card to a billboard, with perfectly crisp edges and no pixelation. The raster formats, PNG and JPEG, are fine for on-screen use and web pages, but if you scale a small PNG up for print it becomes blurry, and JPEG compression can introduce artifacts around the sharp module edges that confuse scanners. For print, vector is almost always the right answer.
A few final precautions: maintain the quiet zone in the layout, do not stretch the code non-uniformly (it must stay square), ensure adequate contrast against whatever it is printed on, and always do a real-world scan test of the final printed piece. A QR code that scans flawlessly on your monitor but was never tested in print is the most common avoidable failure.
Frequently asked questions
What can I encode in a QR code?
Which download formats are supported?
What does the error correction level do?
Can I change the QR code colors and size?
Is the QR code generated privately?
Related tools
Keep going with these handy tools