← Back

QR Code Generator

Generate a QR code from text or a link, adjustable color, downloadable

Common Content Types (click to fill in the matching template, then edit the content)
#17181C
#FFFFFF
Preview

About QR Code Generator

This QR code generator encodes a piece of text exactly as written into a PNG image. Whether it is a URL, a phone number, Wi-Fi details or a contact card, the code stores only the string you typed, and the scanning app interprets it afterwards. It does not create expiring "dynamic" codes or track scans; once generated the content is fixed, and changing the destination means making a new code. It is best for one-off posters, business cards, table stickers and product-manual codes.

How to use it

  1. Under "Common Content Types" click a button (URL, Plain Text, Phone, SMS, Email, Wi-Fi, vCard) to drop a template into the "Content" box, or just type your own.
  2. Replace the sample values in the template with your real ones; the preview refreshes as you type.
  3. If you want a logo, click "Upload Logo Image". On upload, if the error correction level is Low (L) or Medium (M) it is switched to High (H) automatically.
  4. Adjust "Size" (120-480px), "Error Correction Level", "Foreground Color" and "Background Color".
  5. Click "Download PNG" to save qrcode.png. Scan it with a real phone before you use it.

Choosing a content format and a correction level

The templates use the notations that scanning apps commonly recognise: tel:number for a phone, SMSTO:number:message for SMS, mailto:address?subject=...&body=... for email, WIFI:T:WPA;S:network;P:password;; for Wi-Fi, and plain vCard text for a contact. Keep the colons and semicolons as they are and replace only the sample values. If a Wi-Fi password contains special characters such as semicolons or commas they may need escaping according to the format, and this tool does not do that for you, so check there first when a Wi-Fi code will not scan. The levels L, M, Q and H recover progressively more damaged data and produce progressively denser patterns for the same content. As a guide: for print or screen display without a logo, M (the default) is enough; for stickers or outdoor material likely to be creased, dirty or worn, use Q or H; with a logo, use H. For example, we generated https://example.com and observed a 25×25-module matrix at L and M and 29×29 at H. Longer URLs get denser, and denser codes are harder to scan when small or from far away.

What actually happens when you add a logo

The logo is drawn in the center at 20% of the image width, on top of a white box padded by about 12% of the logo's side, so together they cover roughly 6% of the total area. That box is always pure white regardless of your background color, so on a non-white background the logo carries a visible white frame. The logo is painted on top of the finished code rather than leaving a reserved gap inside it, so you are relying entirely on error correction. Use H, and test with a real phone before downloading. There is no setting for logo size.

Supported range and known limitations

  • Capacity: for plain ASCII text, about 2953 characters at L, 2331 at M, 1663 at Q and 1273 at H (measured against the library the tool uses). A Chinese character takes 3 bytes in UTF-8, so pure Chinese tops out around 984 characters at L, 777 at M, 554 at Q and 424 at H. Beyond that the page shows "Content is too long or contains characters that cannot be encoded in a QR code" and downloading is disabled. A code that full is hard to scan anyway, so keep content short and use a short URL for long targets.
  • Output is PNG only, at most 480px. That is low resolution for a large printed poster and will look soft when enlarged; there is no SVG or larger export, so consider your final use before you commit.
  • The blank margin around the code is fixed at 2 modules, narrower than the 4 the standard recommends. When placing the code on a dark or busy layout, leave extra white space yourself.
  • Foreground and background need strong contrast, with the foreground darker. Inverted codes (light on dark) are not read by some scanners, and the tool gives no warning.
  • An empty content box shows "Please enter the text or link to generate a QR code for" and downloading is disabled.

My QR code won't scan

Check in this order: is the content too long (switch to a shorter URL); is the contrast between foreground and background too low; did you add a logo without using H; is the image displayed or printed too small (raise the size and download again); did you change the background from white so the logo's white box now stands out. After that, try a different scanning app.

How do I make a Wi-Fi code?

Click the "Wi-Fi" button, put the network name after S: and the password after P:. T:WPA covers the common WPA/WPA2 security. When scanned, most phones offer to join the network. Which phones and apps support it depends on the camera or scanner itself.

Can I change the URL in the code later?

No. This produces a static QR code with the URL written into the pattern. If the target may change, point the code at a page you control and can redirect.

Is what I type uploaded anywhere?

No. The code is drawn by script in your browser, the tool makes no request that sends your content or logo to a server, the logo is only painted onto the local canvas, and the downloaded PNG is generated by the browser itself.