Quick answer: To create a QR code, enter the URL or text you want to share into a QR code generator, choose an image size and download the result. Keep the content short, test the code with a phone camera and print it large enough, with a clear margin around it.

Try the free QR Code Generator

Free, no sign-up, and built by the author of this guide.

Open the QR Code Generator

How QR codes work

A QR code is a two-dimensional barcode defined in the international standard ISO/IEC 18004. It stores data in a grid of black and white squares called modules. The three large squares in the corners let a scanner find the code and work out its angle.

Key properties from the standard:

  • Versions 1 to 40. Version 1 is 21 × 21 modules and each version adds 4 modules per side, up to 177 × 177 at version 40. More data needs a higher version, so the pattern gets denser.
  • Error correction levels L, M, Q and H. They can recover roughly 7%, 15%, 25% and 30% of damaged codewords. Higher levels are more robust but hold less data.
  • Quiet zone. The standard requires a blank margin of 4 modules on every side so scanners can separate the code from its surroundings.

A phone camera reads the pattern and decodes the stored text. If that text is a URL, the phone offers to open it.

Static and dynamic QR codes

The code you create here is static: the URL or text is stored inside the pattern itself. It does not expire and does not depend on any service to keep working, but it cannot be edited after printing. To change the destination, you print a new code.

A dynamic QR code stores a short redirect link run by a provider. You can change where it points later, but the code stops working if the provider shuts down or your subscription ends.

A practical middle ground is to encode a URL on your own domain, such as a short page you control, and change that page's redirect when needed.

How to use the free QR Code Generator

  1. Open the QR Code Generator.
  2. In Text or URL, enter the full link, including https://, or a short piece of text.
  3. In Size in pixels, enter the width of the square image. The tool accepts 100 to 1000 pixels and uses 300 if you leave the field empty.
  4. Click Generate QR code. A preview of the code appears below the button.
  5. Click Download QR code to save it as qr-code.png. On a phone you can also long-press the image and save it.
  6. Scan the code with at least two phones before you use it.

The code is drawn in your browser, so the text you enter is not sent to any server. The tool uses error correction level M and adds the standard quiet zone of four modules around the code. The image is rounded down to the nearest size where every module is a whole number of pixels, so a 300-pixel request may give a slightly smaller image. There are no options for colors or logos.

Suppose you want a table card that opens the menu at https://example.com/menu.

  • The URL is 24 characters long. In byte mode, a version 1 code holds at most 17 bytes at level L, while version 2 (25 × 25 modules) holds 32 bytes at level L and 26 at level M. So this link fits in a small, easy-to-scan version 2 code.
  • A long tracking link such as https://example.com/menu?utm_source=table&utm_medium=qr&utm_campaign=spring is 75 characters and needs version 4 or higher at level L. The modules become smaller for the same print size, so the code is harder to scan.
  • Enter the short URL, set Size in pixels to 1000 and generate. At 300 dots per inch, a 1000-pixel image prints at about 3.3 inches (8.5 cm) wide without upscaling.

Print a test card, scan it from the distance a seated customer would hold the phone, and only then print the full batch.

Common mistakes

  • Not testing before printing. A typo in the URL is printed into every copy. Scan the final file, not a draft.
  • Leaving out the scheme. Some scanners treat example.com as plain text. Include https://.
  • Encoding very long URLs. Long text creates a dense pattern. Shorten the URL on your own domain first.
  • Cropping the margin. Designers often trim the white border or place the code against a busy background. Keep the quiet zone clear.
  • Low contrast or inverted colors. Dark modules on a light background scan most reliably. Light-on-dark codes fail on some readers.
  • Printing too small. Scale the image up for posters and signs that are read from a distance, and do not stretch it into a rectangle.

Frequently asked questions

Do QR codes expire?+

A static QR code never expires because the data is stored in the pattern itself. It only stops being useful if the URL it points to stops working.

Can I change a QR code after printing it?+

Not a static one. If you expect the destination to change, encode a URL on a domain you control and update the redirect behind it instead.

What size should a printed QR code be?+

There is no single correct size; it depends on scanning distance and how much data the code holds. Print a test copy at the intended size and scan it from the real distance before printing in bulk.

Is it safe to put private data in a QR code?+

Anyone who scans the code can read everything in it, so treat a QR code as public. This generator creates the code in your browser and does not send your text anywhere, but avoid encoding passwords or other secrets on printed codes.

How much text can a QR code hold?+

ISO/IEC 18004 allows up to 2,953 bytes, 4,296 alphanumeric characters or 7,089 digits in a version 40 code at level L. In practice, short content produces codes that scan far more reliably.

Try the free QR Code Generator

Put this guide into practice in your browser.

Open the QR Code Generator