QR code generator — links, text, phone, SMS and email as PNG and SVG

Choose what the code should hold — a link, plain text, a phone number, an SMS or an email — and the tool draws the QR code as you type, ready to download as a PNG or an SVG.

Live demo · real result from this tool
Error correction

Press Generate to create a result.

Processed on your device — nothing is uploaded.

How to use the QR code generator

  1. Pick the Content type: Link (URL), Plain text, Phone number, SMS or Email.
  2. Type into Link, text, phone number or email address. For SMS, add a Message. For Email, add an Email subject and a Message if you like.
  3. Choose Error correction: L 7%, M 15% (default), Q 25% or H 30%.
  4. Set the Code colour and Background, or tick Transparent background (SVG and PNG).
  5. Set the Quiet zone (0–8 modules, default 4) and the PNG size (2–40 px per module, default 12).
  6. The code updates as you type. Check the Encoded content line, scan the preview with your phone, then download the PNG or SVG.

What it does and when to use it

A QR code lets a phone camera open something without typing. This generator covers the everyday jobs:

  • Link (URL): a menu, booking page or form on a poster, flyer or business card. If you leave out https://, it is added for you.
  • Plain text: a serial number, a locker note or a puzzle clue. The phone shows the text; nothing opens.
  • Phone number: a tel: link that opens the dialler. Spaces, brackets and dashes are removed, a leading + is kept, and a leading 00 is turned into +.
  • SMS: an sms: link with the number and an optional pre-filled message, for bookings or opt-ins.
  • Email: a mailto: link with the address, subject and body filled in, for support requests or entries.

Each result shows the exact Encoded content a phone will read, plus the QR version, Modules per side and Characters.

For a Wi-Fi login card, use the Wi-Fi QR generator. For a contact card that saves to the phone’s address book, use the vCard generator. For retail barcodes such as EAN or Code 128, use the barcode generator.

How it works

The content is turned into a QR matrix by the open-source qrcode library, which picks the smallest version that fits your content at the chosen error correction level. QR Code has 40 versions. Version 1 is 21 × 21 modules (squares), and each version adds 4 modules per side, up to 177 × 177 for version 40.

From that matrix the tool draws two files:

  • SVG: one vector path, sharp at any size.
  • PNG: each module drawn as a block of the size you set, so its width is (modules per side + 2 × quiet zone) × PNG size.

It warns you when the contrast ratio between code colour and background is under 4, or the quiet zone is under 4 modules. Everything happens in your browser; nothing is uploaded.

Worked examples

These results come from the tool’s own function.

A shop’s web address. Content Link, text toolsrift.com. The encoded content becomes https://toolsrift.com (21 characters). The stats show QR version: 2 and 25 modules per side. With the default quiet zone of 4 and 12 px per module, the PNG is (25 + 8) × 12 = 396 px square.

The same link at error correction H. The code grows to version 3, Modules per side: 29, and the PNG to (29 + 8) × 12 = 444 px. Same content, more repair data, a denser code.

A phone number for a flyer. Content Phone number, text +44 20 7946 0958. The encoded content is tel:+442079460958, which fits in version 1, the smallest code of 21 × 21 modules.

A booking text message. Content SMS, number +1 (503) 555-0142, message “Table for 2 at 7pm”. The encoded content is sms:+15035550142?body=Table%20for%202%20at%207pm: spaces in the message are written as %20. That needs version 4, 33 modules per side.

A tight margin. Quiet zone 2 triggers the warning “A quiet zone under 4 modules may not scan…”.

Error correction is a trade-off

QR codes use Reed–Solomon error correction, so they still scan when partly dirty or damaged. DENSO WAVE, which invented QR Code, gives the recovery levels as about 7% (L), 15% (M), 25% (Q) and 30% (H). More correction means more modules for the same content, as the H example shows, so at the same printed size each module is smaller and harder to read from a distance.

Size, quiet zone and contrast

QR Code needs a clear margin four modules wide on every side, the quiet zone, so scanners can find where the code starts. A code printed right against text or a picture is a common reason it will not read, which is why the tool warns below 4.

A common rule of thumb is to make the code at least one tenth of the scanning distance: about 3 cm wide for a card held at arm’s length, and about 30 cm for a poster read from 3 metres. Keep it dark on light: some scanners do not read inverted codes. The contrast warning catches pale colours such as light grey on white. With a transparent background, place the code on a light, plain area.

Keep content short, and plan for change

More content means a higher version and smaller squares, so shorten long tracking links before encoding them. A printed code holds what you typed for good. If the destination might change, encode a short address on a domain you control and redirect it; that redirect is all a “dynamic” QR service does. People cannot see where a code leads before scanning, and fake codes stuck over real ones are a known scam, so print the address in text next to your code where you can.

Limits and tips

  • No logo, frame or colour gradient is added; the tool makes clean, standard codes.
  • Use the SVG or a large PNG size for print. If an upload limits file size, a compressor can shrink the PNG.
  • Test brand colours with the colour contrast checker, and always scan the printed proof.

Frequently asked questions

Do these QR codes expire?
No. The code is a fixed pattern that holds your content directly, with no service in between, so it works for as long as the thing it points to exists. Codes sold as "dynamic" encode a redirect address that the seller controls, and they stop working if that service ends or you stop paying.
What error correction level should I use?
M, the default, for most uses. Higher levels add more repair data, so the code gets denser and each square gets smaller at the same printed size. Choose Q or H when the code will be printed on something that gets scuffed or creased, and print it larger to make up for the extra density.
Why will my QR code not scan?
Usually a missing quiet zone, a code too small for the scanning distance, too much content, low contrast, or light squares on a dark background. Test with more than one phone before printing in bulk.
Can I add my logo in the middle?
Not in this tool; it draws plain codes. If you add a logo in a design program, choose error correction H, keep the logo small and test carefully.
Should I download PNG or SVG?
SVG for print and design work, because it stays sharp at any size. PNG for documents, slides, websites and chat apps that do not accept SVG. Set PNG size high enough that the image is at least as big as it will be shown.
Is the content I type sent anywhere?
No. The code is made in your browser with the open-source qrcode and fflate libraries, which load with this page. Nothing you type is sent to a server, and scans are not tracked.

Sources

  1. Error correction feature — DENSO WAVE, accessed 2026-10-07
  2. Information capacity and versions of QR Code — DENSO WAVE, accessed 2026-10-07
  3. Basics of QR Code: quiet zone and module size — DENSO WAVE, accessed 2026-10-07

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close