A QR code generator turns a piece of text into a square pattern a phone camera can read back. The text is often a web address. It can also be a phone number, a Wi-Fi network string, a short note, or a product code. This page builds that pattern in the browser and lets you download it as a PNG or an SVG. The code stores the characters you typed. It does not store a short link, a tracking id, or a pointer back to this website. If you type https://example.com, a scan opens https://example.com, or shows that address, depending on the camera app. If this site disappeared tomorrow, a code you already downloaded would still scan.
That is what "no expiration" means here. Some free generators encode their own redirect, then disable the redirect when a trial ends or when you decline an account. The image keeps working as a picture and stops working as a link. This generator does not do that, because it never sees the scan. There is nothing to renew. The matching limit is that you also cannot edit the destination later. To change the address, make a new code and replace the old image. If you needed analytics on every scan, this is the wrong tool. A code that reports scans has to send the phone somewhere first, and that somewhere is a service, not a square drawn on your machine.
No signup follows from the same choice. The button does not ask for an email. The text is not uploaded. The encoder is a small open-source script shipped with this site, loaded only after you press Generate. Nine hundred characters is the limit on the box, which covers a normal URL and a short paragraph, and rejects a whole document. Error correction is the amount of damage a scanner can tolerate. L recovers about 7 percent of the modules, M about 15, Q about 25, and H about 30. M is selected to start. Higher levels make the pattern denser and slightly harder to scan at a tiny size, and they help when a print is scratched. This page does not stamp a logo in the middle. If you add one yourself, leave the quiet zone and prefer H.
PNG versus SVG is a choice about how you will reproduce the square. PNG is a bitmap with a fixed number of pixels, good for a slide, a chat, or a web page. SVG is the same modules as shapes, so a printer can scale it without blurring the edges. Both use dark squares on a light background, with a margin of four modules. Do not invert the colours unless you know the scanner can cope, and do not add a photograph behind the pattern. Cameras need contrast. The canvas on the page is the same pattern as the downloads. A test can read that canvas back and recover the text, which is the check that the code means what you typed.
The free QR code page is this form again, for the search that adds the words free and no expiration. The facts are the same. Type the final address, not a fancy-text version of it. Styled Unicode letters from the fancy text generator are the wrong alphabet for a URL. A scanner would encode those symbols faithfully and the website would not exist. Generate the code from the plain link, and use fancy text only in a caption beside the image.
Practical printing. Leave a margin around the code. A code the width of a business card is easier than a code the width of a postage stamp. Test it with a second phone before you send a poster to print. If the text is a Wi-Fi setup string, test it in the room, because a wrong password in the text is a wrong password in every scan. This page does not hide the text. Anyone who scans the code can read what you put in it. Do not encode a password you would not hand to the person holding the phone, and do not encode someone else's private details.
What you will not get is a hosted landing page, a colour theme, or a scan counter. Those need a server. The download is yours. There is no watermark in the modules. If a scan fails, the usual causes are a cropped margin, low contrast, a code that is physically too small, or text so long that the modules became tiny. Shorten the text or drop from H toward M if the pattern is denser than the print can hold. Then download again. The previous image does not update itself.