# QR Code Generator

URL: https://discuvr.org/qr-code-generator/
Last updated: 2026-11-07
MCP tool: `generate_qr_code`

Turn any text or URL into a QR code and download it as PNG or SVG, with Low to High error correction. Free, no sign-up, your text is never stored.

QR codes are everywhere - on packaging, marketing materials, contact cards, WiFi signs and payment links. Generate them instantly from any text, URL or contact info. Choose PNG for a raster image or SVG for a vector version you can resize without loss.

## What it does

- Create QR codes from text, URLs, contact cards (vCard) or WiFi credentials.
- Download as PNG (raster) or SVG (vector, infinitely scalable).
- Adjust error correction (Low, Medium, Quartile, High) - higher levels survive damage better.
- PNG downloads are drawn at 10 pixels per module with a 2-module white border, so a short URL comes out at 290 x 290 px; the size slider only sets the preview.
- Free, no sign-up and no ads. Your text is never stored; only the output format is counted.

## How it works

1. Enter text, a URL, contact info, or WiFi credentials.
2. Choose PNG or SVG and an error correction level.
3. Click Generate and download your QR code.

## What is a QR code?

A QR code encodes text or a URL into a scannable square that cameras, phones and QR readers can instantly decode. They are used on product packaging (links to a manual or video), marketing materials (links to a website or email signup), WiFi signs (the network name and password), payment links (banking and mobile wallets) and contact cards.

## Error correction levels

A QR code can survive partial damage - dirt, creases or poor printing - and still scan correctly. Higher error correction levels use more of the code's capacity to protect against damage. Low (7%) is for clean digital display; High (30%) is for printed materials that might get handled or worn.

## Static codes never expire, and cannot be edited after printing

The code holds your text itself, not a link to a redirect service, so it keeps working for as long as the destination does: there is no subscription, no expiry date and no scan counter, and neither Discuvr nor anyone else sees who scans it. The other side is that the target cannot be changed later; a new destination means printing a new code. If the page may move, encode a short URL on a domain you control and redirect it from there. Short also scans better: at Medium, https://example.com/ (20 characters) gives a 25 x 25 module code, while a 97-character link with tracking parameters needs 41 x 41, so at 2 cm wide each module shrinks from 0.8 mm to under 0.5 mm.

## What to type for a link, phone number, email or contact card

The code stores exactly the text you type, and the scanning phone decides what to offer from how that text starts. For a link, include https:// so every scanner treats it as a web address. For a call, type tel:+919800000000 with the country code. For an email, mailto:name@example.com?subject=Invoice opens a draft with that subject. For a contact card, type a vCard with one field per line: BEGIN:VCARD, VERSION:3.0, N:Rao;Asha, FN:Asha Rao, TEL:+919800000000, EMAIL:asha@example.com, END:VCARD. Before printing, scan the result with two different phones.

## Questions

**How long can the text be?**

It depends on the error correction level: up to 2,953 characters at Low, 2,331 at Medium (the default), 1,663 at Quartile and 1,273 at High. These are bytes, so letters outside basic Latin, which take 2 or 3 bytes each in UTF-8, fit fewer characters. If the text does not fit, generation fails: lower the level or shorten the text.

**Can I generate a QR code for WiFi?**

Yes. Type the network details in this format: WIFI:T:WPA;S:Office;P:pass\;word;; The code holds exactly the text you type, so if the network name or password contains a backslash, semicolon, comma or colon, put a backslash before that character yourself, as in pass\;word. For an open network use T:nopass and leave out P. Phones that read WiFi codes then offer to join the network.

**What's the difference between PNG and SVG?**

PNG is a bitmap image - fixed resolution, works on any device. SVG is a vector - infinitely scalable without blur, great for print.

**Which error correction should I use?**

Medium (15%) is a good default. Use Low for clean digital display, High for printed materials that might be damaged or worn.

**Why is the downloaded PNG a different size from the preview?**

The size slider (50 to 500 px) only sets how large the preview is shown on this page. The file itself is always 10 pixels per module, so its size depends on what you encode: a short URL gives 290 x 290 px, a long text a larger image. For print, download the SVG and scale it to any size. The 2-module white border is narrower than the 4 modules the QR standard asks for, so leave some white space around the code when you place it.

**Can I make a UPI payment QR code?**

Yes. Type a UPI payment link in the format of NPCI's UPI Linking Specification, for example upi://pay?pa=yourid@yourbank&pn=Asha%20Rao&am=1500.00&cu=INR&tn=Invoice%2042. pa is the UPI ID that receives the money, pn the name the payer sees, am the amount (leave am out and the payer types any amount), cu is always INR and tn a short note. Write each space as %20. The code holds only this text, so the money goes straight from the payer's UPI app to that UPI ID and Discuvr never sees the payment. Test it with a small payment from another phone before you print it.

**Can I make a QR code for a PDF, an image or a Google Form?**

Yes, through a link. A QR code holds text, not files, so put the file online first and encode its address: upload the PDF or image to your website or to a cloud drive shared so that anyone with the link can open it, copy that link and paste it here. For a Google Form, use the link from the form's Send button. Test the code with a phone that is not signed in to your account, because a private link still scans but opens a sign-in or access-denied page. Replacing the file at the same address keeps the printed code working; a new link needs a new code.

**Why won't my printed QR code scan?**

Check four things. First, the white margin: the QR standard (ISO/IEC 18004) asks for 4 modules of blank space on every side and this tool's file has 2, so leave extra white around the code in your layout and keep it away from busy backgrounds and box edges. Second, module size: the longer the text, the more modules and the smaller each one prints, so shorten the link or print the code larger. Third, contrast and surface: keep the dark modules on a light background as downloaded, because many phone readers cannot read an inverted light-on-dark code, and avoid glossy lamination or curved surfaces that reflect light. Fourth, the content: if the screen preview scans but the print does not, the print is the problem; if the link opens an error page, the code is fine and the destination is not.

**Can I add a logo or change the colours?**

Not in this tool: every code is black modules on a white background, the highest-contrast combination, as PNG or SVG. If a designer places a logo over the SVG afterwards, generate it at High (30%) error correction, keep the logo small and in the centre, keep it clear of the three large corner squares the reader uses to find the code, and test with several phones before printing. A covered area uses up the same recovery capacity that would otherwise absorb dirt or creases. A coloured code needs dark modules on a much lighter background.

## More in Everyday Helpers

- [Unit Converter](https://discuvr.org/unit-converter/)
- [Password Generator](https://discuvr.org/password-generator/)
- [Word Counter & Readability Analyzer](https://discuvr.org/word-counter/)
- [Age / Date Difference Calculator](https://discuvr.org/age-calculator/)

## Often used with

- [Encode / Decode](https://discuvr.org/encode-decode/)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
