QR Codes

How QR Codes Work + How to Create One Free (No App, No Signup)

QR codes are everywhere now, on menus, posters, business cards, and product packaging. But how does that little square of black and white dots actually store a web address or a WiFi password? And how do you make one yourself without downloading an app or handing your email to a sign-up form? This guide explains how QR codes encode data, what error correction is and why it lets you add a logo, and how to create a free static QR code right in your browser, with no tracking and no expiry date.

By · June 17, 2026 · 8 min read · Updated June 2026
Key Takeaways
  • QR code scanning by US smartphone users grew to roughly 89 million people in 2022, up from 83 million in 2021 (Insider Intelligence / eMarketer, 2022).
  • A QR code stores data in a grid of modules, with three corner squares for orientation and built-in error correction.
  • Error correction can recover up to 30% of a damaged or covered code, which is why you can place a logo in the center.
  • Static QR codes (what FusionPDF makes) never expire and can't track you, but they can't be edited after creation.

What Is a QR Code, Exactly?

A QR code is a two-dimensional matrix barcode that stores data in a grid of black and white squares. Scanning by US smartphone users reached roughly 89 million people in 2022, up from 83 million in 2021, according to Insider Intelligence / eMarketer (2022). Unlike a barcode, it reads in two directions.

QR stands for "Quick Response." The format was invented in 1994 by Denso Wave, a Japanese automotive supplier, to track parts on assembly lines faster than a standard linear barcode allowed. A traditional barcode holds data in one direction only, along a row of vertical lines. A QR code holds data both horizontally and vertically, which is why it can store hundreds of times more information in the same space.

That density is the whole point. A single QR code can hold a full web address, a WiFi login, a contact card, or a payment string. And because phones now read them straight from the camera, no separate app needed, they've become the fastest way to move data from a printed surface to a phone.

"QR code use among US smartphone users climbed to an estimated 89 million people in 2022. The jump reflects camera-native scanning on modern phones, which removed the need for a dedicated app and turned the QR code into a default bridge between print and screen." Source: Insider Intelligence / eMarketer, 2022

How Does a QR Code Encode Data?

A QR code encodes data as a grid of small squares called modules, each one black (a 1) or white (a 0). The standard, ISO/IEC 18004, defines this structure precisely. Three large squares sit in the corners as position-detection patterns, letting a scanner find and orient the code in under a second from almost any angle.

The parts of a QR code

Look closely at any QR code and you'll spot a few fixed features. The three big nested squares in the top-left, top-right, and bottom-left corners are position-detection patterns. They tell the scanner where the code is and how it's rotated. A scanner can read a code upside down or sideways because of these three markers.

Between and around those corners run the timing patterns, alternating black and white lines that act like a ruler. They tell the decoder how big each module is, so it can map the grid correctly even if the image is slightly skewed. Smaller alignment patterns appear in larger codes to correct for distortion on curved or warped surfaces.

Where your actual data lives

Everything that isn't a fixed pattern is the data and error-correction area. Your URL or text gets converted to binary, split into the encoding mode (numeric, alphanumeric, byte, or kanji), and laid out across the grid in a zigzag pattern. A blank margin called the quiet zone surrounds the whole code so the scanner can tell where it begins and ends. Skip that margin and many readers fail.

Quick fact: QR codes come in 40 "versions," from a 21x21 grid (version 1) up to 177x177 (version 40). More data means a higher version with more modules, which is why a long URL produces a busier, denser-looking code than a short one.

What Is Error Correction and Why Does It Let You Add a Logo?

QR codes use Reed-Solomon error correction, the same math behind CDs and DVDs, to rebuild data even when part of the code is damaged or hidden. The ISO/IEC 18004 standard defines four levels: L recovers about 7%, M about 15%, Q about 25%, and H up to 30% of the code. That redundancy is exactly what makes center logos possible.

Here's the logic. When you generate a code at error-correction level H, the decoder can lose up to 30% of the modules and still reconstruct the original data perfectly. So if you cover the center with a small logo, you're "damaging" the code on purpose, and the error correction simply fills in the missing pieces. The code still scans.

Level L and M (7% / 15%)

Best for clean digital use where the code won't be covered or printed on rough material. Produces a smaller, less dense code for the same data.

Level Q and H (25% / 30%)

Best when adding a center logo or printing on surfaces that may scuff. Level H gives the most resilience and is the safe choice for branded codes.

There's a trade-off, of course. Higher error correction uses more modules for redundancy, so the same data produces a denser code. That's fine for most uses, but if you're encoding a very long URL and want a logo, shorten the URL first so the code doesn't get too cramped to scan reliably.

30%
Maximum recoverable data at error-correction level H A QR code set to level H can lose up to 30% of its modules and still decode correctly, per the ISO/IEC 18004 standard, which is why a centered logo doesn't break the scan.

What Kinds of Data Can a QR Code Hold?

A QR code can hold any short text string, and clever formatting turns that into actionable data your phone recognizes. The FusionPDF QR generator supports 14 data types, from URLs to WiFi logins to crypto addresses. Each type formats the text so the scanning phone knows what to do with it automatically.

The trick is that phones recognize certain text patterns and offer matching actions. A string starting with https:// opens a browser. One starting with WIFI: offers to join a network. A BEGIN:VCARD block offers to save a contact. The QR code itself is just text; the formatting tells the phone what kind of text it is.

Common data types you can encode include:

  • URL - the most common use, opens a website instantly.
  • WiFi - encodes network name, security type, and password so guests join without typing. See our WiFi QR code guide.
  • vCard - a full contact card with name, phone, email, and company.
  • WhatsApp, SMS, Email - open a pre-filled message to a number or address.
  • Location - drops a pin on a map app.
  • Event - adds a calendar entry with date, time, and title.
  • App Store / Play Store - link straight to an app download page.
  • Bitcoin and Social - a payment address or a link to your social profile.
"A QR code stores plain text, but recognized prefixes such as the WIFI schema or a vCard block let scanning phones trigger specific actions automatically. A single code can therefore add a contact, join a network, or open a payment screen with no typing from the person scanning it." Source: ISO/IEC 18004 QR Code specification

Static vs. Dynamic QR Codes: What's the Difference?

A static QR code encodes the final data directly into the pattern, so it works forever and can't track you, but it can't be changed after creation. A dynamic QR code stores a short redirect link that points to a third-party server, which lets you edit the destination and count scans, but that server can log every scan. FusionPDF makes static codes only.

Let's be honest about the trade-off, because most "free" QR sites quietly push you toward dynamic codes. With a static code, the URL (or WiFi string, or contact card) is baked into the dots themselves. Nothing sits between the scanner and the destination. That means no tracking, no monthly fee, and no expiry. The downside: if you encoded the wrong URL, you have to generate a new code.

Static QR (FusionPDF)

Data encoded directly. No tracking, no expiry, no third-party server, no cost. Cannot be edited after creation. Best for permanent links, WiFi, contact cards, and anything you'll print.

Dynamic QR (third-party)

Routes through a redirect server. Editable destination and scan analytics, but the server can track each scan and the code dies if the service ends or the subscription lapses.

Worth knowing: If you've ever scanned a "free" QR code that opened a tracking domain before redirecting, that was a dynamic code logging your scan. A static code goes straight to the destination, with nothing in between to record that you scanned it.

How Do You Create a QR Code Free in 3 Steps?

Creating a QR code with FusionPDF takes under a minute and runs entirely in your browser. The code is generated locally on your device using JavaScript, so nothing is uploaded and no scan can be tracked. There's no app to install and no account to create, and you can export the result as PNG or SVG.

1
Open the QR generator and pick a type

Go to fusionpdf.pro/qr-code and choose from 14 data types: URL, WiFi, vCard, WhatsApp, SMS, Email, Location, Event, App Store, Play Store, Bitcoin, Social, and more.

2
Enter your content and customize

Type your URL or details. Then set the foreground and background colors, pick a module style, and optionally drop in a logo. Set error correction to level H if you add a logo.

3
Download as PNG or SVG

Click download. Choose PNG for screens and messaging, or SVG for print, signage, and large formats where the code must stay sharp at any size. It saves straight to your device.

PNG or SVG? Use PNG when you'll share the code digitally or drop it into a slide. Use SVG whenever the code will be printed, especially on posters or packaging, because SVG is vector and stays crisp at any size with no pixelation.

Tips for QR Codes That Actually Scan

Most QR scan failures come from three avoidable mistakes: poor contrast, printing too small, and never testing before going to print. A scanner needs to distinguish dark modules from light ones, so keep strong contrast and a clean quiet zone. The minimum reliable printed size is usually around 2 by 2 centimeters for close scanning, scaling up with distance.

Keep contrast high

Dark modules on a light background scan best. Classic black on white is the safest choice. If you use custom colors, keep the foreground much darker than the background, and never invert it (light dots on a dark field) unless you've tested it on multiple phones. Low contrast is the single most common reason a stylized code won't scan.

Mind the print size and quiet zone

For a code scanned up close, such as on a business card or table tent, aim for at least 2 centimeters square. For a poster read from across a room, scale up to 10 centimeters or more. The rule of thumb: scan distance should be roughly ten times the code's width. Always leave the blank quiet-zone margin around the code, equal to about four modules wide.

Test before you print

This one matters most. Generate the code, then scan it with two or three different phones, ideally one iPhone and one Android, before sending anything to a printer. You can even check a saved code image with our QR scanner. Catching a typo or a too-dense code on screen costs nothing; catching it after printing 500 flyers is expensive.

Common use cases: restaurant menus, event check-in, WiFi sharing for guests, product packaging, business cards, real-estate signs, payment links, and "review us" prompts. For anything printed once and reused for years, a static code is ideal because it never expires.

Frequently Asked Questions

Do QR codes expire?

Static QR codes never expire. The data is encoded directly into the pattern, so the code works for as long as the destination, a URL for example, stays live. Dynamic QR codes can expire because they route through a third-party server, and the code stops working if that service shuts down or the subscription lapses. FusionPDF generates static codes, so there's nothing to expire.

What's the difference between a static and a dynamic QR code?

A static QR code encodes the final data directly, so it works forever, costs nothing, and can't track you, but it can't be edited after creation. A dynamic QR code stores a short redirect link pointing to a third-party server, which lets you change the destination and collect scan analytics, but the server can track scans and the code dies if the service ends. FusionPDF creates static codes.

Can I add a logo to a QR code?

Yes. QR codes include built-in error correction that can recover up to 30% of damaged or covered modules at the highest level (H). That redundancy is what lets you place a logo in the center without breaking the code. Use error correction level H when adding a logo, keep the logo under roughly 25% of the code area, and always test the result before printing.

What size should a QR code be for printing?

A common rule of thumb is a minimum printed size of about 2 by 2 centimeters (0.8 inches) for close scanning, scaling up with distance. For posters or signage scanned from a few meters away, use 10 centimeters or larger. Export as SVG for print so the code stays crisp at any size, and keep a quiet zone (blank margin) around it.

Can a QR code track me?

A static QR code can't track you on its own. It simply encodes data such as a URL, and scanning it opens that destination directly. Tracking happens with dynamic QR codes that route through a redirect server which logs each scan. Because FusionPDF generates static codes entirely in your browser, no scan data is collected and nothing is sent to any server.

Create Your Free QR Code Now

Static, private, permanent. 14 data types, custom colors and logo, PNG or SVG export. No app, no signup, no tracking.

Open QR Generator →