Free QR code generator

No sign-up, and codes never expire. Made on your device and checked before you print.

Type something to make a code Not right? Pick one:
Download
Colour

Want a logo, a frame or a printable sign? Add a logo or frame · Make a sign

  • No sign-up, ever
  • Codes never expire
  • No ads when scanned
  • Nothing uploaded

Create a QR code in 3 steps

No sign-up. Takes less than a minute.

  1. Type or paste

    Add a website link, phone number, email, WiFi name or any text.

  2. Check the code

    Your code appears right away, with a scan check and the smallest safe print size.

  3. Download or print

    Save it as a picture, print it, or share it. It never expires.

Built for print, brand and privacy teams

Everything a team needs to put codes on paper, packaging and screens, without accounts, licences or a vendor to depend on.

Print-ready files

Download PNG or SVG, sharp at any size. Signs and label sheets come as PDF.

Make a sign →

Checked before print

Every code shows its smallest safe print size, and the stress test shows how much damage it survives.

Run the stress test →

Bulk in one go

Turn a list into codes and print them on Avery label sheets, 10 or 30 to a page.

Open the bulk generator →

Your colours and logo

Brand colours, gradients, corner styles and a logo, with a scan check after every change.

Open the designer →

Editable when you need it

Free dynamic codes with scan counts by country and device, and a plain export so you are never locked in.

See dynamic codes →

Inside WordPress

The free QRotto plugin makes the same codes inside your own WordPress site.

Get it on WordPress.org →

Where teams use QRotto

Pick your setting and go straight to the codes that matter there.

Restaurants and cafes

Menus, guest WiFi and a nudge for reviews at the table.

Retail and packaging

Product pages, manuals and offers on labels and boxes.

Events and venues

Add to calendar, directions and a quick sign-up.

Property and real estate

Listings, brochures and a one-scan contact card on every board.

Clinics and services

Booking pages, directions and a direct chat.

Schools and training

Forms, handouts and sign-in sheets from a slide or a poster.

What do you want the code to do?

Pick what the code should do. What you type comes with you when you switch types, and every code is checked before you print. All free, no account, and every code except the dynamic one never expires.

Most used

For a business or venue

Files and documents

Places and profiles

Check, style, print and batch

Privacy and reliability by design

  • Nothing to upload, nothing to leak. Codes are drawn in your browser, so what you type never reaches our servers. There is no customer data on our side to lose.
  • No accounts, no seats. Nobody on your team needs a login, and there are no licences to manage or renew.
  • Codes that outlive any vendor. A static code holds its content, so it keeps working even if QRotto disappears. Dynamic codes come with a plain export and 90 days of notice before any shutdown.
  • Checked before print. Every code shows a scan check and its smallest safe size before anything goes to the printer.

The details are in how QRotto works and the privacy policy.

How to choose the right QR code type

If you want people to visit a webpage, use the URL generator. If you're handing out a digital business card, the vCard generator saves your full contact info straight into someone's phone contacts with one scan. For cafés, offices, or events where guests need internet access without reading out a password, the WiFi generator is the quickest option. And for anything else, a short message, an address, a code, the plain text generator handles it.

Static codes, and why that matters

Every code generated here is static: the data is encoded in the image itself rather than stored on a server. There is no redirect, no account and no subscription anywhere in the chain.

The practical difference shows up later. A dynamic code from a paid service stops working the moment that service lapses, changes its pricing, or shuts down, and it takes every printed copy with it. Businesses have had menus, packaging and signage go dead this way. A static code has no such failure mode; it will resolve to exactly the same data in ten years. The full comparison is in our guide on static versus dynamic codes.

Getting a code to scan first time

Most QR codes that fail in the real world were sized to fit a layout rather than sized to be scanned. Four things decide whether yours works:

  • SizeA code should be at least one tenth as wide as the distance it is read from, about 2.5cm on a business card, 10cm on a wall poster. Never below 2cm.
  • ContrastDark code on a light background. Pale or coloured codes fail unpredictably.
  • Quiet zoneLeave the white margin around the code intact. Cropping to the edge breaks detection.
  • FinishMatte, not gloss. Glossy lamination reflects overhead light into the camera.

Our print sizing guide covers this in detail, including a size table by placement.

Guides for common setups

If you are setting codes up for a property or a business, these walk through the whole process rather than just the generator:

Popular guides

Tested answers to the questions people ask us most:

What each generator is for

These tools solve different problems, and the offline column below is the one that catches people out, a WiFi code has to work before the guest has internet, which is exactly why it cannot be a link.

ToolWhat happens on scanNeeds internet?
WiFiPhone offers to join your networkNo
vCardPhone offers to save your contactNo
URLOpens a web pageYes
TextDisplays a messageNo
EmailOpens a prefilled email draftTo send
SMSOpens a prefilled text messageNo

Testing a code before you print it

One test catches most problems, and almost everyone skips it: scan the code on a device that does not already know the answer.

For a WiFi code, that means a phone that has been made to forget the network. A phone already connected will appear to succeed even if your code contains a completely wrong password, it simply reconnects using what it already has, and you learn nothing. For a URL code, test on a device that has never visited the page, since your own browser may be logged in or holding a cached version that hides a problem a first time visitor will hit.

Then scan it at the real distance, in the real lighting, on an ordinary phone rather than the newest one available. Do this before ordering a print run, not after.

What "free" means here

Many QR generators call themselves free and ask for something later. These are the catches we found on other free generators when we checked in November 2026, and how QRotto handles each one.

The catchSeen on some free generatorsQRotto
Account to downloadSign-up needed for PNG or SVG filesNever
Code stops workingTrial codes switched off after 14 daysNever: the content is inside the code
A page before your linkAn advert page on some scansNone: the phone opens your link directly
Watermark on the codeThe generator's logo inside free codesNone
What you type goes to a serverA WiFi name and password sent to the generator's serverNothing leaves your device
Print size checkNot offered by the 10 we checkedOn every code

Need a code you can change after printing? Our dynamic codes are free too, with no account and no ads on scan.

Frequently asked questions

Are these QR code generators really free?

Yes, all tools on this site are completely free to use with no account or sign-up needed.

Do the QR codes expire?

No. Because the data is embedded directly into the QR code image itself (not a redirect link), the codes never expire and will keep working indefinitely.

Can I use these QR codes for print?

Yes, download the PNG and use it on business cards, posters, flyers, or packaging. For large prints, generate at a higher size for best scan reliability.

Can we use QRotto codes for commercial work?

Yes. The generators are free for personal and commercial use, and the codes carry no watermark. See the terms.

What happens to our codes if QRotto shuts down?

Static codes keep working, because the content is inside the code and nothing passes through us. Dynamic codes give you a plain QR export at any time, and we promise 90 days of notice before any shutdown.

Do you store what we type?

No. Codes are made in your browser. To save typing twice, a link, number or email you typed stays in that browser tab until you close it. Nothing is sent to us.

Can we make hundreds of codes at once?

Yes. The bulk generator turns a list into codes and lays them out on Avery label sheets, 10 or 30 to a page, or gives you the files.

Can the codes match our brand?

Yes. The designer sets colours, gradients, corner styles and a logo, and checks that the code still scans after every change.

Is there an API?

Yes. The free QRotto JavaScript API makes the same codes from your own code, in a browser or on a Node.js server: SVG and PNG files, the print size check, and the right text for WiFi, contact cards and more. There is no key and no limit, and nothing is sent to us. For WordPress sites, the free plugin does the same inside your site.

Rolling out codes across many locations?

Tell us about the print run, the places and the deadline, and we will point you to the quickest way to do it with QRotto. We read every message.

Contact us Open the bulk generator