Why Generate QR Codes Locally
A QR code is a visual encoding of text. The text could be a public URL, a private one-time link, a WiFi password, an account ID, or anything else — and any third-party generator that processes that text on a server now holds a copy of it. For a short URL on a public website that is fine. For a one-time payment link, an internal corporate URL, a session token, or a private contact card, it is not.
ToolMint's QR Code Generator runs entirely in your browser. You type the content into the modal, the canvas paints the QR code locally, and Download PNG or Download SVG produces the file from a Blob in memory — never an upload. You can verify it in your browser's DevTools Network tab: opening the modal, typing a payload, and downloading produces zero requests for the QR data itself.
This matters more than people realise. Free online QR generators are advertising-supported businesses; the payload you generate is exactly the kind of data they monetise. Logging "user X generated a QR code containing https://internal.acme.com/pricing-2026.pdf" is enough to leak business strategy. Running locally avoids that entire category of risk.
Open the QR Code Generator
The QR Code Generator lives inside the Text Editor. Two ways to open it:
- Click the Tools dropdown in the toolbar, then pick QR Code Generator at the bottom of the list.
- Press Ctrl/Cmd+K to open the command palette, type
qr, and press Enter.
Either path opens a draggable floating panel on top of the editor. Drag the title bar to reposition; the editor stays accessible underneath, so you can copy text from a document into the QR field without losing your place.
Step-by-Step Guide
1. Type or paste your content
The Content field accepts any UTF-8 text — a URL, plain text, an email address, a phone number, a WiFi credential string, or anything else that fits within the QR data limits (about 4,000 alphanumeric characters at error-correction level L; less at higher levels). Long inputs produce denser, harder-to-scan codes; if you need to encode a lot of text, consider using a URL shortener and encoding the short URL instead.
The Content field is pre-populated with whatever was in the editor when you opened the modal, so a common workflow is: paste a URL into the editor, open the modal, generate the QR, close the modal, get back to whatever you were doing.
2. Choose a size
Three preset sizes:
- 256 px — fine for digital embedding (slide decks, web pages where the QR is one image among many)
- 512 px — the default sweet spot for most uses, including small to medium printing
- 1024 px — for posters, packaging, or any printed surface where the code will be more than ten centimetres across
Pick the smallest size that gives you reliable scanning at the printed dimension. Bigger pixels = more file size, but also more visual headroom for low-quality scanners.
3. Pick an error-correction level
QR codes include redundant information so the code can still be decoded even if part of it is damaged or covered. Four levels are available, named after the percentage of the code that can be lost while still recovering the data:
- L (Low, ~7%) — densest, smallest module count. Good for clean digital displays where damage is unlikely.
- M (Medium, ~15%) — the default. Suitable for most printed and digital uses.
- Q (Quartile, ~25%) — more redundancy, more density. Use for printed material that may get scuffed, dirty, or partially obstructed.
- H (High, ~30%) — maximum redundancy. Use when you plan to overlay a logo on the code (the logo covers part of the data; H ensures the rest is enough to decode).
Higher levels mean denser codes (more black-and-white modules in the same physical area), which can hurt scannability at small sizes. If you do not have a specific reason to deviate, leave it at M.
4. Choose colours
The default is black foreground on a white background — the most universally scannable combination. Most modern scanners also handle:
- Light foreground on a dark background (an "inverted" code)
- Coloured foreground on a contrasting background, as long as the contrast ratio is at least 3:1
Avoid:
- Pairs with similar luminance (dark blue on dark purple, light yellow on white)
- Gradients across the foreground or background (interferes with module detection)
- Decorative shapes inside the data area
A safe rule: if the foreground-background pair would pass a basic accessibility contrast test, the QR will scan. The colour pickers in the modal default to safe values; if you change them, glance at the preview to confirm the code is clearly visible.
5. Download
Two output formats:
- Download PNG produces a raster image at the chosen size. Use for slide decks, social media, email signatures, and any context where the QR will be displayed at a fixed size.
- Download SVG produces a scalable vector. Use for printing at any size without quality loss, embedding in a vector design tool, etching, or anywhere the code might need to be resized later.
Both files save to your default downloads folder via the browser's standard download dialog. The original payload is never sent anywhere.
Common Use Cases
Sharing a Link in Person
You are at a conference, a presentation, or a meeting and you want everyone in the room to land on the same URL without dictating it letter by letter. Generate a QR code, project it or print it, and let people scan with their phones.
Embedding in Print Marketing
Business cards, flyers, posters, packaging, signage, conference badges, table tents — any printed surface where readers might want to follow up online. A QR code is faster to scan than a URL is to type.
Connecting to WiFi
The standard WiFi QR format is WIFI:T:WPA;S:NetworkName;P:Password;;. Type that string into the Content field and the resulting QR code will let any modern phone join the network with one tap. Useful for guest networks at home, in hotels, or in shared workspaces.
Sharing Contact Information
The vCard format encodes a contact card. Type a vCard string into the Content field and the QR code becomes a one-tap "add to contacts" for any modern phone. Useful for business cards, conference badges, and email signatures.
Authenticating One-Time Tokens
Some authentication flows use QR codes to deliver short-lived tokens (login codes, payment confirmations, package pickup codes). When the token is sensitive, generating it locally rather than through a third-party service is the only privacy-preserving option.
Linking Physical and Digital
Restaurant menus, museum exhibit information, equipment maintenance manuals, gym workout videos — anywhere a physical object can lead to digital content. A QR code is the standard bridge.
How ToolMint's QR Code Generator Works
The implementation uses the open-source qrcode JavaScript library, which encodes the data per the ISO/IEC 18004 standard, applies the chosen error-correction level, and rasterises the result onto an HTML canvas (for PNG) or constructs SVG path data (for SVG output).
The library runs entirely in the browser. There is no server-side component, no API call, no telemetry. The only network request triggered by opening the modal is the one-time download of the library bundle (cached after the first visit). After that, every QR you generate stays on your machine.
The codes are standards-compliant and scan with every QR reader we have tested — iOS Camera app, Google Lens, every Android scanner app, dedicated industrial scanners, and offline scanner libraries used in retail and logistics.
Privacy Notes
- The Content field is held in browser memory only while the modal is open; closing the modal discards it.
- No analytics event records the QR payload.
- The downloaded PNG / SVG file lives wherever you save it — the same as any other download.
- Incognito / Private browsing mode adds another layer: the library bundle cache is cleared on tab close.
Comparison With Other Free QR Generators
| Feature | ToolMint | Most online generators |
|---|---|---|
| Payload sent to server | No | Yes |
| Account required | No | Often |
| Daily quota | Unlimited | Often capped |
| PNG download | Yes | Yes |
| SVG download | Yes | Often paid |
| Custom colours | Yes | Often paid |
| Tracks scans | No (cannot — there is no server) | Sometimes, by inserting a redirect |
The "tracks scans" line is worth dwelling on. Many free QR generators do not encode your URL directly into the code — they encode their own redirect URL that bounces to yours, so they can count scans and harvest analytics. Anyone scanning the code is briefly exposed to the generator's server. ToolMint never inserts a redirect; the code contains exactly the text you typed.
Limitations
- The current build supports plain text payloads. Structured forms for WiFi, vCard, email, phone, and SMS are on the roadmap.
- Logo overlay (placing a small logo in the centre of the code, with the surrounding error correction handling the obstruction) is not yet supported.
- Bulk generation (a CSV of URLs producing a folder of QR images) is not yet supported.
Frequently Asked Questions
What is the maximum amount of text a QR code can hold?
About 4,296 alphanumeric characters at error-correction level L; about 7,089 numeric digits; about 2,953 bytes of binary data. Higher error-correction levels reduce the maximum capacity. Practically, anything longer than a paragraph produces a visually dense code that struggles to scan; for long content, encode a URL pointing to the content instead.
Are QR codes case-sensitive?
The QR data is preserved exactly as you typed it, including case. Whether the receiving system treats the data as case-sensitive depends on the system — URLs are typically case-sensitive in the path; WiFi passwords always are.
Can I edit a QR code after generating it?
No — the encoding is one-way. To change a QR, regenerate it from the new payload.
Will the QR work in five years?
The QR standard has not changed materially since 1994. Codes generated today will scan in any future device that supports QR. The data inside (a URL, for instance) might become stale, but the encoding itself is durable.
Can I make money with QR codes?
QR codes are a tool, not a business. Most QR-as-a-service businesses charge for analytics, dynamic redirects, or batch generation — not for the codes themselves. If you need scan tracking, use your own URL shortener with analytics behind it; encode the short URL into the QR. Static QR codes (the kind ToolMint generates) are free, work forever, and never break because the underlying service shut down.
How do I scan a QR code?
Open the camera app on a modern phone (iOS or Android) and point it at the code. The phone detects the code and offers an action — open URL, join WiFi, add contact, etc. Older phones may need a dedicated scanner app, available free in every app store.