Image & MediaClient-Side Private

QR Code Generator

Create clean QR codes instantly in your browser. Customize colors, error correction level, and size. Download high-res PNG for print or web.

QR Data & Content
Instant Live Preview
Quick test URLs:
Color Palette & Themes
Optimal camera readability contrast
17.9:1
Center Icon & Frame Template
Quiet Zone Margin:2 blocks
Error Correction Level:H (High)
Live QR Card Preview
Level H
Export Resolution:

A QR code is a two-dimensional barcode that stores text — a URL, contact details, Wi-Fi credentials, a payment string — in a grid that any phone camera can read in a fraction of a second. This generator builds the code entirely in your browser and lets you download it at high resolution, which matters because a QR code scaled up from a low-resolution export will not scan reliably in print.

How to create a QR code

  1. Enter the content you want encoded. For a website, include the full https:// prefix so scanners open it directly rather than treating it as plain text.
  2. Adjust size and error-correction level if needed. Higher error correction survives damage and partial obstruction at the cost of a denser code.
  3. Preview the result and test it with your own phone camera before doing anything else.
  4. Download the image at the largest size offered, then scale down for your medium rather than scaling a small export up.

The QR Code Generator runs entirely in your browser — nothing you enter is uploaded, stored, or logged.

When to use this tool

Printed marketing material

Posters, flyers, and packaging use QR codes to bridge print and web. Print at a minimum of 2 × 2 cm for close-range scanning, and considerably larger for anything read from a distance.

Sharing Wi-Fi access

A Wi-Fi QR code lets guests join without typing a long passphrase. The encoded string follows the format WIFI:S:NetworkName;T:WPA;P:Password;; — note that anyone who photographs the code has your password permanently.

Menus, tickets, and event check-in

A code linking to a hosted page keeps the destination updatable after printing, which a code encoding the content directly cannot do.

Things worth knowing

  • Keep a quiet zone — clear margin — of at least four modules around the code. Codes cropped tight to the edge frequently fail to scan.
  • Maintain strong contrast, with a dark code on a light background. Inverted codes are not reliably read by all scanners.
  • Shorter content produces a less dense code that scans faster and from further away. Shorten long URLs before encoding.
  • Always test the printed code, not just the screen version. Ink bleed on uncoated stock can close the gaps between modules.

Frequently Asked Questions

Do these QR codes expire?

No, these are standard static QR codes and will work indefinitely.

Do these QR codes expire?

No. The code is a static image encoding your content directly, with no redirect service in between and no account tied to it. It will scan for as long as the image exists. The trade-off is that the destination cannot be changed after printing — if you need that, encode a URL you control and change where it points.

What error correction level should I choose?

Level M (about 15% recovery) suits most screen and print use. Choose Q or H (25% and 30%) when the code will be printed small, placed on a curved surface, exposed to wear, or overlaid with a logo. Higher levels make the code denser, so do not use H by default.

How much data can a QR code hold?

Up to about 4,296 alphanumeric characters or 7,089 digits at maximum size with minimum error correction. In practice, staying under roughly 300 characters keeps the code sparse enough to scan quickly with an ordinary phone camera.

Can I put a logo in the middle?

Yes, if you raise the error correction level to Q or H first and keep the logo under about 20% of the code's area, centred. Always re-test after adding it — a logo that covers a positioning marker in a corner will break the code entirely.

Is the QR code generated privately?

Yes. Encoding happens in your browser and the content you enter is never sent to a server. That matters for Wi-Fi passwords and anything else you would not want logged by a third-party generator.