QR Code Generator

Create QR codes for text, links, Wi-Fi, email, or phone numbers — with an optional logo.

Processed locally — your files remain on this device

Processing… this happens entirely in your browser.

Result

Completed Completed with a note

How it works

  1. Choose a QR type: text, URL, Wi-Fi, email, or phone.
  2. Fill in the relevant fields.
  3. Adjust size, error correction, and colors.
  4. Optionally add a logo image to the center of the code.
  5. Download the QR code as a PNG.

Supported formats & limitations

  • PNG (output)
    Downloadable image of the generated QR code.
  • Logo (input)
    PNG, JPEG, WebP, or SVG, up to 10 MB.
  • Very low contrast between foreground and background colors can make a QR code hard to scan.
  • Wi-Fi QR codes only work with the network security type selected.
  • A logo covers part of the code, so it’s only reliably scannable with High error correction and a reasonably sized logo.

Frequently asked questions

Does creating a QR code send my data anywhere?

No, the QR code — including Wi-Fi passwords and any logo image — is generated entirely in your browser.

What error-correction level should I use?

Higher levels tolerate more damage or obstruction but produce a denser code; medium is a good default, and High is recommended whenever a logo is added.

Why does it warn about my colors?

Low contrast between foreground and background can prevent phone cameras from scanning the code reliably.

How does adding a logo not break the code?

QR codes include built-in error correction that can reconstruct a meaningful portion of the pattern even when part of it is covered — a logo just needs to stay within that margin.

Troubleshooting

Why won’t my QR code scan?

Low contrast between foreground and background, a very small print size, or a higher error-correction setting on a very dense payload (like a long Wi-Fi password) can all reduce scan reliability. Try darker colors and a larger download size.

Why does the code change shape after I edit the content?

The dot pattern is generated from the data itself, so any change in content, error-correction level, or size will change the resulting pattern — this is normal.

Why does it warn me after adding a logo?

The warning appears when error correction is set below High while a logo is present — switch it to High, or reduce the logo size, for reliable scanning.

Something not working as expected? Send feedback about this tool.