Skip to content
EveryFix

QR Code Generator

The QR Code Generator creates a downloadable QR code image from any text, URL, or message entirely in your browser — no account, watermark, or usage limit. It generates at error-correction level M by default, meaning the code stays scannable even if roughly 15% of it is damaged, obscured, or printed poorly — the same Reed-Solomon redundancy scheme used by every standard QR code, just built into the library rather than something you configure. The code automatically scales up to a larger grid (more modules) as your text gets longer, up to the QR format's maximum of roughly 2,300 characters of plain text, beyond which the tool asks you to shorten it, which is why encoding a full paragraph produces a visibly denser, harder-to-scan-from-a-distance code than encoding a short URL. The generator doesn't validate that your input is a real URL or a specific format — it encodes whatever raw text you type, whether that's a link, a Wi-Fi string, or plain sentences.

Beginner⏱ 30 secondsUpdated 2026-10-28
Enter text or a URL above and click “Generate QR Code” to see it here.

How This Tool Works

Type or paste any text, URL, or message, and a scannable QR code image appears instantly, ready to download as a PNG.

Formula & Method

QR codes are generated locally using standard QR encoding (Reed-Solomon error correction), producing a scannable image without sending your content to a server.

Example Calculation

Entering "https://everyfix.net" instantly generates a compact, low-density QR code that any smartphone camera can scan to open that link. Pasting a full paragraph of text into the same field instead produces a visibly larger, denser grid — the encoder automatically steps up to a bigger QR version to fit the extra data, which is why longer inputs need to be printed bigger or held closer to scan reliably.

Please note: This calculator provides estimates for general informational purposes only. Results may not be accurate for every situation — use your judgment and consult a relevant professional when it matters.

About the QR Code Generator

A QR code is a two-dimensional barcode that stores a short piece of text as a grid of dark and light squares called modules. When a phone camera reads the grid, it decodes the text and then decides what to do with it: open a web address, join a Wi-Fi network, display a plain message, or offer to save a contact. This generator takes whatever you type into the box, encodes it in your browser, and gives you back a PNG image you can print, drop into a slide, or send in a message. It does not check or shorten your input, so the finished code contains exactly the characters you entered and nothing else.

The grid grows with your data. The smallest QR code, version 1, is 21 modules on each side, and every step up in version adds four modules per side, all the way to version 40 at 177 by 177. A 20-character web address fits in a 25-module code, while a 500-character paragraph needs 85 modules. This tool always applies error-correction level M, which adds enough redundancy that a code can usually still be read when roughly 15 percent of it is smudged, creased, or covered. The downloaded image is 320 pixels square with a two-module white border, drawn in deep navy on white for strong contrast.

The tool suits anyone who needs to bridge printed material and a screen: shop owners labeling tables, teachers adding a link to a worksheet, organizers putting a registration page on a flyer, or families sharing a guest network. Because the code is static, it carries the data itself rather than pointing at a tracking service, so it never expires and nothing is logged. The flip side is that you cannot edit a static code after it is printed. If the destination might change, plan for a link you control that can be redirected later.

When to Use It

Guest Wi-Fi card at a cafe or rental

A host types a Wi-Fi string such as WIFI:T:WPA;S:CafeGuest;P:espresso2024;; into the box, generates the code, and prints it on a small table card. Guests point a recent phone camera at it and join without reading out a password. The host re-checks spelling and capitalization of the network name and password first, because the code will faithfully encode any typo.

Flyer or poster with a registration link

An event organizer pastes the sign-up page address into the generator and downloads the PNG for a print layout. Long addresses with tracking parameters produce denser codes, so the organizer compares the result against a shorter redirect link, picks whichever scans quickly from arm's length, and test-scans the printed proof before ordering a full run.

Teacher sharing a resource in class

A teacher encodes the address of a reading list, a video, or a shared folder and places the code at the bottom of a printed handout. Students scan it from their own devices instead of typing a long address. Because the code is static and free of accounts, the teacher can regenerate a fresh one each term without managing any subscription.

Contact details on a business card or sign

A freelancer builds a short contact card in vCard text, with a name and phone number, and encodes it so a scan offers to save the contact. The text is only 62 characters, which keeps the code compact enough to print about the size of a postage stamp on a business card while remaining easy to read.

How to Use It, Step by Step

  1. Decide what the code should do before you open the tool. A web address should start with https:// so phones recognize it as a link, a Wi-Fi code needs the WIFI: format, and plain text can simply be a sentence.
  2. Click into the box labeled 'Text or URL to encode' and type or paste your content. Copy long addresses straight from your browser's address bar rather than retyping them, which avoids transcription errors.
  3. Read the text once more for typos, stray spaces, and line breaks. The generator does not validate anything, so it will happily encode a misspelled address or a trailing space.
  4. Press the 'Generate QR Code' button. The image does not update as you type, and pressing Enter inside the box only adds a new line, so the button is the step that actually builds the code.
  5. If you see the message 'Please enter some text or a URL to encode', the box was empty or contained only spaces. Add content and press the button again.
  6. Look at the code that appears in the result panel. A short address gives a loose, chunky pattern, while long text gives a fine pattern. Scan the on-screen code with your own phone to confirm it opens what you expect.
  7. Click 'Download PNG' to save the image. It downloads as a 320 by 320 pixel file named everyfix-qr-code.png, so rename it if you will be saving several codes in one folder.
  8. To make another code, edit the text and press 'Generate QR Code' again, or press 'Reset' to clear the box, the preview, and any error message in one click.

Understanding Your Results

The output is a single image, so the main thing to judge is how it looks and how it scans. A tidy, low-density pattern means your data was short and the code will scan quickly even at small sizes or from a distance. A dense, fine-grained pattern means you encoded a lot of text. Dense codes are perfectly valid, but each module is physically smaller at a given print size, so they need more space, better printing, and a steadier hand when scanned.

As a rough guide for this tool, a 20-character address comes out as a 25 by 25 module grid, an 87-character address with tracking parameters as 41 by 41, and a 500-character paragraph as 85 by 85. Since the PNG is a fixed 320 pixels wide, those codes use about 11, 7, and 3.6 pixels per module respectively. If you plan to print large, avoid smoothing when you enlarge the image, because blurred module edges are the most common cause of slow scanning.

Always sanity-check the code before it leaves your hands. Scan it on at least two different phones, ideally one iPhone and one Android, in normal room lighting and at the distance people will actually use. If the scan is slow or fails, shorten the text, print larger, or add white space around the code. The standard asks for a four-module border and this image includes two, so extra white margin on your layout helps.

More Worked Examples

Campaign link on a printed flyer

Scenario: You paste the 87-character address https://www.example.com/summer-sale?utm_source=flyer&utm_medium=print&utm_campaign=june into the box and press Generate QR Code.

The encoder stores the 87 characters as raw bytes and selects version 6, a 41 by 41 module grid. Adding the two-module border gives 45 modules across the 320 pixel PNG, or about 7.1 pixels per module. The result is a medium-density code that scans fine at business-card size or larger. If you swapped the address for a short redirect link of around 20 characters, the grid would shrink to 25 by 25, which is why shortening long tracking links before printing pays off.

Guest Wi-Fi string

Scenario: You enter the 39-character string WIFI:T:WPA;S:CafeGuest;P:espresso2024;; and generate the code.

The tool does not recognize or reformat the Wi-Fi syntax; it simply encodes the 39 characters, which fit in version 3, a 29 by 29 grid. With the border that is 33 modules across 320 pixels, about 9.7 pixels per module, so the pattern is chunky and easy to read from across a table. When a phone camera scans it, the phone itself interprets the WIFI: prefix and offers to join the network named CafeGuest. Test it on a real device before printing table cards.

Pasting a whole paragraph

Scenario: You paste a 500-character block of plain text and press the button, then try again with a text of 2,332 characters.

The 500 characters need version 17, an 85 by 85 module grid, which works out to roughly 3.6 pixels per module in the 320 pixel image. It is valid but visibly fine-grained, so it needs a large print size. At 2,331 plain text characters the encoder still manages a version 40 code of 177 by 177 modules. At 2,332 characters it runs out of room and the tool shows 'Could not generate a QR code for that input. Try shortening the text.'

Tips for Better Results

  • Prefer the shortest destination that still works. Every character you remove can reduce the grid size, and a smaller grid means larger modules at the same print size, which is the single biggest factor in reliable scanning.
  • Always include the https:// prefix on web addresses. Without it, some scanners treat the content as plain text and show it for copying instead of offering to open it, which confuses people who expect a link.
  • If you write a Wi-Fi string by hand, remember that the characters semicolon, comma, colon, quote, and backslash have special meaning in that format and must be escaped with a backslash when they appear inside a name or password.
  • Keep dark modules on a light background. Inverted codes, with light squares on a dark field, are not read by every scanner app, and low-contrast color combinations make slow or failed scans far more likely.
  • Print a proof first and scan it from the real viewing distance. A common rule of thumb is that a code can be scanned from roughly ten times its width, so a 2-inch code works at about 20 inches and a poster needs a much larger one.
  • Leave a generous blank margin around the code in your layout and avoid placing it on glossy, curved, or wrinkled surfaces. Reflections and distortion damage modules in ways that error correction cannot always repair.

Common Mistakes to Avoid

  • Editing the text after generating and forgetting to press the button again. The preview and download stay as the old code until you click 'Generate QR Code', so confirm the image changed before saving.
  • Leaving out https:// or including a stray space or line break. The code will encode these literally, so scan your own result and check the destination, not just the picture.
  • Printing a dense code too small. A code built from a 500-character message will not scan at stamp size, so either shorten the text or increase the printed width.
  • Using a destination that will change. A static code cannot be edited after printing, so point it at a stable address you control, such as a short link on your own domain that you can redirect later.
  • Putting sensitive information in the code. Anyone with a camera can read it, so never encode a private password or personal data in a code displayed in public view.

Assumptions and Limits

  • The generator creates a static code. It stores your text directly, adds no tracking or redirect, and has no expiry, but that also means there are no scan statistics and no way to edit the code later.
  • Error correction is fixed at level M, and the color scheme is fixed as navy on white at 320 pixels with a two-module border. There are no controls for logo overlays, other correction levels, or custom colors, so those features are outside what this page does.
  • Capacity is limited. Plain text and typical web addresses are stored as bytes, and the largest code this tool built in testing held 2,331 such characters. Characters outside basic ASCII, such as accented letters, use more than one byte each, so the practical limit drops for text in many languages.
  • The tool does not verify that a link is safe or that it exists. A code is only as trustworthy as the address inside it, so treat unfamiliar printed codes the way you would treat unfamiliar links.

Key Terms

Module
One of the small dark or light squares that make up the QR grid. Scanning reliability depends largely on how large each module is when printed or displayed.
Version
The size class of a QR code, from 1 (21 by 21 modules) to 40 (177 by 177). The encoder picks the smallest version that fits your data and its error-correction overhead.
Error correction
Extra data built into the code, using a Reed-Solomon scheme, that lets a scanner reconstruct information from damaged or hidden areas. Level M can recover roughly 15 percent.
Quiet zone
The blank border around a QR code that helps a scanner find where the code begins. The specification calls for four modules of clear space.
Static QR code
A code that contains the actual data rather than a pointer to a service. It cannot be changed after creation and does not depend on any company staying in business.
Byte mode
The encoding method used for general text and most web addresses, storing each character as one or more bytes. It uses more space per character than numbers-only content.

Frequently Asked Questions

Is my QR code content sent to a server?+

No — the QR code image is generated entirely in your browser using local code. Nothing you type is transmitted anywhere.

What can I put in a QR code?+

Any text works, including URLs, Wi-Fi details, contact info, or plain messages — the QR code simply encodes whatever text you enter.

Is there a limit to how many QR codes I can make?+

No, generate as many as you like — there's no account, watermark, or usage limit.

Will my QR code still scan if part of it gets damaged or covered by a logo?+

Usually, yes — QR codes generated here use error-correction level M by default, which rebuilds the code correctly even if roughly 15% of it is missing, smudged, or covered. That said, it's still safest to test-scan any code before printing it at scale, especially if you plan to place a logo over part of it.

Why does encoding a long message make a bigger, denser QR code?+

QR codes have no fixed size — the encoder automatically picks a larger grid (more modules) as your text gets longer to fit all the data plus its error-correction redundancy. A short URL fits comfortably in a small, easy-to-scan code, while a full paragraph needs a much denser one that may require printing larger or scanning from closer up.

Does a QR code expire after a while?+

A static code like the ones made here never expires, because all of the information is stored in the pattern itself. What can stop working is the destination: if the web page is deleted, moved, or its domain lapses, scanning still decodes the address correctly but the page it opens is gone. For anything printed in quantity, choose an address you plan to keep for years.

Can I change where the code points after I have printed it?+

No. The destination is part of the pattern, so a different destination means a different code. The practical workaround is to encode a short address on a domain you control, such as a page that redirects to the real content. You can then change the redirect target at any time while the printed code stays valid.

Why does my phone show plain text instead of opening the link?+

The scanner only opens something as a link when it recognizes the content as one. The most common cause is a missing https:// at the start, so the content looks like a bare word or domain. Regenerate the code with the full address, including the scheme, and scan again. Typos and stray spaces can cause the same symptom.

How big should I print a QR code?+

There is no single answer because it depends on how much data you encoded and how far away people will stand. A frequently quoted guideline is a scanning distance of about ten times the code width, so a code scanned from arm's length can be small, while a window or poster needs a large one. Short content helps, and a test print is the only reliable check.

Is it safe to put a password or personal details in a QR code?+

The content is not encrypted or protected in any way. Anyone who can photograph or scan the code can read exactly what it contains. That is fine for a guest Wi-Fi password you intend to share, but it is a poor choice for private account credentials, identification numbers, or anything you would not write on a public sign.

Found this useful? Share it

Help someone else out — or link to it from your own site.

Link to this tool

Writing about qr code generator? Paste this on your site to link here.

<a href="https://everyfix.net/tools/qr-code-generator/">QR Code Generator</a> by <a href="https://everyfix.net">EveryFix</a>