The generators
Six tools, in the order above. The first two keep the payload in the browser. The others are here because a static download is available without an account, with the limit that site actually publishes.
PageUtil QR Code Generator. Best overall for private, permanent static codes with vector SVG export.
PageUtil builds static QR codes entirely on your device. Supported payloads include website URLs, WhatsApp chats, Wi-Fi network configurations, vCard contact cards, email, SMS, phone calls, location, calendar events, and plain text. Media and page presets link to content you already host.
Download SVG, PNG, or JPEG with custom colours, gradients, shapes, a local logo, and an optional labelled frame. The payload and logo are not sent to a backend. Codes do not expire, although linked content must remain available. Hosted pages, editable redirects, scan analytics, and AI artwork are not included.
Companion tools on PageUtil include the QR Code Scanner (/qr-code-scanner) for decoding photos or camera feeds without uploading.
QR Code Monkey. Best of this list when the code has to look designed.
The public page shows the generator without an account step. It builds static codes for a URL, text, email, phone, SMS, vCard, location, Wi-Fi, and several other types. You can set colours and shapes and upload a logo up to 2 MB, then download PNG or SVG.
They say the codes do not expire, have no scan limit, and may be used commercially, and that a static code cannot be edited after you download it. PDF and EPS are offered, but those two omit the logo and the custom design. They also say they do not save or reuse your data, and that they cache the QR image on their server for 24 hours. That is not client-side generation. The page shows ads. They do not describe a watermark on the file.
goQR.me. Vector files and an explicit commercial licence, with the payload transmitted.
goQR.me builds a static code as you type and does not ask you to register. SVG and EPS are free without registration. Downloads also include PNG, GIF, JPEG, and PDF. The page states that commercial and print use is allowed, and that you can set a foreground and a background colour.
A logo is not a control on the free form. The page links a separate logo service. Your data is described as encrypted in transit and not stored, which means the payload is sent to them. Editable codes live on a different product, QR-Server. A static code cannot be changed after you download it.
TEC-IT. Useful payload types, restricted to private use.
The free generator needs no account. It covers a URL, phone number, SMS, vCard, Wi-Fi, and other types. TEC-IT says the codes are timeless, that scans are not tracked, and that your data is not permanently stored.
The download is a request to their API with the text in the address, so the payload leaves the browser for that request. The free page does not offer SVG, a logo, or colour controls, and higher resolution is described as a subscriber option. The terms limit the generator and the images to non-commercial, private use. More than 10 codes a minute, or any commercial use, needs their written approval.
QRStuff. Free permanent static codes, with paid SVG export and styling.
QRStuff's FAQ says static codes are free to create and download without an account, have unlimited scans, and never expire. It also says they have no watermark and can be used commercially without restrictions.
The pricing page includes PNG and JPG in the free plan, while SVG and other vector formats, logos, and custom colours require a paid plan. Dynamic codes, which support editable destinations and scan tracking, have separate trial and subscription limits. Those limits do not apply to scans of free static codes.
Comparison
The same checks, in one table. “Not stated” means that vendor page did not say, and this guide does not fill the gap.
| Tool | No signup | Client-side | Static (never expires) | SVG export | Logo | Custom colours | Watermark | Commercial use | Notable limitation |
|---|---|---|---|---|---|---|---|---|---|
| freeqrcodes.uk | Yes | Yes | Yes | Yes | Yes | Yes | None stated on the file | Allowed | Static only. Change a destination with your own redirect. |
| PageUtil | Yes | Yes | Yes | Yes | Yes | Yes | None | Not restricted on the page | Static only. Media and page presets need an existing public URL. 2,000 UTF-8 byte cap. |
| QR Code Monkey | Yes | No | Yes | Yes | Yes | Yes | Not stated | Allowed | Image cached 24 hours. PDF and EPS drop the design. |
| goQR.me | Yes | No | Yes | Yes | Separate service | Yes | Not stated | Allowed, including print | Payload is sent. They say it is not stored. |
| TEC-IT | Yes | No | Yes | Not offered | No | Not offered | Not stated | Private use only | Commercial use needs written approval. |
| QRStuff | Yes | Not stated | Yes | Paid | Paid | Paid | None | Allowed | Unlimited static scans. SVG export and styling require a paid plan. |
How to choose
For a private static code that should not depend on an account, use freeqrcodes.uk. The payload stays in the browser. Send the SVG to print, and open the Wi-Fi, SVG, or static page when that is the job.
For private static codes with WhatsApp, Wi-Fi, contacts, custom colours, shapes, frames, or your logo, open QR Code Generator. It exports SVG, PNG, and JPEG locally. The steps for a URL are in How to make a QR code for a URL.
For a logo, custom colours, and shapes, QR Code Monkey is the design-heavy free generator in this list. The trade-off is the 24-hour image cache on their server.
For an SVG or EPS with a stated commercial and print licence, use goQR.me if you accept that the text is transmitted. The free form does not embed a logo.
For a personal code that is not a commercial print job, TEC-IT covers more payload types. Stay inside their private-use terms.
For free static codes with unlimited scans and no expiry, QRStuff requires no sign-up. Choose a paid plan there if you need SVG export, a logo, or custom colours.
A linear symbol is a different tool. Use Barcode Generator for Code 128. If you are choosing colours to print beside a code, check them with Hex to RGB and Contrast Checker.
Sources
These are the vendor pages the notes above are taken from. Features change. If a download screen contradicts a page, trust the download screen.
Continue troubleshooting
- How to Create a WhatsApp QR Code
- How to Customise QR Code Logos, Colours and Frames
- How to Choose QR Code SVG, PNG or JPEG
- How to Create Calendar Event and Location QR Codes
- How to Create Email, SMS and Phone QR Codes
- How to Create QR Codes for PDFs, Videos and Pages
- QR Code Print Size and Scanning Distance Guide
- How to Create Restaurant Menu QR Codes
- How to Create Guest WiFi QR Codes
- How to Create vCard QR Codes for Business Cards
- How to Track QR Code Campaigns with UTM and GA4
- How to Put QR Codes on Product Packaging and Manuals
- How to Create a Google Review QR Code for Local Business
- Wedding Invitation and Event RSVP QR Codes
- How to Troubleshoot Printed QR Codes Not Scanning
- Static vs Dynamic QR Codes for Business Printing
- How to make a QR code for a URL
Related tools
Frequently asked questions
Do free QR codes expire?
A static QR code does not expire by itself. It holds the URL, text, or other payload in the symbol, and it keeps working while that payload still makes sense. It fails when the page is gone, the Wi-Fi details change, or a dynamic code depends on a vendor redirect that has been switched off. The static downloads described on this page are that first kind.
Is my data sent to the server?
It depends on which generator you use. freeqrcodes.uk and the PageUtil QR Code Generator encode the symbol in the browser, so the payload is not uploaded to make the image. goQR.me says the data is sent over TLS and is not stored. QR Code Monkey says it caches the image file on its server for 24 hours. TEC-IT builds the file with an API request that includes the text, and says the data is not stored permanently. QRStuff does not say whether a static code is built in the browser.
What's the difference between static and dynamic QR codes?
A static code contains the payload. A phone reads that URL, text, or Wi-Fi record directly from the symbol. A dynamic code usually contains the vendor's redirect address, so the vendor can change the destination later and can count scans. That redirect stops working if the subscription or the service stops. A printed static code cannot be converted into a dynamic one.