QR Code Generator
Turn a URL, short message, contact detail, or other text into a downloadable QR code PNG. Choose the output size and error-correction level, then scan the preview before using it on a sign, menu, label, presentation, or printed handout. The code is generated by this site rather than by a third-party QR service, so the value is not handed to anyone else and no redirect is inserted between the scan and your destination. The destination itself is not checked or made permanent: the QR code stores exactly what you enter.
Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.
Add to Chrome — freeRecovers ~15%. The usual choice.
What it does
- Generate QR codes from URLs or plain text
- Download a PNG at 240, 320, 480, or 800 pixels
- Four error-correction levels for different print conditions
- Preview the code before saving it
- Generates locally without a QR API or account
How to use QR Code Generator
- 1
Enter the value
Paste the exact URL, WiFi instruction, contact text, menu link, or message that a phone should read after scanning.
- 2
Choose the output
Pick a pixel size that gives the printed or displayed code enough detail, and choose more error correction when the code may be scuffed or partly covered.
- 3
Scan the preview
Use a second phone to scan the visible preview. Verify the decoded value rather than trusting that the text you intended is the text you typed.
- 4
Download the PNG
Save the generated image and test it again after placing it in the final poster, label, menu, or document.
How it works
The generator takes the exact characters in the input and passes them to a QR encoding library running in the page. The library selects a QR version large enough for the payload, applies the requested error-correction level, calculates the data and format bits, and renders the modules as a PNG. The light margin around the matrix is intentional: scanners use that quiet zone to separate the code from nearby text and graphics.
Error correction does not recover arbitrary design mistakes. It adds redundant data so a scanner can reconstruct a code when some modules are dirty or hidden, but it cannot compensate for tiny modules, insufficient contrast, a missing quiet zone, glare, or a destination that no longer works. A scan test in the final physical context is more useful than looking at the image on a bright monitor.
Choosing a payload
A QR code is a transport container, not a URL shortener, analytics system, or safety filter. It does not know whether a destination is trustworthy, and it cannot make a private URL public or a public URL private. Short stable links make less dense codes and make printed material easier to maintain. For campaigns, use a redirect you control so the destination can change without changing the artwork.
The output is a PNG, which is suitable for ordinary documents, presentations, and print layouts. Keep a copy of the original text beside the image, scan the exported file, and check the destination on both iPhone and Android before distributing it widely.
Size it from the scanning distance
Printed QR codes fail for one reason more than any other: the modules are too small for the distance people read them from.
The working rule is a ratio of about ten to one. A code scanned from one meter needs to be roughly ten centimeters across; from three meters, thirty. A poster read across a room and a business card held at arm's length are different problems, and the same artwork cannot serve both.
The constraint underneath is module size rather than overall size. A URL of thirty characters produces a small matrix whose individual squares stay chunky. The same physical square carrying a two-hundred-character payload packs in far more modules, each one correspondingly smaller, and a camera that resolved the first easily will struggle with the second. This is the practical reason to keep payloads short: not the file size, but the printed legibility.
Two things that also decide it in the real world. Matte stock scans better than gloss, because glare from a light source washes out an entire region and error correction is not designed to recover a hole that large. And curved surfaces — bottles, cups, folded leaflets — distort the matrix; a code that works flat can fail wrapped, so test on the actual object.
Higher error correction is not free
The four levels recover roughly 7, 15, 25 and 30 percent of the code. It is tempting to choose the highest and stop worrying, and that is usually the wrong call.
The redundancy has to go somewhere, and where it goes is more modules. Moving from the lowest level to the highest can push a payload into a larger QR version, shrinking every module at the same printed size — so a choice made to improve reliability makes the code harder to scan.
Match the level to the risk. Low or medium is right for anything printed cleanly on paper and scanned in reasonable light, which covers most documents, slides and signage. The higher levels earn their cost where damage is genuinely expected: labels on equipment that will be handled, codes on packaging that gets scuffed, anything outdoors, and codes with a logo placed over the center — that logo is damage, deliberately introduced, and the redundancy is what makes it survivable.
If a code needs high error correction and a long payload, shorten the payload instead. A redirect you control turns two hundred characters into twenty and solves both problems at once.
Examples
A restaurant menu link
A short stable URL produces a less dense code that is easier to scan at a distance. Put the changing menu behind the stable address rather than reprinting every time it changes.
A WiFi handoff note
The generator stores the text without interpreting it. The receiving phone decides whether it recognizes the WiFi format, so test on the devices guests will actually use.
Frequently asked questions
Can this QR code expire?
The generated image itself does not expire. It stores the value you entered. A QR code containing a direct URL will stop being useful if that URL is removed, while a code pointing to a redirect or campaign service may be changed by that service later. Use a destination you control and test it before printing.
Which error-correction level should I choose?
Medium is a sensible default for a clean screen or ordinary print. Choose High when the code may be scratched, curved, partly covered by a logo, or printed in less predictable conditions. Higher correction adds modules and makes the image denser, so it is not automatically better for a small label.
What can I put in a QR code?
You can encode any text that fits the QR specification, including a URL, contact details, a WiFi configuration string, a calendar value, or a short message. Longer values require denser matrices that are harder to scan. If the payload is large, put it behind a short URL instead of placing an entire document in the code.
Does the tool send my URL to a QR service?
No. The QR matrix is calculated by JavaScript in this page, and the PNG is created as a browser data URL. Nothing is posted to a QR API. You can disconnect the network after the page loads and still change the value, preview the result, and download the image.