Skip to content

QR Code Generator

Type or paste a URL, Wi-Fi credential string, or any other text and get a QR code back instantly, ready to download as a PNG. Choose the error correction level based on whether the code needs to survive being printed small or partially obscured.

  • Works with URLs or any plain text
  • Four error correction levels
  • Downloadable as PNG
  • Updates live as you type
  • Runs fully client-side

Generator

Generated locally, nothing uploaded

How to generate a QR code

  1. 01

    Enter the content

    Type or paste the URL or text the QR code should encode.

  2. 02

    Pick an error correction level

    Higher levels tolerate more damage or obstruction but produce a denser code.

  3. 03

    Download the PNG

    Save the generated QR code image to use in print or digital material.

What error correction level actually changes#

A QR code encodes redundant data so a scanner can still read it even if part of the code is damaged, dirty, or covered by a logo — the error correction level controls how much redundancy is built in. Level L tolerates about 7% damage and produces the least dense, easiest-to-scan code for a given amount of data; level H tolerates roughly 30% but packs the same data into a visually denser pattern. For a code that will be printed small, placed on a busy background, or have a logo overlaid on the center, a higher level is worth the extra density. For a simple link shared on a clean digital screen, level M or even L is plenty.

What can go into a QR code besides a URL#

A QR code just encodes text — a URL is the most common use, but Wi-Fi credentials (WIFI:T:WPA;S:NetworkName;P:password;;), a phone number (tel:+1234567890), an email address (mailto:[email protected]), or plain unformatted text all work the same way. The scanning app on the receiving end is what decides how to interpret the encoded string — a URL opens a browser, a tel: link offers to dial.

Why very long text fails to generate#

A QR code has a hard data ceiling — roughly 2,950 characters at the lowest error correction level, less at higher levels, since more of the code's capacity goes to redundancy instead of data. Past that limit generation fails outright rather than silently truncating the content, which is why a very long block of text or an oversized data string needs shortening (a URL shortener, for instance) before it will encode.

Frequently asked questions

Which error correction level should I use?

Level M is a reasonable default. Use a higher level (Q or H) if the code will be printed small, placed on a busy background, or have a logo overlaid on it — use L if you want the least dense code possible for a simple digital link.

Can I put a Wi-Fi password or phone number in a QR code, not just a URL?

Yes — a QR code just encodes text. A properly formatted string like `WIFI:T:WPA;S:NetworkName;P:password;;` or `tel:+1234567890` works, and the scanning app interprets it accordingly.

Why did generation fail for my text?

QR codes have a hard capacity limit, roughly 2,950 characters at the lowest error correction level and less at higher levels. Shortening the content, or using a URL shortener for a long link, resolves it.

Does this QR code ever expire?

No. This generates a static QR code that encodes your content directly — there is no tracking redirect and no subscription behind it, so unlike some "dynamic" QR services, there is nothing that can expire or stop working after a trial period.

Is my text or URL sent to a server to generate the code?

No. The QR code is generated entirely in your browser — nothing is uploaded.