How to use the QR code generator
- Paste a link that starts with
https://, or type the text you want to share, into the box. - Pick a foreground and a background color. Dark modules on a light background scan most reliably.
- Choose an image size and an error correction level. M is a good default; H is recommended when you add a logo.
- Optionally upload a small logo to place in the center of the code.
- Scan the preview with your phone to confirm that it opens the right page.
- Download a PNG for screens and documents, or an SVG for print and design software.
How it works
QR Hut uses the open-source qrcodejs library (version 1.0.0) to turn your text into a QR symbol. The library picks the smallest of the 40 QR code versions that can hold your content at the error correction level you selected, and it stores the content in byte mode as UTF-8. Version 1 is a grid of 21 × 21 modules, each version adds four modules per side, and version 40 reaches 177 × 177. The line under the preview tells you which version you got, the size of the grid and how many bytes were encoded.
Once the grid of dark and light modules is known, QR Hut draws it itself: on a canvas for the PNG download and as vector shapes for the SVG download. Both files include a quiet zone, the blank border four modules wide that the QR Code standard (ISO/IEC 18004) requires around the symbol so that scanners can tell where it starts. Module edges are snapped to whole pixels, so the PNG stays crisp instead of blurred.
Error correction uses Reed–Solomon codes. Level L can recover roughly 7% of damaged data, M about 15%, Q about 25% and H about 30%. More redundancy needs more space, so the same text produces a denser code at a higher level. When you upload a logo, the tool switches to level H, clears a small padded box in the center (22% of the code's width, or about 5% of its area) and fits your image inside it without stretching it.
Nothing you type is sent to a server. The page loads the library from the jsDelivr CDN and does all the work on your device, which is also why the preview updates as you type.
Tips for a code that scans every time
- Keep the content short. Fewer characters mean fewer, larger modules at the same print size. In this generator,
https://example.com/menuat level M becomes a version 3 code (29 × 29 modules), while a 150-character tracking link needs version 9 (53 × 53). - Include the https:// prefix. Without it, some scanners show the address as plain text instead of offering to open it.
- Stay dark on light. Black or a deep brand color on white is safest. The generator warns you when the two colors are too close in brightness or when the code is inverted.
- Keep the quiet zone. Do not crop the white border off the downloaded file or place the code tight against a photo or a dark edge.
- Use the right file for the job. A 1024-pixel PNG prints at about 8.7 cm (3.4 in) wide at 300 dpi. For anything bigger, use the SVG.
- Test on real phones. Print a proof at the final size and scan it with more than one phone before you order a full print run. Our guide to printing QR codes that scan reliably covers sizes and materials in detail.
Common uses
- Restaurant menus and table cards that open an online menu or ordering page.
- Posters, flyers and event signs that link to tickets, a timetable or a registration form.
- Product packaging and printed manuals that link to setup videos or support pages.
- Slides and handouts that link to the download of a presentation.
- Review requests and social profile links on receipts and shop counters.
- Plain-text codes: inventory labels, serial numbers, or the next clue in a scavenger hunt.
Limitations
- Static only. You cannot change the content after downloading, and QR Hut does not count scans. The static vs dynamic guide explains the alternatives.
- Maximum length. In byte mode, the largest QR code (version 40) holds 2,953 bytes at level L and 1,273 bytes at level H, and the library reserves a few bytes of that. Codes near the limit are far too dense to print small anyway. If your content does not fit, the preview tells you.
- Non-English characters. When your text contains characters outside basic ASCII, such as accented letters, Chinese or Cyrillic, the library adds a three-byte UTF-8 marker at the start of the data. Current scanners handle this well, but test the code on the phones your audience uses.
- Emoji. Emoji and some rare symbols are not encoded reliably by this library. The generator warns you if your text contains them.
- Simple styling. You can change colors and add a centered logo, but there are no rounded dots, custom corner shapes or frames.
Frequently asked questions
Do QR codes made with QR Hut expire?
No. They are static codes: your link or text is stored in the pattern itself, so there is no server that could switch them off. A code keeps working for as long as the page it points to exists.
Can I use the QR codes for commercial purposes?
Yes. The images you create are yours to use on packaging, menus, ads or anything else, for personal or commercial projects. No attribution is required.
Should I download PNG or SVG?
PNG is a pixel image that works everywhere, from documents to social media. SVG is a vector file that stays sharp at any size, so it is the better choice for print and for design tools such as Illustrator, Inkscape, Figma or Affinity Designer.
Which error correction level should I choose?
M suits most codes printed on clean paper or shown on screens. Choose Q or H for codes that may get scratched, dirty or folded, and H whenever you add a logo. Higher levels make the code denser, so do not pick H by default for long links.
Why is my QR code so dense?
Density depends on how many characters you encode and on the error correction level. Long links with tracking parameters produce many small modules. Shorten the link or lower the level to get a simpler code.
Can I change the link after printing the code?
Not with a static code. If you expect the destination to change, encode a short address on your own website, such as example.com/menu, and update that page or redirect it later. Our static vs dynamic guide explains this approach.
Is there a limit on how many codes I can create?
No. There is no account, no quota and no watermark. Make as many codes as you need.