Skip to main content

QR Code Generator

Generate a QR code as a crisp, scalable SVG — plain text, a phone number, a pre-filled email, or Wi-Fi credentials — with your own colours, quiet zone and error-correction level. Runs entirely in your browser.

Input

Settings

How much of the code can be damaged and still scan: L ≈ 7%, M ≈ 15%, Q ≈ 25%, H ≈ 30%. Higher levels need a bigger symbol for the same data.

The quiet zone, in modules. The spec requires at least 4 — go lower and some readers will refuse the code.

Pixels per module. The SVG scales losslessly, so this only sets its nominal width and height.

Keep it much darker than the background — scanners need the contrast, and a light-on-dark code will not read on many phones.

Output

SVG source
 
QR code

Your QR code will appear here.

Was this helpful?

Guides

What this QR code generator does

It turns text, a link, a phone number, an email or your Wi-Fi credentials into a QR code you can print, embed or hand out — and it gives you the result as SVG, so it stays razor-sharp at any size, from a business card to a shop window. There is no watermark, no account, no expiry, and no tracking redirect: the code encodes exactly what you typed and nothing else.

How to use it

  1. Pick a type: free text/URL, phone, email, or Wi-Fi connection.
  2. Fill in the fields. The code regenerates as you type.
  3. Adjust the settings if you want: error-correction level, quiet zone ("space around"), dot size, and the two colours.
  4. Copy the SVG source or download it as a .svg file.

Which error-correction level should I choose?

QR codes carry redundant data so a damaged or partly obscured code still reads. The level sets how much:

  • L — about 7% recoverable. Smallest code. Fine for a screen.
  • M — about 15%. The default, and the right choice for most printing.
  • Q — about 25%.
  • H — about 30%. Use it for codes that will be printed small, on textured surfaces, outdoors, or with a logo placed over the middle.

Higher levels need more modules for the same content, so the code gets denser.

Why does my QR code need the white border?

That border is the quiet zone, and it is part of the specification — scanners use it to find where the code begins. Four modules is the required minimum, which is the default here. Drop it to zero and many readers simply will not see the code, especially against a busy background.

Will a coloured QR code still scan?

Only if the contrast holds up. Scanners look for dark modules on a light background, so keep the foreground much darker than the background, and avoid inverting them (light code on a dark background fails on a lot of phones). If in doubt, test it with two different phones before you print a thousand of them.

How do I make a Wi-Fi QR code?

Choose Wi-Fi connection, enter the network name (SSID) and password, and pick the security type — WPA/WPA2/WPA3 for almost every modern network, WEP only for genuinely ancient hardware, or "None" for an open network. Guests point their camera at it and get a "Join network?" prompt; nobody has to read your password aloud. Characters like ;, : and \ in an SSID or password are escaped correctly, so awkward passwords still work.

Is my data private?

Yes. The QR code is encoded entirely in your browser — the encoder is built into the page. Your text, phone number, email body and Wi-Fi password are never uploaded, logged or stored. You can disconnect from the internet and this tool still works.

Is it a real, standards-compliant QR code?

It is. The encoder implements ISO/IEC 18004 in full: byte, numeric and alphanumeric modes, versions 1 through 40, all four error-correction levels, Reed–Solomon error correction, and automatic mask selection. Its output was checked module-for-module against an independent reference encoder, and every generated symbol was read back with a ZXing decoder — the engine behind most scanner apps — to confirm it decodes to exactly what went in.

qr codeqrgeneratorsvgwifivcardbarcode

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/qr-code-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "format": "text",
    "text": "https://iotools.cloud/",
    "ecLevel": "M",
    "margin": "4",
    "dotSize": "4",
    "background": "#ffffff",
    "color": "#000000"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `qr-code-generator` tool (QR Code Generator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Part of a workflow

All collections

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.