TestingAPIs is still being built. If something breaks, email support@testingapis.com.

QR code generator

Runs in your browser; nothing is uploaded

Make a QR code for a link, text, Wi-Fi network, email or phone number, and download it as PNG or SVG.

Content

Phones open the link when the code is scanned.

Encoded text
Nothing yet

QR code

Nothing to encode yet

Enter a URL on the left. The code updates as you type.
Ready

How QR codes work

A QR code is a two-dimensional barcode: a square grid of dark and light modules that a phone camera reads in a fraction of a second. The three large squares in the corners tell the scanner where the code is and which way up it is; the rest of the grid holds the data and the error correction.

There are 40 sizes, called versions, from 21×21 modules (version 1) to 177×177 (version 40). This tool picks the smallest version that holds your content and the most compact way to encode it: digits only, uppercase letters and a few symbols, or bytes (UTF-8) for everything else. A short URL gives a small, simple code that scans from further away.

Error correction lets a scanner rebuild the content when part of the code is dirty, damaged or covered. Level L recovers about 7% of the code, M 15%, Q 25% and H 30%; higher levels need more modules for the same content. M suits most screens and prints; use Q or H for codes that may get scratched, or that have a logo printed over the middle.

How to use this tool

  1. 1Choose what the code holds: a URL, plain text, a Wi-Fi network, an email or a phone number, and fill in the fields. Encoded text shows exactly what goes into the code.
  2. 2Pick the error correction level and the margin (quiet zone). Four modules of margin is what the standard asks for; less can stop some scanners finding the code.
  3. 3Change the module and background colors if you need to. The tool warns when the contrast is too low or the code is lighter than its background.
  4. 4Scan the preview with your phone to check it works. The status bar shows the version, size, mode and how much of the version's capacity is used.
  5. 5Download a PNG at about 512, 1024 or 2048 pixels, or an SVG that scales to any size (Ctrl+S and Ctrl+Shift+S), or copy the PNG as a data URL or the SVG markup.

Troubleshooting

Phones show the address as text instead of opening it
Start the URL with https://. Without a scheme, scanners treat example.com/page as plain text.
Too long for a QR code
A version 40 code holds at most 2,953 bytes at level L and 1,273 at level H. Choose a lower level, shorten the URL or remove tracking parameters. Characters outside basic Latin take two to four bytes each in UTF-8.
The code doesn't scan from a printout
Keep the four-module margin, print it at least 2 cm (about an inch) wide for a short URL, use dark modules on a light background, and avoid glossy surfaces that reflect light.
Joining the Wi-Fi network fails
Check the security type: WPA covers WPA, WPA2 and WPA3. Names and passwords are case-sensitive; the tool escapes the characters ; , : \ " that the format reserves.

Frequently asked questions

Is my content sent to a server?

No. The code is encoded and drawn in your browser. Your settings (level, margin, colors) are saved in this browser; the content you enter is not.

Do the QR codes expire?

No. The content is stored in the image itself, not on a server, so the code works for as long as the link or details in it are valid.

Is the Wi-Fi password safe in a QR code?

It is stored as plain text, so anyone who scans the code, or photographs it, can read the password. Only share Wi-Fi codes where you would share the password itself, such as a guest network.

PNG or SVG?

SVG is a vector image that stays sharp at any size, which suits print and web pages. Use PNG where SVG isn't accepted, such as some document editors, at a size close to the one it will be shown at.