QR Code Example: Types of QR Codes Explained With 12 Scannable Samples

Bhargav Dhameliya
Bhargav Dhameliya
October 10, 2026
5 min read
qr code example featured

Ever needed a QR code example to test a scanner, show a client, or just see what a “Wi-Fi QR code” actually is? Most sample pages give you a picture and nothing else. You can’t see what’s inside it, so you can’t tell what it will do.

I’m Bhargav, founder of linkutm. My team builds QR codes for marketers every day, and the most common question we get is “what does this type of code actually contain?” So I made 12 sample QR codes, one per type. For each one, I’ll show you the exact data inside it, what a phone does when it reads it, and how it scored in a decode test.

Every sample below is a real, working QR code. All are static, so they keep working without any server. They point only to safe places: linkutm.com, the reserved example.com domain, fictional 555 phone numbers, and a public landmark.

Here’s the full set at a glance, one example of QR codes for each common type:

# QR code example What’s inside starts with What a phone typically offers QR version
1 URL https:// Open the link 2
2 URL with UTM tags https://...?utm_source= Open the link (tracked in GA4) 6
3 Plain text the text itself Show the text 3
4 Wi-Fi WIFI: Join the network 3
5 vCard contact BEGIN:VCARD Save the contact 7
6 Email mailto: Draft an email 5
7 SMS SMSTO: Draft a text message 3
8 Phone call tel: Dial the number 2
9 Map location geo: Open a map 2
10 Calendar event BEGIN:VEVENT Add to calendar 7
11 WhatsApp message https://wa.me/ Open WhatsApp 4
12 Micro QR code short text Depends on the scanner M3

Versions are at error correction level M. One quick note: this post shows you samples. If you want advice on which type to pick for a campaign, read our guide to the types of QR codes and when to use each. I won’t repeat it here.

What Is a QR Code Example, Really?

A QR code example is a working QR code made to show what one type of code contains and does. The useful part isn’t the black and white squares. It’s the payload: the text stored inside the code.

Here’s the thing most sample pages skip. A QR code stores one string of text. That’s it. The “type” of QR code is just a convention about how that text starts. Your phone reads the start of the string and decides what to do with it.

A few entities you’ll see all through this post:

  • Payload: the data stored in the code. For a URL code, the payload is the URL.
  • URI scheme: the prefix before the colon, such as tel: or mailto:. It tells the phone which app should handle the data.
  • Version: the grid size, from Version 1 (21 x 21 squares) to Version 40 (177 x 177), as Denso Wave’s version table lists. More data needs a higher version.
  • Module: one square in the grid.
  • Error correction: extra data that lets a damaged code still scan. Levels L, M, Q and H recover roughly 7%, 15%, 25% and 30% of the data, per Denso Wave.

So the relationship is simple. The payload decides the type. The payload’s length decides the version. The version and the print size decide how easy the code is to scan.

Map of QR code types: static codes hold URL, text, Wi-Fi, vCard, email, SMS, phone, location, event and WhatsApp data; dynamic codes hold a short link for PDF, Multi-URL and app codes
Honest limitation: I tested that every sample decodes back to its exact payload. I did not test the prompt each phone model shows after a scan. Those prompts differ by phone, camera app and OS version, so treat the “what a phone typically offers” column as the standard behavior, not a promise.

12 Sample QR Codes, One Per Type

Each QR example below shows the code, then the exact payload in a box. Want to scan these? Point a second phone at your screen, or save the image and read it with Google Lens. Our guide to using a QR code scanner from an image covers the screenshot route on each platform.

1. URL Example QR Code

Sample QR code example, URL type, encoding https://linkutm.com
https://linkutm.com

The most common QR code type. The payload is a plain web address, and the phone offers to open it in a browser. At 19 characters, it fits in Version 2, which is about as simple as a QR code gets.

Limitation: a URL code is only as good as its destination. If the page moves, the printed code points to a dead link.

2. URL With UTM Tags QR Code Sample

Sample QR code example, URL with UTM tags type, encoding https://linkutm.com/?utm_source=qr-code-example&utm_medium=print&utm_c
https://linkutm.com/?utm_source=qr-code-example&utm_medium=print&utm_campaign=sample-codes

Same type as #1, but with UTM parameters added. UTM parameters are tags on a URL that tell Google Analytics where a visit came from. This is how you tell scans of a code apart from other traffic.

Look at the cost, though. The tags push the payload to 90 characters and the code to Version 6. That’s 41 x 41 modules instead of 25 x 25. If you need tags, the QR code UTM builder creates them in a consistent format.

Real talk: this sample is tagged on purpose. If you scan it, the visit lands in our GA4 under utm_source=qr-code-example. That’s how I’ll know how many people actually scan sample codes on a blog.

3. Plain Text QR Code

Sample QR code example, Plain text type, encoding This is a sample QR code from linkutm.com
This is a sample QR code from linkutm.com

A text QR code holds words, not a link. Most phone cameras show the text, and some offer to copy or search it. Text codes are popular for serial numbers, short instructions and puzzle hunts.

Limitation: text in a code can’t be updated or tracked. It’s also easy to forget that anyone can read it.

4. Wi-Fi QR Code Sample

Sample QR code example, Wi-Fi type, encoding WIFI:T:WPA;S:SampleGuest;P:sample-2026;;
WIFI:T:WPA;S:SampleGuest;P:sample-2026;;
T is the security type, S is the network name and P is the password. Scan it and your phone will offer to join a network called “SampleGuest”. That network doesn’t exist, so nothing will connect. The Wi-Fi QR code entry explains every field and the escaping rules for passwords with semicolons.

5. vCard QR Code Example

Sample QR code example, vCard contact type, encoding BEGIN:VCARD
BEGIN:VCARD
VERSION:3.0
N:Sample;Alex;;;
FN:Alex Sample
TEL;TYPE=CELL:+1-202-555-0143
EMAIL:alex@example.com
END:VCARD

A vCard is the standard file format for contact cards. Scanning offers to save “Alex Sample” as a new contact. Even this short card is 118 characters and Version 7, the densest standard code in the set. The vCard QR code entry shows how each extra field grows the code.

6. Email QR Code Example

Sample QR code example, Email type, encoding mailto:hello@example.com?subject=Sample%20QR%20code&body=Hi%20there
mailto:hello@example.com?subject=Sample%20QR%20code&body=Hi%20there

The mailto: scheme is defined in RFC 6068. It opens a new email with the address, subject and body filled in. Spaces are written as %20, which is why the payload looks messy. I used example.com because RFC 2606 reserves it for documentation, so no real inbox gets your test emails.

7. SMS QR Code Example

Sample QR code example, SMS type, encoding SMSTO:+12025550143:Sample QR code text
SMSTO:+12025550143:Sample QR code text

This opens a new text message with the number and the message filled in. SMSTO: is a de facto convention that started with the ZXing barcode project. The official sms: URI from RFC 5724 also exists, and some generators write that instead.

The number is fictional. The North American Numbering Plan reserves 555-0100 to 555-0199 for fictional use, so I picked one from that range.

8. Phone Call QR Code

Sample QR code example, Phone call type, encoding tel:+12025550143
tel:+12025550143

The shortest payload in the set: 16 characters. The tel: scheme (RFC 3966) asks the phone to dial. Phones normally show the number and ask before calling.

9. Map Location QR Code

Sample QR code example, Map location type, encoding geo:48.8584,2.2945
geo:48.8584,2.2945

The geo: scheme (RFC 5870) stores latitude and longitude. These coordinates point at the Eiffel Tower. Phones that support geo: open a map app. Some scanners show the coordinates as text instead, which is why many generators use a Google Maps URL.

10. Calendar Event QR Code Example

Sample QR code example, Calendar event type, encoding BEGIN:VEVENT
BEGIN:VEVENT
SUMMARY:Sample QR Code Webinar
DTSTART:20261120T150000Z
DTEND:20261120T160000Z
LOCATION:Online
END:VEVENT
VEVENT is the event block from iCalendar (RFC 5545). Scanning offers to add the event to your calendar. The Z at the end of each time means UTC, so your phone converts it to local time. Leave the Z out and different phones may read the time in different time zones.

11. WhatsApp QR Code

Sample QR code example, WhatsApp message type, encoding https://wa.me/?text=Sample%20QR%20code%20from%20linkutm
https://wa.me/?text=Sample%20QR%20code%20from%20linkutm

A WhatsApp code is a URL code that points to WhatsApp’s wa.me click-to-chat links. With a phone number after wa.me/, it opens a chat with that number. Without one, as here, WhatsApp should ask you to pick a chat, with the message already typed. I left out the number on purpose, so the sample can’t message a real person.

12. Micro QR Code Example

Sample QR code example, Micro QR code type, encoding LINKUTM
LINKUTM

This one surprises people. Micro QR is a smaller sibling of the QR code, also from Denso Wave. Its official page describes one position detection pattern instead of three, a 2-module margin, and four sizes, M1 to M4 (11 x 11 to 17 x 17 modules). Even M4 holds only 35 digits or 21 alphanumeric characters. This sample is M3: just 15 x 15 modules.

Limitation: OpenCV read 0 of 40 simulated captures of it, and its clean-image decode failed too. I couldn’t confirm that the default iPhone or Android camera reads Micro QR. Don’t use it for anything consumers scan.

Static and Dynamic: Why Some QR Code Examples Can’t Be Shown

All 12 samples above are static QR codes. The data sits in the pattern, so what you see is everything there is.

A dynamic QR code works differently. Its pattern holds only a short link. A server decides where that link goes, and the destination can change after printing. PDF codes, app download codes and multi-URL QR codes all work this way.

That’s why I didn’t include them. The payload of a dynamic sample is always just a short URL, like https://lnk.to/k2-box. It shows you nothing about the type. And if the service behind it ever stops, the sample stops too.

Here’s how the two families compare:

Static QR code example Dynamic QR code example
What’s in the pattern The data itself A short redirect link
Works offline Decodes offline; URL types still need internet No
Can change after printing No Yes
Counts scans No Yes
Typical version Grows with the data Stays low (short link)
Honest limitation: I’m biased here, because linkutm sells dynamic codes. But for Wi-Fi, contacts and phone numbers, static is often the better choice. No account, no expiry, no server to fail.

Two QR codes can hold identical data and still look nothing alike. People often assume one of them is broken. It usually isn’t.

I encoded one URL, https://linkutm.com/blog/qr-code-example, every way the standard allows. Three things change the pattern.

1. The mask pattern. A mask is a fixed pattern laid over the data to break up large blocks and lookalike corner shapes. ISO/IEC 18004 defines 8 masks. The generator scores each one with penalty rules and picks the lowest. All 8 are valid.

In my test, all 8 masked versions decoded to the same URL. Compared with the auto-picked mask (mask 6), the others differed in 17.0% to 52.6% of their modules. So two generators that score masks differently can print very different-looking codes for the same link.

The same QR code example URL encoded with all 8 mask patterns, each valid, with 17% to 53% of modules different
2. The error correction level. The same URL needed Version 3 at levels L and M, Version 4 at Q and Version 5 at H. A higher level adds recovery data, so the grid grows. 3. The encoding mode. QR codes have four encoding modes: numeric, alphanumeric, byte and kanji. Alphanumeric mode packs data tighter but only allows 45 characters: digits, uppercase letters, space and $ % * + - . / :.

You’ll read that uppercasing a URL makes a smaller QR code. It’s half true. Here’s what I measured:

URL Lowercase Uppercase
linkutm.com/blog/qr-code-example (40 chars) Version 3 Version 3 (no change)
linkutm.com/tools/qrcode-generator/types-of-qr-codes (60 chars) Version 4 Version 3
UTM-tagged URL (90 chars) Version 6 Version 6 (no change)

The UTM URL couldn’t switch modes at all. ?, &, = and _ aren’t in the alphanumeric set, so the whole thing stays in byte mode. Uppercasing also breaks UTM reporting, because GA4 treats QR-CODE-EXAMPLE and qr-code-example as different values. Website paths can be case-sensitive too. My advice: skip this trick and shorten the URL instead.

How the Sample QR Codes Scored in a Decode Test

Every sample decoded perfectly from a clean image. So I tried something closer to real life.

I ran each code through a simple camera simulation 40 times: 3 to 5 pixels per module, up to 12 degrees of tilt, blur and sensor noise. Then I decoded each frame with two open-source decoders: zxing-cpp 3.1.1 and OpenCV 5.0.0.

Decode test of 12 sample QR codes over 40 simulated camera captures: zxing-cpp read every standard code, OpenCV dropped to 24 of 40 on the vCard and 0 on Micro QR

What the numbers say:

  • zxing-cpp read all 11 standard samples 40 out of 40 times. At this quality, version made no difference to it.
  • OpenCV struggled as the version went up. It read the Version 2 codes (URL, phone, map) 40/40, but the Version 7 vCard only 24/40.
  • Micro QR split the decoders. zxing-cpp read it 31/40. OpenCV read it 0/40.

The practical lesson: denser codes give weaker scanners less room. If your audience uses a mix of old phones and third-party apps, keep the payload short. Our guide to the QR code’s smallest size turns this into print dimensions.

Honest limitation: this is a simulation, not 40 real phones. Real cameras add glare, motion and auto-focus problems. Use these numbers to compare samples with each other, not as a scan rate.

How to Test a Sample QR Code Before You Print

A QR code that decodes on your screen can still fail on paper. This is the routine my team runs on every code before it goes to print.

  1. Read the payload first. Decode the code with a scanner that shows the raw text, and check every character. Typos in a static code can’t be fixed later.
  2. Scan it on two platforms. Use one iPhone and one Android phone with their default cameras. The prompt and the app that opens can differ.
  3. Complete the action. Don’t stop at the prompt. Open the page, save the contact, join the network or add the event, then check the result.
  4. Print one at real size. Scan the printed proof from the distance people will actually stand. Our guide on how to scan a QR code covers the angles and conditions that make codes fail.
  5. Check the tracking. For URL codes with UTM tags, scan once and confirm the visit shows up in GA4 Realtime with the right source.
Limitation: none of this catches a dead destination months later. Static URL codes need a reminder to recheck the link, or a dynamic code that you can re-point.

Frequently Asked Questions

Where can I get a sample QR code to test a scanner?

You can use any of the 12 samples in this article. Each one is static, decodes without a server and shows its full payload, so you can check the scanner’s result character by character. For a broader test, use at least the URL, Wi-Fi and vCard samples, because they trigger different phone actions.

Is it safe to scan a sample QR code?

A sample QR code is safe when you can see its payload before acting on it. The danger in any QR code is the destination, not the pattern. Every sample here points to linkutm.com, the reserved example.com domain, a fictional 555 number or a public landmark. For codes you find elsewhere, read the URL your phone shows before you tap it.

Why does my QR code look different from someone else’s for the same link?

Two QR codes for the same link usually differ because of the mask pattern, the error correction level or the encoding mode. In my test, one URL produced 8 valid patterns, with up to 52.6% of modules different, and all of them decoded to the same link. A different version or level changes the grid size too.

What is the simplest QR code example?

The simplest standard QR code is Version 1, a 21 x 21 grid. A short number or phone payload, like the 16-character tel: sample here, fits in Version 2 at level M. The Micro QR M1 is smaller still at 11 x 11, but most phone cameras aren’t built around it.

Can I put these sample QR codes on my own materials?

You can, but you shouldn’t. The URL samples point to linkutm.com, and the contact, SMS and phone samples use fictional details. Generate your own code with your real data instead. The free QR code generator makes every static type shown here.

Does a QR code example work without the internet?

Decoding always works offline, because the data is in the pattern. What happens next depends on the type. Text, Wi-Fi, vCard, phone, SMS and calendar codes work without a connection. URL and WhatsApp codes need the internet to load their destination, and every dynamic code needs it to reach its server.

The Takeaway

A QR code example is only useful when you can see what’s inside it. That’s true of every set of QR code examples, including this one. Every type above is the same symbol with a different payload. The payload’s length sets the version, and the version decides how easy the code is to scan.

Pick the type by what you want the phone to do. Keep the payload short. Test on two phones before printing. For real campaigns, browse how industries use QR codes, then build your own in the QR code generator.

Bhargav Dhameliya

About Bhargav Dhameliya

Share this article

Ready to track your campaigns better?

Join thousands of marketers who use linkutm to build, track, and manage their marketing campaigns with ease.

Get Started for Free