Generate QR codes for URLs, text, and more.
The QR Code Generator creates scannable QR codes for web addresses, text, Wi-Fi networks, email, phone numbers, text messages and contact cards. Choose what the code should do, fill in the fields, pick a size from 200 to 1,200 pixels and an error-correction level, and download the code as a PNG or a print-ready SVG. The codes are static, so they never expire, and they are created in your browser.
Made for everyone. Typical uses:
A cafe puts its menu at https://example.com/menu into a Medium-level code, which is a 25 by 25 grid of squares that scans easily from a table tent. A 120-character address with tracking parameters makes a 45 by 45 grid, which is harder to scan when printed small, so the cafe points the code at the short address and redirects it.
These are static codes, so they do not count scans and the destination cannot be changed after printing. Long content makes a denser code that is harder to scan at small sizes. The tool adds a white border of two modules, while the standard recommends four, so leave extra white space on busy layouts. Always test a printed code with more than one phone.
Accuracy: Output is produced in your browser and is meant for convenience. Check it before you use it for anything important.
Expert Tip
Keep the content short. If the code will be printed small, encode a short address that redirects to the long one, use Medium error correction, and make sure the code is at least about 2 cm (0.8 inch) wide with dark squares on a light background.
The QR Code Generator turns text into a scannable QR code image. A selector at the top chooses what the code should do: open a web address or show text, join a Wi-Fi network, start an email, dial a phone number, start a text message, or offer to save a contact card. You also choose the size, from 200 to 1,200 pixels, and the error-correction level, then press Generate. The result can be downloaded as a PNG, downloaded as an SVG for printing at any size, or copied as an image data URL. Everything is created in your browser.
A QR code stores plain text, and the phone's camera app decides what to do with it based on the format. The tool builds these formats for you, including the escaping that is easy to get wrong by hand.
QR codes contain redundancy so that a scratched or partly covered code still scans. The levels recover about 7 percent (Low), 15 percent (Medium), 25 percent (Quartile) and 30 percent (High) of the data. Higher levels make the code denser and reduce how much it can hold. The largest QR code stores 2,953 bytes at Low, 2,331 at Medium, 1,663 at Quartile and 1,273 at High. If your content is too big for the level you chose, the tool tells you how many bytes it is and suggests shortening it or lowering the level. Medium is a good default. Choose High only if the code will be printed on something that can get dirty or damaged.
Every extra character adds more squares, called modules, and smaller squares are harder for a camera to resolve. At Medium level, the address https://example.com/menu (24 characters) makes a 25 by 25 grid. A 68-character address with tracking parameters makes a 37 by 37 grid, and a 120-character address makes a 45 by 45 grid. The Wi-Fi example above is 29 by 29. The shortest codes are 21 by 21. If a code will be printed small, such as on a business card, point it at a short address and let that page redirect to the long one.
Test every code with at least two phones before it is printed. Keep strong contrast, with dark squares on a light background, and do not invert the colours or put the code on a patterned image. The tool adds a white border of two modules, while the QR standard recommends four, so leave extra white space around the code on busy layouts. As a rule of thumb, a code should be at least about 2 cm (0.8 inch) wide for close-range scanning, and larger for signs read from a distance: roughly one tenth of the scanning distance. Use the SVG for posters, because it stays sharp at any size.
These are static codes: the content is stored in the pattern itself, so the code never expires, needs no account and counts no scans. Codes from paid services that track scans usually point to the service's own address and redirect from there, so they stop working if the subscription ends. To check that an address works before you encode it, use the URL Validator. For product labels, the Barcode Generator makes linear barcodes, and the guide to embedding images as Base64 explains the data URL format used by the copy button. Nothing you enter is uploaded.
Explore more in Generators, read the guides and articles, or see how we test our tools.
Generate scannable barcodes for products, inventory, and labels.
Best for creating product barcodes for inventory
Validate URLs for correct format and structure.
Best for validating URLs in web applications
Convert images to Base64 encoded strings.
Best for embedding a small icon or logo directly in HTML or CSS
Generate strong, secure passwords with customizable length and character types.
Best for creating strong passwords for new accounts
Convert images between PNG, JPG, WEBP, GIF, and more formats.
Best for turning WebP images saved from websites into JPG or PNG for editors and forms