QR Code Generator
Your QR data is processed locally in your browser.
Use http:// or https://. Query parameters and fragments are kept as typed.
Style ideas
Sample QR codes in different looks. Tap one to try that style on your code — your content stays the same.
QR preview
Check the code on screen before you download, print, or share.
Style ideas
Sample QR codes in different looks. Tap one to try that style on your code — your content stays the same.
Make it look good
QR style
Classic is safest for scanning. Rounded styles give a more polished look — try them here and watch the preview change.
Add logo
PNG, JPEG, or WebP. Stays in this browser — never uploaded. Adding a logo switches error correction to H when it was L or M.
- Type:
- Website
- Data:
- —
Enter a URL to generate a QR code.
Download
PNG for general use. SVG for print. JPG when a JPEG file is required.
Customize QR
Error correction
Size
PNG and SVG are generated at the selected resolution. Range 128–2048 px.
QR codes need a light margin. 4 modules is the usual minimum.
Leave this off for Wi-Fi passwords and contacts if you do not want the payload printed as text.
QR Code Generator
Toolshelf is a QR code generator for websites, text, Wi-Fi, contacts, WhatsApp, email, phone, SMS, and locations. Pick a template, enter the details, and download a PNG or SVG QR code without leaving this page. Encoding uses a local JavaScript library — not a QR API and not a server render.
Your data is processed locally in your browser. Nothing is uploaded to our server. Refreshing the page clears the form; content is not saved to localStorage.
What you can do with this QR tool
- Create QR codes for URLs, text, Wi-Fi, contacts, email, phone, SMS, WhatsApp, location, and custom payloads
- Live preview that updates in the browser
- Error correction levels L, M, Q, and H
- Quiet zone control with a safe default margin
- Foreground and background colors with a contrast warning
- Optional rounded modules, finder corners, gradient, and a local logo
- Download PNG or SVG, copy the image, or print a clean QR sheet
- Private by design: content and logos are not uploaded
Create Different Types of QR Codes
You do not need to know QR payload formats. Choose a template and fill the form. The tool builds the correct string for each type:
- Website — an http or https address, including query parameters and fragments.
- Text — any Unicode text, including Gujarati, Hindi, emoji, and new lines.
- Wi-Fi — a WIFI: payload so phones can offer to join the network.
- Contact — a vCard so phones can offer to save a contact.
- WhatsApp — a wa.me link with an optional pre-filled message. No WhatsApp API is used.
- Email — a mailto: link with optional subject and body.
- Phone — a tel: number in international format.
- SMS — an sms: URI with an optional pre-filled message.
- Location — a geo: URI with latitude and longitude.
What Information Can a QR Code Store?
A static QR code stores a string inside the pattern itself. That string might be a URL, a Wi-Fi join command, a vCard, or plain text. After you download the image, Toolshelf is not involved when someone scans it. The phone reads the bits from the printed or on-screen code.
Static vs Dynamic QR Codes
Static QR: the data lives in the code. If you encode https://example.com, that URL is in the pattern. Toolshelf does not host the URL. If you later change the website path, the existing QR still points at the old address until you generate a new code.
Dynamic QR: the printed code usually contains only a short URL that a server can redirect. Scan counts, later edits, and “one code, many destinations” need that extra service. This page does not provide dynamic QR codes, scan analytics, or redirect hosting.
Are QR Codes Permanent?
A static QR code does not expire by itself. The pattern keeps the same payload for as long as the image exists. Its usefulness still depends on that data. A code that contains https://example.com will always decode to that URL, but the destination can stop working if the website moves or disappears. A Wi-Fi QR stops being useful when the password changes.
How to Create a QR Code
- 1Choose the QR type that matches the content.
- 2Fill the fields. The preview updates after a short pause so typing stays responsive.
- 3Keep dark modules on a light background and a quiet zone of at least four modules unless you understand the risk.
- 4Download PNG or SVG, or print a page that contains only the QR code. Confirm the on-screen preview, then scan with a phone camera before you print at scale.
How to Scan a QR Code
On recent iPhones, open the Camera app and point it at the code. On many Android phones, Camera or Google Lens does the same. Hold the phone steady, fill the frame without covering the quiet zone, and tap the notification to open the URL or save the contact. If nothing happens, check lighting, contrast, and whether a logo is covering too much of the pattern.
Manual check: generate the QR, display it on screen, scan with Android and iPhone cameras, and confirm the decoded payload matches what you entered.
PNG vs SVG
PNG is a bitmap at the size you selected (256, 512, 1024, or custom pixels). The file is generated at that resolution rather than stretching a tiny preview. SVG describes the same modules as shapes, so it stays sharp for print, vinyl, and large posters. Use PNG for chat and CMS uploads that expect a raster image; use SVG when you control the print pipeline.
QR Code Error Correction
Error correction stores extra bits so a damaged or partly covered code can still decode. This tool defaults to M (medium). L recovers the least and keeps the code simpler. Q and H recover more but add modules, so the same payload looks denser. Higher levels help when you add a logo or expect wear on a printed sticker. The generator does not force H on every code.
Privacy
Wi-Fi passwords, phone numbers, and contact fields stay in page memory. They are not written to localStorage, not placed in the page URL, and not sent to analytics as tool input. Downloads use the browser’s Blob API.
Limitations
This is a static QR maker. It cannot edit a code after you print it, count scans, or shorten URLs. Very large payloads will not fit; the tool shows an error instead of cutting text. Decorative colors, gradients, rounded dots, and large logos can reduce scan success. Phone scanning was not claimed as verified in development — use a real camera before you print at scale.
Frequently asked questions
- What can I put in a QR code?
- You can encode a website URL, plain text, Wi-Fi network details, a vCard contact, WhatsApp, email, phone, SMS, a map location, or any custom string. The QR stores that payload directly.
- Do I need an account to use this QR generator?
- No. Toolshelf QR Code Generator runs in your browser, with no account and no upload of the content you encode.
- Can I create a Wi-Fi QR code?
- Yes. Choose the Wi-Fi template, enter the network name, security type (WPA/WPA2/WPA3, WEP, or none), optional password, and whether the network is hidden. Special characters in the name and password are escaped. Credentials stay in the browser.
- Can I create a contact QR code?
- Yes. The Contact template builds a vCard 3.0 payload that compatible phones can offer to save. Contact fields are not uploaded.
- Can I add a logo?
- Yes. You can add a PNG, JPEG, or WebP logo in the browser only. Keep it small, leave padding, and use higher error correction (the tool switches to H if you were on L or M). A large logo can make a QR code difficult to scan.
- Can I customize QR colors?
- Yes. You can set foreground and background colors. If contrast is low, the tool warns that scanning may fail. Dark modules on a light background remain the most reliable default.
- Can I download a QR code as PNG?
- Yes. Download PNG at 256, 512, 1024, or a custom pixel size. The file is generated at that resolution in the browser.
- Can I download a QR code as SVG?
- Yes. SVG is generated from the same QR matrix and stays sharp for print. Use PNG for chat and web uploads; use SVG when you will scale the code.
- Does a static QR code expire?
- The code itself does not expire and does not depend on a Toolshelf server. If you encode https://example.com, that URL stays in the pattern. The destination can still stop working if the website changes or disappears. Change the data and you need a new QR.
- Is my QR data uploaded?
- No. Your QR data is processed locally in your browser. Text, Wi-Fi passwords, contacts, phone numbers, email, location, and logos are not sent to our server.
- How much data can a QR code store?
- Capacity depends on QR version and error-correction level. Short URLs and contacts fit easily. Very long text may not fit; the tool shows an error and does not truncate. Character and byte counts appear under the preview.
- Can I create a QR code from text?
- Yes. The Text and Custom templates encode exactly what you type, including spaces, new lines, punctuation, Unicode, and emoji.
- Can I create a WhatsApp QR code?
- Yes. Enter a phone number with country code and an optional message. The QR contains a wa.me URL. No WhatsApp API is used.
Related tools
Continue with related browser-based tools on Toolshelf.
- Barcode Generator — Generate Code 128, Code 39, EAN-13, EAN-8, UPC-A and other barcodes online.
- URL Encoder & Decoder — Online URL encoder and decoder.
- Base64 Encoder & Decoder — Online Base64 encoder and decoder.
- Bulk Barcode Generator — Generate hundreds or thousands of barcodes from a CSV in your browser.
- Color Picker — Free online color picker with HEX, RGB, and HSL.
- WCAG Contrast Checker — WCAG contrast checker for text and UI colors.
- Color Palette Generator — Color palette generator from a base HEX.
- CSS Gradient Generator — CSS gradient generator for linear, radial, and conic backgrounds.
Ready to create a QR code?
Scroll up, encode your content locally, and download PNG or SVG.
Back to generatorUse cases
- For Designers — Pick colors, check contrast, and build palettes and gradients.
- Everyday Tasks — Notes, passwords, QR codes, and quick file conversions.
What would you like to do next?
Continue working with the next step in this workflow. Recently used tools in this set are listed first.
- Barcode Generator — Generate Code 128, Code 39, EAN-13, EAN-8, UPC-A and other barcodes online.
- URL Encoder & Decoder — Online URL encoder and decoder.
- Base64 Encoder & Decoder — Online Base64 encoder and decoder.
- Bulk Barcode Generator — Generate hundreds or thousands of barcodes from a CSV in your browser.
You may also need
Continue with related browser-based tools on Toolshelf.
- Barcode Generator — Generate Code 128, Code 39, EAN-13, EAN-8, UPC-A and other barcodes online.
- URL Encoder & Decoder — Online URL encoder and decoder.
- Base64 Encoder & Decoder — Online Base64 encoder and decoder.
- Bulk Barcode Generator — Generate hundreds or thousands of barcodes from a CSV in your browser.
- Color Picker — Free online color picker with HEX, RGB, and HSL.
- WCAG Contrast Checker — WCAG contrast checker for text and UI colors.
- Color Palette Generator — Color palette generator from a base HEX.
- CSS Gradient Generator — CSS gradient generator for linear, radial, and conic backgrounds.