Skip to content

QR code generator

Make a QR code for a link, text, Wi-Fi or a contact card. The code holds your data itself, with no redirect link, so it never expires and nobody counts your scans.

Make a QR code

We add https:// when you leave it out.
Example QR code for https://texteditor.com/

Example: a link to texteditor.com. Fill in the form to make your own code.

What your code holds
https://texteditor.com/
Made in your browser. Nothing is sent to our server.
Error correction: how much damage the code survives
px
modules

The PNG is 990 by 990 pixels, so every module is a whole number of pixels wide.

Advertisement
A phone scanning a QR code printed on a paper card

Last checked by the TextEditor.com team

How a QR code works

A QR code is a grid of small dark and light squares called modules. The smallest size, version 1, has 21 by 21 modules. Each version adds 4 modules to every side, up to version 40 with 177 by 177. The code in the tool is version 2 with 25 by 25 modules.

Some parts look the same in every QR code. They help the phone find the code, measure it and read it the right way up. Tap a part to see it in your own code.

The parts of your QR code

Version 2, 25 by 25 modules. Modules in each part: finders 147, separators 45, timing 18, alignment 25, format 30, dark module 1, data and error correction 359.

The light margin around the code is the quiet zone. Denso Wave, the company that made the QR code, says a QR code needs "a four-module wide margin at all sides of a symbol." Without it, a phone can mistake nearby print for part of the code. The tool uses 4 modules unless you change it.

Before the data goes in, it is mixed with one of 8 fixed patterns called masks. A good mask breaks up big empty areas and shapes that look like a finder. The generator tries all 8, scores each one with the 4 penalty rules of the standard and keeps the lowest score. Your code uses mask 0.

A QR code can pack data in different ways. Digits take about 3.3 bits each. Capital letters, digits and the nine signs space $ % * + - . / : take 5.5 bits each. Everything else takes 8 bits per byte, and letters outside English use 2 to 4 bytes in UTF-8. The generator splits plain text into runs and picks the cheapest way for each run.

Error correction levels: L, M, Q and H

QR codes use Reed-Solomon error correction, the same family of math that lets a scratched CD play. The code stores extra codewords. A phone can use them to rebuild codewords that are missing or wrong. More extra codewords means more damage the code survives, and a bigger code for the same data.

LevelCan restore aboutGood forYour content needs
L7% of the codewordsScreens, clean prints, lots of dataversion 2, 25 by 25
M15%Most usesversion 2, 25 by 25
Q25%Outdoor signs, workshops, dirt and wearversion 3, 29 by 29
H30%The most damage, or a logo on topversion 3, 29 by 29

Denso Wave writes that level M is the one people pick most, and that Q or H suit factories where codes get dirty. Its page on QR code error correction has the details.

Damage test: cover the middle of your code
6%

Turn on JavaScript to run the test on your own code.

The data is split into blocks, and each block can fix a set number of codewords. The test counts every codeword the square touches as wrong, which is the worst case. Real phones may do a little better.

This is also how a logo in the middle works. The logo hides modules, and error correction rebuilds them. It uses up the same reserve that scratches and dirt would need. If you add a logo, pick level H, keep it small and test the code with a few different phones.

Advertisement

Why some QR codes stop working or track you

Many QR code sites make "dynamic" codes. The code does not hold your link. It holds a short link to the company's own server. Every scan goes there first. The server writes down the scan, then sends the phone on to your page.

That lets the company count scans and change the target later. It also means the code works only while the company keeps the short link alive. When a free trial ends or a plan is not renewed, the redirect can stop, and every printed code leads to an error page or an ad.

Static code vs dynamic code
Static (this page)
  1. The code holds your link or text itself.
  2. The phone reads it and opens your page directly.

Nothing in between. Nothing to renew, no scan log.

Dynamic (many QR sites)
  1. The code holds the company's short link.
  2. The phone visits their server first.
  3. The server logs the time, the phone type and a rough place from the IP address.
  4. It sends the phone on to your page.

If the plan ends, the last step can stop.

This page makes static codes only. Open "What your code holds" next to the code to see the exact text inside. If you need scan counts, add campaign tags to your own link, like ?utm_source=poster, and read them in your own website statistics.

Scammers use QR codes too. They stick their own codes over real ones on parking meters and posters. The US FTC warned about this in December 2023. Before you open a scanned link, read the web address your camera shows you.

Wi-Fi QR codes

A Wi-Fi code holds the network name, the password and the type of security in one line of text. When a phone camera reads it, the phone offers to join the network. Your guests don't have to type a long password.

WIFI:T:WPA;S:Cafe Guest;P:coffee to go;;

T is the security type, S the network name and P the password. H:true marks a hidden network. A few characters have a meaning in this format: the semicolon, comma, colon, backslash and double quote. When they appear in a name or a password, the tool puts a backslash in front of them, so the phone reads them as normal characters.

Try a network name with special characters

S:Joe's Cafe\; 2nd floor;

Without the backslash, the phone would stop the name at the semicolon and try to join a network called "Joe's Cafe".

Android phones can make this code too: open Settings, then Network & internet, then Internet, tap your network and tap Share. Google describes this in its Android help (checked November 2026).

A Wi-Fi code is your password in another form. Anyone who sees the code, or a photo of it, can join. Any QR reader app can show the password as plain text. Put the code on a guest network, not the network that holds your computers and printers. To lock people out later, change the password and print a new code.

Choose WPA for WPA2 and WPA3 networks. WEP is an old method that can be broken in minutes, so use it only for old devices that know nothing else. A hidden network is not safer: its name still goes over the air when a device connects. For a strong network password, use the password generator.

Contact cards: vCard or MeCard?

Two formats can put a contact in a QR code. MeCard comes from the Japanese phone company NTT Docomo and is short. vCard is the format that phones and email programs use to share contacts. Version 3.0 is described in RFC 2426.

The tool uses vCard 3.0. It holds a company, a job title, a website and a full address, and contact apps on all common phones read it. The cost is size. vCard uses more bytes for the same person, so the code gets a little denser.

The same contact in both formats
vCard 3.0 (used here)
BEGIN:VCARD
VERSION:3.0
N:Lovelace;Ada;;;
FN:Ada Lovelace
TEL;TYPE=CELL:+442079460000
EMAIL:[email protected]
END:VCARD

123 bytes, version 7 at level M

MeCard
MECARD:N:Lovelace,Ada;TEL:+442079460000;EMAIL:[email protected];;

63 bytes, version 4 at level M

Fill in the Contact tab of the tool and both boxes show your own card.

How big to print a QR code

A person scans a QR code poster from a few steps away, with a measuring tape on the floor showing the distance
A code read from 3 meters should be about 30 cm wide. The farther away, the bigger the code.

A common rule of thumb: make the code at least one tenth as wide as the distance it is scanned from. A poster read from 3 meters needs a code about 30 cm wide. This is a rule used by printers, not part of the QR standard.

Print size calculator

At least 5 cm (2 inches) wide

Your code has 25 modules plus a quiet zone of 4 on each side. At 5 cm, one module is about 1.5 mm.

Long content makes more modules, so each module gets smaller at the same width. Short links scan better than long ones. For things held in the hand, like business cards, a common minimum is about 2 cm (0.8 inch).

Print dark modules on a light background. The standard allows light on dark, but many readers fail on it, so the tool warns you when the colors are swapped or too close. Keep the quiet zone free of text and lines, use matte paper where you can, and test a print with two different phones before you print a large batch.

For a print shop or a designer, download the SVG. It stays sharp at any size. The PNG suits documents, slides and websites. To write the text that goes next to the code, open the online text editor.

Frequently asked questions

Do these QR codes expire?

No. The code holds your link or text itself. There is no short link of ours in it, so there is nothing that can be switched off. It works as long as the page it points to exists.

Can I see how many people scanned my code?

Not from the code. Nothing sits between the phone and your page, so nobody counts the scans. If you need numbers, add campaign tags to your own link, for example ?utm_source=flyer, and read them in your website statistics.

Can I change where my QR code points after printing?

No, the target is part of the picture. A good habit: point the code at a page on your own site that you can update later, like yoursite.com/menu, and change that page instead.

Can I use these QR codes for my business?

Yes, for free, with no credit needed. Denso Wave says nobody needs to apply to use a QR code that follows the standard. "QR Code" is a registered trademark of DENSO WAVE INCORPORATED.

Why won't my QR code scan?

The usual causes: the print is too small for the distance, the colors are too close or swapped, the quiet zone is missing, the paper is glossy and reflects light, or the content is so long that the modules are tiny. Try a shorter link, a bigger print or a higher error correction level.

How much can one QR code hold?

The largest code, version 40 at level L, holds 7,089 digits, or 4,296 capital letters and digits, or 2,953 bytes. A letter outside English takes 2 to 4 bytes, so the limit in letters is lower. Codes that big are hard to scan, so keep the content short.

Is my data sent anywhere?

No. The code is made by code on this page, inside your browser. The form fields stay in your browser so they are there next time, except the Wi-Fi password, which is never saved.

  • Password generatorMake strong random passwords and easy to type passphrases in your own browser.
  • Encode and decodeEncode or decode text as Base64, URL encoding, HTML entities, Unicode escapes and hex.
  • Text editorWrite and edit plain text in your browser.
  • NotepadKeep several notes in one place.
  • Binary translatorTurn text into binary code and binary back into text as you type.
  • Invisible characterCopy an invisible character or blank space for empty names and messages.

↑ ↓ to choose, Enter to open, Esc to close