Free QR Code Generator
Create QR codes instantly in your browser. No signup, no server upload — your data stays on your device.
QR type
Style
Fill in the form and click Generate to preview your QR code.
Why use maintool?
Most online QR generators upload your URLs, WiFi passwords, and contact details to their servers before creating an image. That creates unnecessary privacy risk and often requires an account. maintool takes a different approach: every QR code is generated with JavaScript that runs only in your browser. We never receive the content you type into the form.
maintool is built for everyday use cases — website links on posters, menu URLs on restaurant tables, product packaging, event signage, and personal projects. You get high-quality PNG, SVG, and PDF downloads with optional colors and logo overlay, without watermarks or expiration dates.
Because generation is client-side, the tool also works well on slower connections once the page has loaded. Your recent history (if you use it) stays in your browser's localStorage and can be cleared anytime.
How to create a QR code
- Choose a QR type: URL, WiFi, WhatsApp, phone, email, SMS, location, Instagram, PDF, menu, or vCard.
- Enter your content in the form above. Required fields are marked clearly.
- Pick a size (256, 512, or 1024 px), colors, and optionally upload a logo.
- Click Generate to preview, then download PNG, SVG, or PDF.
- Test the code with your phone camera before printing large batches.
For print, SVG or PDF usually looks sharper than PNG when scaled. Keep the printed code at least about 2×2 cm (0.8 inches) so cameras can focus reliably.
URL QR codes vs other types
A URL QR code encodes a web address. Scanning it opens that page in the phone's browser. Use URL codes for menus, landing pages, app store links, Google Maps locations, and documentation. If you need guests to join WiFi, open WhatsApp, or save a contact, use the dedicated generators below — they encode the correct payload format for each use case.
maintool creates static QR codes. They do not expire and do not phone home for analytics. If the destination URL changes, generate a new code (or use a redirect URL you control).