Why this exists
Search for a free QR code generator and most of what you find is bait. You get a code in ten seconds, print five hundred flyers, and a few weeks later the code leads to a page asking your customers to upgrade a plan you never knew you were on. The generator did not break. It worked exactly as designed.
That trick is only possible because those sites hand you a dynamic code: a code containing a short link to their server, which then redirects to your real destination. They control the redirect. Stop paying, and the redirect stops with it — while your flyers are still on the wall.
The codes this site makes are static. Your link, your WiFi password, your phone number: the data is inside the black-and-white pattern itself. There is no middleman server to keep alive, no subscription to lapse, and no way for us to change or kill your code after you have downloaded it. Even if this site disappeared tomorrow, every code it ever made would keep working. Here is the longer explanation.
What you get
Nine kinds of code — links, WiFi, WhatsApp, contact cards, plain text, email, SMS, phone numbers and map locations. PNG at up to 2048 px for print, or SVG for anything that needs to scale. Your own colours, your own quiet zone, your own error-correction level. No watermark, no daily limit, no email address required.
The whole tool is one page of JavaScript running on your device. Your data never touches a server because there is no server to touch — the site is a handful of static files. That is not a privacy promise we are asking you to believe; it is just how the thing is built — and the code is public, so you can read it.
What this does not do
No scan tracking and no editable destinations. Both require a redirect server, and a redirect server is exactly the thing that can be switched off. If you genuinely need to change where a printed code points, read this first — there is a way to get most of that without renting anything.
No logo in the middle of the code, not yet. No bulk generation from a spreadsheet. No account, so nothing is saved between visits — if you want a code back, generate it again or keep the file.