Free QR code generator

Turn any link into a QR code you can download, print and scan. No account, no redirect service and no expiry date.

0 / 2,000 characters

Paste any link, or type text you want the code to show.

Style

Medium is the default. Higher levels survive more damage but make the code denser.

#111111
#ffffff

Keep the white border. Cropping it is the most common reason a printed code fails.

PNG, JPEG, WebP or GIF under 2 MB and 16 megapixels. It covers at most 20% of the width, on a background-coloured tile; your image stays in this browser.

SVG has no fixed size; it stays sharp at any print size.

Example code for unlockable.org. Enter your own link to replace it.

Your link and logo never leave your device.

Scan it with your phone camera before you print it.

This tool does not check where a code points. Only scan codes from sources you trust.

Make a QR code for…

How QR codes work, in plain terms

A QR code is a square grid of dark and light modules. Those modules encode a string of data — usually a web address — in a pattern a camera can read. It is not an image container. The code cannot hold your photograph, PDF or audio file; it holds a pointer to wherever that file already lives.

That distinction matters when you choose where to host the file. If the file is already on Google Drive, Dropbox, Spotify or your own site, paste that link above. If it is not online yet, the link needs a home before the QR code can have something useful to say.

The three squares in the corners are finder patterns. They tell the camera where the code is and which way up it sits. The white border around the code is the quiet zone; it is part of the design, not spare space.

Free QR codes with no expiration

The codes from this page are static. The full link is written into the pattern. There is no redirect in the middle, no account holding it and no service that can switch it off or start charging to keep it alive. If you print the code and keep the link live, the code keeps working.

A dynamic QR code points at a short redirect controlled by a provider. That lets the provider change the destination after printing and count scans. The trade-off is dependence: if the provider stops, the redirect stops, and the printed code is dead. This generator does not make dynamic codes.

On an Unlockable link there is a middle ground. The link behind the QR code can be set to expire, or capped at a number of unlocks, when the creator chooses. The QR code itself is still static; the creator is choosing how long the destination stays open, not asking a redirect service to manage it.

Add a logo to a QR code

A logo is optional, but it makes a code feel like part of a poster rather than a utility mark. Open the Style panel and choose a local image. It is read in the browser and never uploaded.

The logo covers at most 20% of the code’s width and sits on a background-coloured square with one module of padding. When a logo is added, error correction is forced to High: the centre of the code is covered, so the code needs more redundancy to reconstruct the missing modules. The trade-off is density — the same link may need a larger code at High than at Medium.

Test a logo code on two phones before you print. A logo that looks clear on a monitor can still cover too much of a small printed code.

Colours, contrast and the quiet zone

Dark modules on a light background scan most reliably. The defaults, near-black on white, give the strongest contrast. If you change them, aim for a ratio of at least 4:1; the generator warns below that. It also warns when the foreground is lighter than the background, because an inverted code fails on many phone cameras.

Keep the quiet zone. Four modules is the default here and it is the safe choice. Cropping the white border is the most common reason a printed code fails, especially when a code is placed close to a photograph or a coloured edge. The slider allows two to eight modules; do not go below four unless the printer and the placement are both very controlled.

How big should a printed QR code be?

These are rules of thumb, not a standard. Do not print a code smaller than about 2 cm (0.8 in) square. Allow roughly 1 cm of code for every 10 cm of scanning distance: a code on a poster read from two metres away wants about 20 cm. A code on a business card can be smaller than one on a market-stall sign.

Print a proof on the actual material before a full run. Glossy paper, curved bottles and dark backgrounds change how a camera sees the code. A code that scans on screen can fail on a laminated poster.

Nothing leaves your browser

The link, the logo and the generated code stay on your device. There is no upload, no analytics event containing what you typed, and no server-side rendering of your input. The example code is generated at build time from a fixed address; it is replaced in your browser as soon as you type.

The page still works without JavaScript for reading and printing the example. The downloads need JavaScript because they are generated from the code in the browser.

Frequently asked questions

Is this QR code free?
Yes. The generator is free and runs in your browser. There is no account, no watermark and no limit on how many codes you make.
Does the QR code expire?
No. The link or text is written into the pattern itself. There is no redirect service that can switch it off, and no subscription is needed to keep it working.
Is it a static or a dynamic QR code?
Every code from this page is static. A dynamic code points at a redirect the provider controls, so it can be edited and counted, but it stops working if the provider does. This one points straight at your link.
Can I add my logo to the QR code?
Yes. Choose a local PNG, JPEG, WebP or GIF in the Style panel. The logo covers at most 20% of the code’s width, sits on a background-coloured tile, and automatically raises error correction to High.
Can I use any colours?
You can choose any foreground and background, but keep the foreground darker than the background and aim for a contrast ratio of at least 4:1. Many phone cameras will not read a light-on-dark or low-contrast code.
Can I see how many people scanned it?
Not from this page. A static QR code has no tracking. On an Unlockable link, the creator’s stats show views, unlocks and earnings by share channel, including QR code.
What happens if the link is too long?
The generator catches the overflow and tells you. Shorten the link, or choose Low or Medium error correction. A logo forces High, which fits less data.

Sources

QR Code is a registered trademark of DENSO WAVE INCORPORATED.