Free QR Code Generator

Free QR Code Generator – Generate QR codes for website links, Wi-Fi networks, plain text, phone numbers, email addresses, vCard’s and much more. Create in browser, edit colors, add a logo and download the final image as a PNG or SVG file to use in print or on the web.

✅ No sign-up ✅ No watermark ✅ Browser only ✅ Print-ready ✅ Unlimited scans
Links, plain text, email addresses, phone numbers and Wi-Fi strings all work. 0 characters
2. Error correction level

Higher recovery means a denser code. If you plan to paste a logo over the middle, pick Quartile or High.

Your QR code

Your code will appear here after you press Generate.

Code details

Status
Waiting for input
QR version
Module grid
Error correction
Bytes used
0
Capacity used
0%
Mask pattern

Capacity by error correction level

Bars show how much of each level’s available capacity your content consumes. Shorter bars at the same content length mean a lighter, easier-to-scan code.

Popular QR code use cases

Create your code
URL

Website link

Direct customers to your homepage, pricing page, booking form or product details.

Wi‑Fi

Guest access

Share a network name and password instantly without typing a long Wi‑Fi key.

vCard

Business card

Store contact details so people save your info directly to a phone in one scan.

Menu

Restaurant / event

Open a digital menu, RSVP page, event schedule or a QR-enabled brochure instantly.

What a QR code is and why it’s useful to you.

A QR code is a two dimensional barcode. A QR code contains its data in one square of black and white modules instead of a line of stripes like a barcode. It’s this extra dimension that makes it possible for a simple square to contain a Web address, a full paragraph, or a command like a Wi-Fi password, and for a phone camera to read it instantly.

How free QR code generator works

All the content here is accessed in your browser via plain JavaScript, so no content ever leaves your device. Pressing Generate, the tool encodes all the characters in your text into UTF-8 bytes, selects the smallest QR version possible to fit the characters, generates the Reed-Solomon error correction codewords, interleaves them into blocks, and draws the QR code to the module grid.

It allows you to generate QR codes of the following versions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, up to 21 × 21 modules to 57 × 57 modules. That’s sufficient for 119 to 271 characters, depending on the level of error correction you choose – which is more than a typical contact card, short block of instructions, or URL. The encoder loads the data and then applies each of the 8 different mask patterns, compares it to the 4 penalty rules defined in the QR specification, and retains the pattern with the lowest score that results in a scannable pattern. The panel on the right of the code will display the version, module count, byte count, capacity used, and selected mask to ensure you know what was created.

Choosing an error correction level

Redundancy is error correction. When code is obscured, it is recovered approximately 7% by Low (L), 15% by Medium (M), 25% by Quartile (Q) and 30% by High (H). The more redundant, the more the codewords and the denser the grid at the same length of content.

Medium is the logical choice used for most print and screen activities. Up to Quartile or High when code will be printed small, behind glass, glued to a curved surface, exposed to the weather, or stamped with a logo in the centre. The code will only endure a certain amount of damage and Step down to Low only when the content is long and the space is tight. Keep in mind that error correction is to prevent damage, not to prevent poor contrast, a beautiful dark grey code on a light grey background is still bad.

Practical use cases

  • Print and packaging — menus, product labels, event badges, business cards which open a booking page or a portfolio.
  • Wi-Fi sharing — use a network name, password and encryption type that is encoded so that guests don’t have to type a long password before they can connect.
  • Contactless handoffs – the vCard contains your name, phone and email, or an SMS template that begins a text message to your contact line.
  • Classroom or Office — a code on a worksheet that opens a reading list or a code by the printer to load the driver page.
  • Offline reference — brief directions or inventory numbers that staff will be able to scan without an internet connection.

Pro tips for codes that scan first time

  • Keep contrast high. Dark modules should be distinctly darker than the light ones. The safest code to use in the world is near-black on white; not all cameras will read inverted codes.
  • Be quiet in the quiet area. Leave a blank space of at least 4 modules wide on all sides. The most common reason for failing to scan is to crowd the code with borders or text.
  • Print big enough. A basic guideline is to have at least 2cm x 2cm if the URL is small and scanned from arm’s length, or larger if it is a longer source or farther away.
  • Test on two machines before printing 10,000 copies. Look at printed copy of code at the end of the page, not on screen.
  • Shorten the payload. Shorten the link, include drop tracking parameters, and exclude irrelevant text — shorter payload equals smaller version and a larger, more generous module size.
  • Do not cover up finder patterns. When placing a logo, it should be close to the center and within about 1/4 of the total area.

Common mistakes to avoid

  • Using a QR code that contains content that will change. The data is imbedded within the pattern. You can’t modify a printed code; if the code is going to a URL you control, print it and point it at that URL.
  • Over-trusting error correction. You can’t write 30% of the code and then get a licence to hide 30% of it. Damage tolerance is not a single continuous area of blockage; it’s about random noise.
  • Encoding an unreachable link. Test the destination on mobile data and in the office Wi-Fi, and don’t expect to be able to resolve internal hostnames over the public network.
  • Forgetting accessibility. Always print the URL in plain text along with the code. About 1 in 20 readers will have a camera or app that is difficult.
  • Decreasing to the module limit. After about half a millimeter, most consumer printers blur the edges and most scanners begin to work out a guess.

FAQ

Does this QR code generator expire or track QR scans?

No. Codes are generated in your browser that only contain exactly what you type. No account, no redirect layer, no expiry date and no scan analytics. However, the code continues to run indefinitely, and cannot be turned off — both a good and bad thing depending on whether you’ll need to change it later or you don’t. If the target in the campaign might change, encode a short link that you control.

What’s the largest number I can encode?

With this tool, 271 characters at Low, 213 at Medium, 151 at Quartile, and 119 at High. It is limited by QR version 10, the largest supported here. If the text is longer, it will cause the grid to go over 57 × 57 modules, and it will be vulnerable to normal printing sizes, so it’s preferable to shorten the message or place it behind a URL.

What is the best error correction level to choose?

Medium for virtually all applications: has a good compromise in terms of density and resilience. Use Quartile or High if the code will be displayed on a rough surface, behind glass or be printed small. Use Low only when you are dealing with a long content and you want the lightest possible grid, but expect to do extensive testing.

Why is my QR code denser than others?

The density is determined by the payload length and error correction level. A long URL, encoded at High, can fill many more modules than a short link, encoded at Low. The details panel displays the impact of the changes, so if the grid appears crowded, try reducing the content or lowering the error correction level by one step, or a combination of both.

Is it possible for me to include my logo in the middle of the code?

Yes, if you have enough redundancy. Record at low or high 퀀티, and then superimpose a logo over the middle, that occupies no more than about a fifth of the area. Don’t use the three corner finder patterns at the same time, and don’t use the timing strips at the same time – and never scan-test the artwork based on the preview.

Do my colour selections work for all scanners?

Yes, in most cases as long as the code is darker than the background and the contrast is high. Some light-colored modules on dark backgrounds might not work on some camera apps and mid-tone combinations like grey on yellow are not consistent. Try to change the colours and test with at least 2 phone types.

Where is my data uploaded?

No. The encoder is a JavaScript on the page and the PNG is created on the canvas on the page. There is no upload to a server and all is cleared when the tab is closed. Once the page displays, you can unplug from the internet and the generator will continue to run.

Looking for specialized Random Generators

Reviewed by: aFreeTools Editorial Team

Last updated: September 17, 2026

Freshness: The QR encoder here is a from-scratch implementation of the ISO/IEC 18004 symbol structure — data encoding, Reed-Solomon error correction, block interleaving, mask evaluation, and module placement


Disclaimer – This QR code generator is provided for general informational and creative use only. Codes are produced in your browser and are not verified by us against any scanning device or standard requirement. You are responsible for testing any generated code before commercial printing, for ensuring the encoded content is accurate and lawful, and for complying with the rules of any platform, printer, or venue where the code will be displayed. A Free Tools accepts no liability for loss arising from the use of codes created with this tool.


Calculators | Converters | Games | Generators | Random | Web Tools | Developer Tools