QR Code Generator

Make a QR code for any link or text, customize it, and download it as PNG or SVG.

ContentWebsite link

The code opens this page when scanned. It never expires because the link is stored in the code itself.

ColorsThemes and colors
ShapeDots and corners
Dot style
Corner style
LogoNone

Error correction is set to High automatically so the code still scans with a logo on top.

AdvancedMargin, error correction
Error correction

Higher levels survive damage and logos but make the code denser.

More free toolsAll tools →

How to use, tips & FAQ

How to make a QR code

  1. Choose what the code should contain from the tabs at the top: a URL, plain Text, Wi-Fi login, Email, Phone, SMS or a Contact card.
  2. Fill in the form. The preview updates as you type.
  3. Make it yours: pick a color theme, round the dots and corners in Shape, or add your Logo in the middle. Error correction is raised automatically so the code still scans.
  4. Choose the download size and save it as PNG for documents and social media, or SVG for print and design software, where it scales to any size without blurring.

The QR code is generated in your browser. Nothing you type is sent to a server, which matters when you are encoding a Wi-Fi password or a private link. Watch for the warnings under the preview: they tell you when colors are too light or the code is too dense to scan reliably.

Do these QR codes expire?

No. These are static QR codes: the link or text is stored directly inside the pattern. There is no redirect service in between, so the code keeps working forever and nobody can switch it off or put it behind a paywall later. Many “free” QR sites create dynamic codes that point to their own short link and stop working when a trial ends — static codes avoid that problem.

The trade-off is that a static code cannot be edited after printing. If the destination might change, point the code at a page you control, such as your own website, and update that page instead.

Tips for codes that scan reliably

  • Keep strong contrast. Dark code on a light background works best. Some phone cameras cannot read light-on-dark (inverted) codes.
  • Leave a quiet zone. The blank border around the code helps scanners find it. Don’t crop it off or place text right against the edge.
  • Print it big enough. A good rule of thumb is a width of at least one tenth of the scanning distance: about 2 cm (0.8 in) for a business card held in the hand, 10 cm (4 in) or more for a poster read from a metre away.
  • Shorter is better. Longer content makes a denser pattern that is harder to scan. Use short links where possible.
  • Test before printing. Scan the downloaded file with two different phones.

What is error correction?

QR codes contain extra redundant data so they can still be read when part of the code is dirty, scratched or covered.

Level Can recover Best for
Low about 7% Screens, clean surfaces, maximum content
Medium about 15% Most uses (default)
Quartile about 25% Outdoor signs, packaging
High about 30% Codes with a logo placed on top, harsh conditions

Higher levels make the pattern denser, so pick the lowest level that suits where the code will be used.

Frequently asked questions

How does the Wi-Fi QR code work?

It uses the standard Wi-Fi QR format supported by the camera apps on iPhone (iOS 11 and later) and Android (10 and later). Guests point their camera at the code and tap to join, without typing the password.

Can I use these QR codes commercially?

Yes. The codes are yours to use on menus, packaging, flyers, business cards or anywhere else, with no attribution required.

PNG or SVG — which should I download?

PNG is a regular image that works everywhere. SVG is a vector file: it stays perfectly sharp at any size, which makes it the better choice for professional printing, signs and design tools such as Illustrator, Figma or Canva.

Is there a limit on how much text I can encode?

A single QR code can hold roughly 2,000 characters of text at medium error correction, but codes with that much data are hard to scan. For anything long, put the content on a web page and encode the link.

Last updated: