QR-Gen

Absolutely Free QR Code Generator

1 Paste a link
→
2 Upload your logoOptional
→
3 Download your QR code
100% free No login required Nothing stored or tracked
High · ~30%
✓ QR Code copied to clipboard!
Advanced Options
4

QR Code Info

Error Correction—
Redundancy—
Matrix Size—
Module Block Size—
Data Density—
Color Scheme—

A short history of the QR code

The format is 30 years old, invented for a problem that has nothing to do with menus or Wi-Fi passwords.

1994

Denso Wave engineer Masahiro Hara invents the QR code to track automotive parts on Toyota's assembly lines — barcodes could only hold about 20 characters and needed several scans to read a full part number.

1999–2000

The format becomes an ISO/IEC international standard. Denso Wave keeps the patent but chooses never to enforce it for standard QR codes — a decision that let anyone print or scan one for free, and a big reason it spread.

2002

Japanese feature phones ship with built-in QR readers, and the codes start showing up on ads, business cards, and product packaging across Japan.

2011–2017

Smartphone cameras get good enough to read them reliably, then gain native scanning without a separate app — but outside Japan, adoption stays fairly niche for years.

2020

Contactless menus, venue check-ins, and payment links during the pandemic turn QR codes into a global habit almost overnight.

Today

Wi-Fi logins, boarding passes, contact cards, crypto wallet addresses — same 1994 structure underneath all of it.

How a QR code encodes data

A QR code doesn't store every kind of content the same way — it picks the most efficient of four modes for what you're encoding, which is part of why a short phone number and a long URL end up looking so different in density.

Numeric

Digits 0–9 only. The most efficient mode there is.

Up to 7,089 characters

Alphanumeric

Digits, capital letters, and a handful of symbols like $ % * + - . / : and space.

Up to 4,296 characters

Byte

Any raw data — URLs, mixed-case text, emoji. Least efficient per character, and what most links use.

Up to 2,953 bytes

Kanji

Japanese and Chinese characters, packed two bytes at a time.

Up to 1,817 characters

Those numbers are the ceiling — the largest QR code (Version 40) at the lowest error-correction level. Real capacity drops as you add redundancy or mix modes in one code.

Anatomy of a QR code

Every colored region below maps to a real structural part of the grid — and to the stats shown above in the generator.

Finder patterns

Three identical squares in three corners, so a scanner can locate and orient the code from any angle — including upside down.

Alignment pattern

Keeps the grid straight when a code is printed on a curved or slightly warped surface. Larger codes get several of these.

Timing pattern

The dashed line of alternating dark and light modules that tells the scanner exactly where each row and column starts.

Format information

A small strip recording which error-correction level and mask pattern the code uses, so the scanner knows how to read the rest.

Data + error correction

Everything else — the actual message, plus the redundancy that makes the code recoverable when part of it is missing.

Quiet zone

The blank margin required on every side. Without it, a scanner can't tell where the code starts.

Every QR code is a square grid of modules — the individual black or white squares — and comes in one of 40 sizes, called versions. Version 1 is a tidy 21×21 grid; Version 40 balloons to 177×177. The formula: modules per side = (version × 4) + 17.

Error correction & redundancy

QR codes use Reed–Solomon error correction to rebuild themselves when part of the code is damaged, dirty, or covered by a logo. More redundancy means a more damage-resistant code, but it eats into how much data — or how big a logo — you can fit.

L

~7% recoverable. Still scans if roughly 1 in 15 modules is unreadable — good when the print stays clean and you want to pack in more data.

M

~15% recoverable. The default most generators ship with — a reasonable balance for general use.

Q

~25% recoverable. A solid choice once you're adding a small logo or expect some wear.

H

~30% recoverable. The most damage-resistant level — use it with a full logo overlay or a code that'll live outdoors.

Static vs. dynamic QR codes — and the free-QR trap

Not every QR code works the same way once it's printed. This one difference explains why some "free" generators ask you to log in — and why some printed codes quietly stop working months later.

Static
What it stores
Your link or text, encoded directly into the grid.
Who controls it
Nobody but you — there's no server sitting in between.
Does it expire
No. It works for as long as your own destination stays live.
Login required
Never — there's nothing on anyone else's server to manage.
Dynamic
What it stores
A short redirect link owned by the QR provider, which forwards to your real destination.
Who controls it
The provider — they own the redirect, not you.
Does it expire
It can — if you stop paying, let the account lapse, or the provider shuts down.
Login required
Yes — someone has to manage which redirect points where.

Why "free" dynamic QR codes go dead

A dynamic code never actually contains your link — it contains a short link that belongs to whoever generated it. That's the whole point: it lets them (or you, if you're paying) change the destination later, and track scans. But it also means every printed copy of that code — menus, packaging, storefront decals, thousands of flyers — depends entirely on that provider's server staying online and your account staying active. Free tiers commonly cap monthly scans and put up an upgrade wall once you cross it, or stop honoring the redirect the moment you cancel. Since the code itself was never yours, there's no way to fix it after the fact — only reprint.

  • Requires an account or email before you can even download the code
  • Free tier caps how many scans it'll honor per month
  • Warns that your code will "expire" or "need renewal"
  • Asks for a credit card to start a "free" plan
  • Shows the provider's own branding on the redirect page unless you upgrade

Dynamic can genuinely make sense when...

  • You need to change the destination after the code is already printed (a menu that updates seasonally, for instance)
  • You want scan analytics — count, rough location, device type
  • You're comfortable depending on a paid service staying in business for as long as the code needs to work

Static is the safer default when...

  • The destination is permanent, or you can reprint if it ever changes
  • You don't want a third party able to break, redirect, or monetize a code you already printed
  • You'd rather have nothing to manage, log into, or keep paying for

Every code this generator produces is static — your link is baked directly into the grid up above, not routed through a server we run. It'll keep working long after any QR generator, including this one, stops existing.

Designing a QR code that actually scans

Most failed scans trace back to one of these.

Keep the quiet zone

Leave blank space — about 4 modules — on all four sides. A busy background right up to the edge is the most common cause of failed scans.

Go dark-on-light

A scanner reads contrast, not color. Dark modules on a light background scan far more reliably than the reverse.

Match error correction to your logo

A logo blocks part of the code. Bump the error-correction level to Q or H so there's enough redundancy to compensate.

Size it for the distance

Rule of thumb: the code should be at least 1/10th the scanning distance. A code scanned from a meter away needs to be at least 10cm across.

Test before you print thousands

Scan it on a few different phones and lighting conditions before committing to a large print run.

Don't swap the link after printing

If the destination URL changes later without regenerating the code, old prints point to a dead link — use a redirect you control if the destination might change.

A few things worth knowing

01

"QR" stands for Quick Response — the entire point was reading it faster than a barcode.

02

Denso Wave still owns the patent but has never enforced it for standard QR codes. That call is a big reason the format spread so fast.

03

The three corner squares are deliberately identical and rotation-independent, so a scanner can read a code held sideways or upside down.

04

A single QR code can hold a Wi-Fi password, a contact card, a calendar invite, or a wallet address — not just a link.

05

The largest possible QR code, Version 40, can store 7,089 digits in one image.

Frequently asked questions

Is this QR code generator really free?

Yes. There's no paywall, no watermark, and no limit on how many codes you generate. It's free for personal and commercial use.

Do I need to create an account or log in?

No. The tool works entirely in your browser with no sign-up, no login, and nothing to remember a password for.

Will my QR code ever expire or stop working?

No. It encodes your link or text directly (a "static" QR code), so it works for as long as the destination itself is live — there's no subscription tied to it.

Can I add my own logo to the QR code?

Yes. Upload a PNG logo and it's embedded in the center, with an adjustable colored border and error-correction level so the code still scans reliably.

What does the error correction level actually do?

It controls how much of the code can be damaged, dirty, or covered by a logo and still scan. Low recovers about 7% of the code, High recovers about 30%.

Do you store or track the links I generate?

No. The QR code is generated locally in your browser. Nothing you enter is uploaded, logged, or stored.

What's the difference between a static and dynamic QR code?

A static code has your actual link baked directly into the grid. A dynamic code stores a short link owned by the QR provider, which then redirects to your real destination — that's what lets it be edited later, but it also means it depends on the provider's server staying online.

Why did my QR code stop working or start redirecting somewhere odd?

This almost always happens with dynamic codes: if the account behind it lapses, the free-tier scan limit is hit, or the provider shuts down, the redirect breaks or gets reassigned — and every printed copy of that code stops working at once, with no way to fix it short of reprinting.

Is the QR code from this generator static or dynamic?

Static. Your link is encoded directly into the code itself, not routed through a server we run — so it keeps working independently of this site.

Now go change the error-correction level and watch the grid react.

Scroll back up and see how redundancy, matrix size, and data density all move when you adjust one setting.

Back to the generator