Skip to content
klyoqr

QR code generator that works offline and never expires

Paste a link or type a note. The code appears while you type, and your phone reads it a second later. Nothing is sent anywhere: the code is built inside this page, so there is no server that could log your link, no account to create and no free trial that quietly turns your printed code off.

After scanning

More settings

Your code appears here as you type

  1. 01

    Paste or type

    A link, a note, a Wi-Fi password, a phone number. The code is redrawn on every keystroke.

  2. 02

    Point your phone at it

    Open the camera app. Codes for links open the page; codes for text show it with one button that copies it.

  3. 03

    Save it or print it

    PNG for the web, vector for the printer, PDF with the size in millimetres already set.

Your link never leaves this device

The code is drawn by a small program that runs inside your browser. Open the network panel while you type — there is no request to send. Most generators post your link to their servers first.

The code never expires

What you get is a static code: the link is written inside the pattern itself. Nobody can switch it off, put it behind a paywall or lose it. That is why a printed code from this page still works in ten years.

We read the code back before you download it

Our own reader scans the picture and tells you what it says — including after you drop a logo in the middle, which is exactly where other generators quietly break the code.

Made for print, not just for screens

Vector files with sharp edges at any size, a quiet zone that scanners need, and a print size calculated from how far away people will be standing.

What people make here

  • A link on a poster or a menu. The most common one. Static, so the printed run stays valid for as long as the page exists.
  • Wi-Fi for guests. Network name and password in one code. Phones join without anyone reading a password out loud.
  • A note from your computer to your phone. Type it here, scan it there, tap Copy. Faster than e-mailing yourself and it works with no account on either side.
  • A phone number or an e-mail address. One scan opens the dialler or a new message with your address already filled in.
  • A business card. Name, phone, e-mail and company in one code that saves straight into the contacts app.

What a QR code is and how a phone reads it

A QR code is text written as a grid of small dark and light squares, called modules. The three big squares in the corners tell the camera where the code is and which way up it goes; everything between them is your content plus spare information used to repair damage. The camera does not need the whole picture to be perfect — it needs enough of it to be sure.

The grid comes in forty sizes, from 21×21 modules for a short link to 177×177 for a page of text. The generator on this page always picks the smallest size that holds what you typed, because a smaller grid means bigger squares at the same print size, and bigger squares scan from further away.

How much fits in one code

The limits below are for the lowest damage resistance. Raising resistance to the highest level roughly halves them, because more of the grid is spent on repair information. In practice a link under sixty characters stays small at any level.

Kind of contentMaximum
Digits only7,089 characters
Capital letters, digits and a few symbols4,296 characters
Any text, including lower case and accents2,953 bytes

Damage resistance: L, M, Q, H

Every code carries repair information. Level L survives about 7% of the surface being lost, M about 15%, Q about 25% and H about 30%. Higher resistance costs a denser grid, so the sensible default for a clean print is M. Pick H when the code will live on packaging that gets scuffed, on a window that gets dirty, or when you want a logo in the middle — the logo is, from the phone's point of view, damage.

Static or dynamic QR code — which one you actually need

Every code from this page is static: the link is written into the pattern itself. A dynamic code is different — it points at a short redirect address owned by a service, and the service forwards the phone to your real page. That indirection is what lets a company sell you editing and scan counting, and it is also what lets the code die when the subscription does.

Side by side

Static (this page)Dynamic (subscription)
Works after the service closesyes — nothing to closeno
Change the link after printingnoyes
Count scansnoyes
Needs an accountnoyes
Anyone can read what is insideyes, and that is the pointonly the redirect address
Size of the patterndepends on link lengthalways small

How to get the benefits of both without the subscription

Put a short address on a domain you own in the code — for example yourshop.com/menu — and change where that address forwards whenever you like. The printed code never changes, the redirect is yours, and any web hosting can do it. If you want scan numbers, your own server logs already have them. This is how we set it up for our own clients, and it costs nothing beyond the domain you already pay for.

Types of QR codes you can make here

You can create a QR code for almost anything; the phone decides what to do with it by looking at how the text inside starts. A link opens the browser, tel: opens the dialler, WIFI: joins the network. The generator recognises these prefixes when you paste them, and the pages below fill them in for you so you do not have to remember the exact syntax.

With their own page

  • Wi-Fi — network name, password and security type; guests join with one scan and never see the password.
  • Business card — a vCard with name, phone, e-mail and company that saves straight into contacts.
  • WhatsApp — opens a chat with your number and, if you want, a message already typed.
  • Restaurant menu — a link to the menu page, sized for a table stand or a window sticker.
  • Google review — opens the review form for your business, the one people never manage to find by themselves.
  • Social profile — Instagram, Facebook, LinkedIn, TikTok, YouTube or X from a username.

Paste the prefix into the main box

  • Phone number — tel:+441234567890 — your number in international form, no spaces.
  • Text message — SMSTO:+441234567:Hello, the number, a colon, then the message.
  • E-mail — mailto:hello@example.com?subject=Quote.
  • Map location — geo:51.5074,-0.1278, latitude and longitude with a dot as the decimal sign.
  • Plain note — switch to “Shows the text”; the note travels inside the code to the phone and a Copy button appears there.

Printing a QR code that scans first time

Most codes that fail in the wild were not broken by the generator. They were printed too small for the distance, squeezed into a corner without a margin, or put on a shiny surface under a lamp. All three are avoidable before the printer starts.

Size against scanning distance

The rule of thumb is one to ten: the side of the code should be at least a tenth of the distance between the phone and the print. The size box on this page does that arithmetic for you and writes the result into the PDF.

People scan fromSmallest side that works
20 cm — a business card in hand2 cm
50 cm — a table stand, a receipt5 cm
1 m — a counter, a shop window10 cm
2 m — a poster in a corridor20 cm
5 m — a banner, a bus stop50 cm
10 m — a wall, a billboard1 m

The quiet zone

The empty border around the pattern is part of the code. Scanners use it to find where the grid ends; without it, a frame, a border or a nearby line of text becomes part of the pattern. Keep at least four modules of clear space on every side — the generator draws it in, so do not crop it away in the layout program.

Which file to send to the printer

  • PDF — for a print shop or an office printer. The code comes out at exactly the millimetres you typed, with the margin included.
  • SVG — for Canva, Illustrator, InDesign, Figma or a sign maker. Vector, so it stays sharp at a metre wide.
  • PNG — for screens, slides, a website or a messaging app. Fine for print only when the pixel size is at least twice the printed module count.

Surfaces that give trouble

Glossy lamination and glass reflect the lamp into the camera; matt paper or a matt laminate reads better. Curved surfaces — bottles, cups — distort the grid, so keep the code small enough to sit on a nearly flat strip. Fabric blurs edges; use a bigger code with higher resistance. Dark backgrounds with light squares fail on many phones, which is why the generator warns you and offers to swap the colours.

Logo and colours without killing the code

A logo in the middle works because the code was designed to survive damage. The catch is that the logo uses up the same reserve that would otherwise repair a scratch or a bad photo. Custom colours and QR codes with a logo are popular for a reason — they look like yours. This page cuts the logo into the grid rather than pasting it on top, then reads the result back with the same reader a phone uses, and tells you plainly if it stopped working.

Three rules that cover almost everything

  • Dark squares on a light background. Blue on white, black on yellow and dark green on cream all read; white on black or yellow on white do not.
  • Logo up to about a fifth of the width at resistance H. Bigger than that and the reader will tell you the code no longer decodes — believe it.
  • Never recolour the three corner squares. They are how the camera finds the code, and a phone that cannot find the corners never gets as far as your link.

Why a QR code stops working — and how to tell which case is yours

A code that scanned yesterday and does not today has one of six problems, and the phone's behaviour tells you which. If the camera shows nothing at all, the pattern itself is unreadable: too small, too little contrast, damaged margin, or a photo of a screen with moiré. If the camera reads it but the page is missing, the pattern is fine and the link is dead: the site moved, the page was renamed, or — most common with free trials — the dynamic redirect was switched off.

Before reprinting anything, paste a photo of the printed code into our desktop scanner. It shows the exact text inside, so a typo, a stray space or an http that should have been https is visible in a second.

Putting the code into Word, Canva, PowerPoint or a print layout

There is no need for a plug-in. Make the code here, download the file that suits the program, and insert it as a picture.

Step by step

  • Word, Google Docs, PowerPoint — download PNG, then Insert → Picture. Set the width in centimetres in the picture options; do not stretch by hand, and do not crop the white margin.
  • Canva — download SVG and drag it onto the design; it scales without going blurry. Keep the automatic background colour light.
  • Illustrator, InDesign, Affinity, Figma — SVG, placed at the final size from the table above.
  • Print shop — PDF with the millimetres already set. Ask for matt finish if the code will be under lights.

Is it safe to scan an unknown QR code?

A QR code cannot run anything on your phone by itself; it is only text. The risk is the same as with any link — where it leads. Modern phones show the address before opening it, so read the domain. Codes stuck over an original on a parking meter or a menu are the classic trick: the paper looks official, the link is not.

On a computer there is no camera app, so use the scanner page: paste a screenshot or drop an image and it prints the content without opening anything. What comes out of the code stays in your browser, exactly like what goes in on the generator side.

For developers: the same engine as an API and a widget

The free QR code generator on this page is a small program compiled to WebAssembly from Rust, with no dependencies. The same code runs on our edge servers as a free API — one GET request returns an SVG or PNG — and as a widget you can drop into any page with one script tag. No key, no account, no tracking pixel in the response.

Questions people ask

Is it really free, with no sign-up?

Yes. There is no account, no e-mail field and no limit on how many codes you make. We build web software for companies for a living; this tool is how people meet us.

Will my code stop working one day?

No. The link is stored inside the pattern, not on our servers, so there is nothing to switch off. Codes that expire are the ones called dynamic — they point at a redirect owned by a company, and that is the free trial people find out about after printing five thousand flyers.

How big should I print it?

A rough rule: the code should be at least a tenth of the distance people scan from. Two metres away means at least twenty centimetres. Set the size here and the PDF comes out at exactly that measurement.

Can I put a logo in the middle?

Yes, and we check that it still reads. A QR code carries spare information, so a small logo costs nothing — a big one eats the spare and kills the code. Our reader tells you which one you have made.

Do you see what I put in the code?

No, and this is not a promise but a technical fact you can verify: the code is generated by a program running in your browser and no request leaves the page. When you send a note to your phone, the text travels inside the part of the address after the # sign, which browsers never send to any server.

Can I see how many people scanned my code?

Not from the code itself — a static code has no counter. Point the code at a page on your own site and your hosting statistics will show every visit that came through it; a short address used only in print makes them easy to tell apart.

Can I change the link after printing?

Only if the code points at an address you control and you change where that address forwards. That is the honest version of what dynamic codes sell, and it works with any domain and any hosting.

Does the code work without internet?

Reading the pattern needs no connection at all. Opening a link does, of course. A note in text mode, a Wi-Fi code or a business card works with the phone fully offline, because everything is inside the pattern.

What is the difference between a QR code and a barcode?

A barcode holds a dozen digits in one direction and needs a laser or a good camera. A QR code holds thousands of characters in two directions, can lose a third of itself and still read, and every phone camera opens it without an app.

Can a QR code contain a picture or a file?

Not directly — three kilobytes is the ceiling, and a picture is far bigger. Upload the file somewhere and put its address in the code; for a PDF menu that is exactly what the menu page does.

Do I need an app to scan?

No. Every iPhone since iOS 11 and every Android phone from the last few years scans from the camera app. On a computer, use our scanner page with a screenshot.

Why is my code so dense?

Because the content is long. Tracking parameters after a question mark, `www.` and `https://` all add squares. Shorten the link on your own domain and the grid drops by several sizes.