Do these QR codes expire?
No. Each code is generated entirely in your browser and the data you enter is embedded directly in the code itself - there's no server, account, or subscription behind it, so nothing can expire or get deactivated.
Generate QR codes (PNG or SVG) with custom styles.
A QR code only needs to do one thing reliably: scan correctly. This tool generates the code entirely in your browser using a standard QR encoding library - your text never leaves your device.
Because the code is static, whatever you type is embedded directly in the pattern itself, which means it works forever with no account, no expiry, and no way for anyone to track when or where it gets scanned. Error correction (Low/Medium/Quartile/High) controls how much of the code can be damaged, obscured, or misprinted and still scan - higher levels tolerate more damage at the cost of a denser pattern.
This QR code generator turns any text or URL you type into a scannable code, with control over size, quiet-zone margin, error-correction level, and colors - downloadable as PNG or SVG. It's a static generator: the code contains your data directly, so there's nothing to expire and nothing tracked.
Paste the text or URL you want encoded.
Select size, colors, and error-correction.
Select PNG or SVG as the output format.
Download PNG/SVG or copy image.
Type a URL into the text field and download a scannable code for a menu, flyer, or business card.
Raise the error-correction level (toward H) for codes that will be printed small, on uneven surfaces, or partially covered.
Increase the margin if the code will sit on a busy background or be printed at a small size.
There's no dedicated form - type a standard WIFI: or vCard-formatted string directly into the text field.
Use the Copy button to paste the SVG markup as text, or the PNG image directly, without downloading a file first.
Best For
Text / URL entered
https://example.com/menuResult
A QR code image, adjustable from 80-1200px, downloadable as PNG or SVGThe code regenerates instantly in your browser whenever you change the text, size, margin, error-correction level, or colors - nothing is sent to a server at any point.
Text / URL entered
WIFI:T:WPA;S:MyNetworkName;P:MyPassword123;;Result
A QR code that prompts a phone to join the WiFi network when scannedThere's no dedicated WiFi form in this tool - typing the standard WIFI: syntax directly into the text field encodes it exactly like any other text or URL.
Generate a code for a URL, download it as SVG, and print it at any size without quality loss.
Type the standard WIFI:T:WPA;S:NetworkName;P:Password;; format into the text field to create a code that joins a phone to the network on scan.
Since this tool doesn't embed a logo itself, generate the code at a higher error-correction level (Q or H) first, then add a logo on top in an image editor - the extra error correction budget helps the code stay scannable.
Problem
Solution
This tool does not have a logo or image embedding feature - there's no file upload for a logo anywhere in the interface. If you want a logo on your QR code, generate it at a higher error-correction level and add the logo yourself afterward in an image editor.
Problem
Solution
There's a single text field, not separate forms per content type. To create a WiFi, contact, email, or SMS code, you need to type the correctly formatted string yourself (for example, WIFI:T:WPA;S:name;P:password;; for WiFi).
Problem
Solution
These are static codes - the destination is fixed at creation and nothing about scans is tracked or reported anywhere. To change where a printed code points, you need to generate and redistribute a new code.
Problem
Solution
Test the downloaded code with a phone camera before committing to a print run, especially at a small size or with a low error-correction level.
Level H tolerates the most obscuring or damage but produces a denser pattern; Level L is the sparsest but least forgiving. Match the level to how the code will actually be used.
SVG stays crisp at any print size since it's vector-based. PNG is simpler for digital use like slides, emails, or web pages.
The margin field controls the quiet zone around the code - a wider margin helps scanners lock onto the code faster, which matters more at small print sizes.
A WiFi code needs the form WIFI:T:<WPA|WEP|nopass>;S:<network name>;P:<password>;; - get the syntax exactly right, since the tool doesn't validate or help build it for you.
There's no file upload for a logo anywhere in this tool. A logo needs to be added afterward in a separate image editor if you want one.
The tool has a single generic text field. Creating a WiFi, contact, email, or SMS code requires typing the correctly formatted string yourself - there's no guided builder.
Once generated, a code's data is fixed. There's no way to change where it points after printing, and no scan analytics of any kind, since nothing routes through a server.
There's no batch or bulk generation - each code is created individually.
Static and dynamic QR codes solve different problems - permanence and privacy versus editability and analytics.
| Static (this tool) | Dynamic QR service | |
|---|---|---|
| Destination | Fixed at creation - the code contains the data directly, so it never expires | Editable after printing - can redirect to a new URL later |
| Scan tracking | None - nothing routes through a server to track | Usually tracked (scan counts, location, device) through the provider's redirect service |
| Cost and account | Free, no account, unlimited use | Often requires an account; free tiers commonly cap codes or expire after a trial |
Which should you use?
Use this tool when the destination won't change and you don't need scan analytics - the code works forever with nothing tracked. Use a dynamic QR service if you need to update the destination after printing or want scan data.
The most common question is whether these QR codes expire or get tracked - they don't, since the code is generated entirely in your browser and contains your data directly, with nothing routed through a server. The FAQ below also covers logo support and content-type formatting.
No. Each code is generated entirely in your browser and the data you enter is embedded directly in the code itself - there's no server, account, or subscription behind it, so nothing can expire or get deactivated.
Not with this tool - there's no logo or image upload feature. If you want a logo on your code, generate it at a higher error-correction level (Q or H) and add the logo yourself afterward in an image editor; the extra error-correction budget helps the code stay scannable.
There's no dedicated form for these - just a single text field. You can still create them by typing the correctly formatted string yourself, for example WIFI:T:WPA;S:NetworkName;P:Password;; for a WiFi network. The tool encodes whatever text you enter.
No. These are static codes with no tracking of any kind - nothing about a scan is reported anywhere, since the code contains the data directly and nothing routes through a server.
No. The QR code is generated entirely in your browser using a standard QR encoding library. The text you enter never leaves your device.
No, this tool creates one QR code at a time - there's no batch or bulk generation feature.
Leave your email so we can prioritize similar tools and updates.
Trending tools will appear as visitors explore the catalog.
Your recently visited tools will show up here.