Generate a QR Code From a Link or Text
Create a QR code from any link or text, customize its colors and size, then download it as PNG or SVG.
Higher levels stay scannable even if the code is partly covered.
Encoded locally
No scan analytics
Safe for passwords
No account
How it works
- 1
Paste your link or text
A URL, a Wi-Fi network, a phone number, or any plain text you want the camera to read.
- 2
Adjust colour and size
Pick the foreground and background, and set the pixel dimensions you need for screen or print.
- 3
Download PNG or SVG
PNG for slides and social posts, SVG when the code is going to a printer.
Why use this tool
Static, so it never expires
The data lives inside the pattern itself. Nothing points at a service that could shut down or start charging.
SVG for print
Vector output stays razor-sharp on a poster, a menu, or a vehicle wrap at any size.
Colour control
Set foreground and background to match your brand — with the contrast rules that keep it scannable.
No scan tracking
Nobody counts, logs, or geolocates the people who scan your code, because no server sits in the path.
Nothing is uploaded
The code is drawn in your browser. The Wi-Fi password or private link you encode never leaves the tab.
Unlimited codes
Generate one or three hundred. There is no monthly cap and no account to create.
Static and dynamic QR codes are not the same product
This is the single distinction that decides whether a QR code still works in two years. A static code encodes your destination directly into the black-and-white pattern: the URL is literally in the geometry, and any camera reads it without contacting anyone. A dynamic code encodes a short link on the generator's own domain, which then redirects to your destination. Dynamic codes can be edited after printing and they report scan analytics, which sounds strictly better — until the free tier ends. When that provider adds a scan cap, moves editing behind a subscription, or simply shuts down, every printed code becomes a dead link, and there is nothing you can do because the paper says their domain, not yours. This tool makes static codes only. You give up post-print editing; you get a code with no owner, no expiry, and no third party in the path.
Why the print version has to be SVG
A QR code is geometry, not photography, and that is exactly what vector formats are for. Export SVG and the edges of every module stay mathematically crisp whether the code is printed on a business card or a two-metre banner. Export PNG at 300 pixels and blow it up to poster size, and the scanner sees soft grey edges where it expects hard black-and-white transitions — decoding gets slower and, in poor light, fails. The practical rule: PNG for anything that stays on a screen at roughly the size you exported it, SVG for anything heading to a printer. If your print shop asks for a raster file, export the PNG at the final print dimensions in pixels at 300 DPI rather than scaling a small one up. If you need the code inside a document rather than beside it, generate the SVG and convert it to PNG at the exact size the layout calls for.
Colour: what a scanner actually needs
Scanners do not see your brand palette; they see luminance difference. The dark modules must be substantially darker than the background, and the direction matters — dark-on-light is the standard, and a meaningful number of older scanner apps and hardware readers simply will not decode an inverted light-on-dark code. Aim for a contrast ratio of at least 4:1 between foreground and background, and treat 7:1 as the safe target for anything printed. Pure black on pure white always works; a deep navy on cream almost always works; a mid-grey on beige frequently does not. If you want to check a specific pair before committing to a print run, run the two hex values through the contrast checker — the same threshold that makes text readable makes a QR code scannable. Also leave the background lighter than the modules even when your brand guideline says the opposite, and never place the code over a photograph or gradient.
Size, distance, and the quiet zone
The working rule for print is that the code should be roughly one tenth of the scanning distance: a code read from one metre away needs to be about ten centimetres across. A code on a restaurant table can be small; a code on a shop window that people scan from the pavement cannot. Below about two centimetres, consumer phone cameras start struggling regardless of print quality. The other half of the rule is the quiet zone — the blank margin around the pattern, four modules wide, that tells the scanner where the code ends. Designers delete it constantly to fit a tighter layout, and it is the most common reason a technically perfect code refuses to scan. This tool includes the quiet zone in the export; if you crop the downloaded image to remove the "empty" border, you are removing a functional part of the code.
What you can encode besides a link
A QR code carries text, and certain text formats trigger specific behaviour on a phone. A plain URL opens the browser. A `tel:` string offers to dial. A `mailto:` string opens a new email. A Wi-Fi string in the format `WIFI:S:NetworkName;T:WPA;P:password;;` prompts the phone to join the network — genuinely useful for a guest network or a rental property, and a good reason to care that this tool never uploads what you type. Plain text with no prefix simply displays on screen, which is enough for a serial number, a shelf location, or a short instruction. Because the encoding happens locally, none of this reaches a server, which is a meaningful difference when the string contains a password.
Keeping the encoded URL short
More characters mean more modules, and more modules mean a denser grid that needs better print quality and better light to read. A forty-character URL produces a comfortably open pattern; a two-hundred-character URL with tracking parameters produces a dense one that a phone in a dim room will struggle with. Before generating, strip the analytics parameters you do not need — the `utm_` tags, the session identifiers, the trailing query string your CMS appended. If the destination genuinely has a long address, consider whether a shorter path on your own domain can redirect to it, so the code stays sparse and the redirect stays under your control rather than a shortening service's.
Common mistakes to avoid
- Using a free dynamic-QR service for something that goes to print. The code is only alive while that company keeps the redirect running on the free tier — and reprinting a thousand menus is far more expensive than the subscription they will eventually ask for.
- Inverting the colours so the modules are light on a dark background. It looks better in a dark-themed design and it fails on a noticeable share of scanner apps and every older hardware reader.
- Cropping away the white margin. That blank border is the quiet zone; scanners use it to locate the code, and removing it breaks an otherwise perfect pattern.
- Exporting a small PNG and enlarging it for a poster. Scaling a raster QR code softens every edge — export SVG instead, or generate the PNG at the final print size.
- Printing without test-scanning the actual printed piece. Screen previews hide ink bleed on matte stock, glare on gloss, and the effect of a background that looked white on a monitor.
How it compares
| KeroTools | Dynamic QR services | Design software | |
|---|---|---|---|
| Code expires | Never — static | When the plan or company ends | Never |
| Scan limit | None | Often capped on free tiers | None |
| Editable after printing | No | Yes | No |
| Tracks who scans | No | Yes, that is the business model | No |
| Vector (SVG) export | Free | Usually a paid feature | Yes |
| Account required | No | Almost always | Licence required |
Features
PNG and SVG export
Raster for the web, vector for anything that will be printed larger than a business card.
Custom foreground colour
Darken the modules to a brand colour while keeping the contrast a scanner needs.
Custom background colour
Set a light background, or keep it white for the widest scanner compatibility.
Adjustable output size
Choose the pixel dimensions so the PNG is sharp at the size you will actually use.
Automatic quiet zone
The blank margin scanners require to find the code is included in the export.
Live preview
The pattern redraws as you type, so you can test-scan with your phone before downloading.
Handles long URLs
Longer input produces a denser grid automatically — there is no character limit to work around manually.
No installation
Nothing to download or install — it works on the open web page.
Arabic & RTL friendly
Full interface in eight languages, including right-to-left Arabic.
Secure by default
Served over HTTPS, with no file tracking and no third-party upload.
Who uses it
Restaurants & cafés
A table code pointing at the menu that keeps working after the marketing subscription lapses.
Event organisers
Badge and signage codes generated in bulk the night before, exported as SVG for the print shop.
Hosts & rental owners
A Wi-Fi code for guests, encoded without handing the network password to a website.
Warehouse & inventory teams
Plain-text codes on shelf labels that resolve offline, with no dependency on a vendor account.
Frequently Asked Questions
No. These are static QR codes — the link or text is encoded directly into the image, so they work forever and never expire.
No. Everything runs locally in your browser — nothing is uploaded, stored, or shared.
Yes — completely free, with no account and no limits.