I just finished falling down the rabbit hole of QR codes. I had no idea the power these things had. Honestly, I thought all they did was point to websites, but they can do so much more than open a restaurant menu on your phone. This article is about my journey of learning and discovering what QR codes are capable of.
I recently helped a friend with a problem he had. He wanted to generate QR codes for some posters to help promote local businesses. There are several websites to create QR codes, but as a coder, I wanted to know if I could generate my own. I investigated what it would take to generate a dynamic QR code programmatically. After a few ChatGPT prompts, I got the code working, which took me down the rabbit hole of learning. It was way more than my friend had requested, but I couldn’t stop. I will be 100% honest; before this project, I assumed a QR code only generated URL links like a barcode holds alphanumeric values. I never thought about it, but they can do much more. I created a simple web page to generate all the QR code types I found. You can interact with it yourself at https://nuageit.com/qr.html.
With this little app I am trying to demonstrate all the different QR code types I could locate. Depending on the button you select I copy boilerplate content into the text area that can be edited. Some great free and paid sites do this much better than I do. This was just for my learning and demonstration purposes. With the boilerplate text set how you want it, click the Generate button to make the code. Click on download to save the code locally. I used the JavaScript library QRCode.js to do this.
The QR code has a specific structure to it. The black and white pixels are laid out in ways that allow you to store more data than the 20 characters in a barcode. If you preface the content with specific keywords, the QR code reader will open different apps depending on the content block. For example, if you want a QR code to call a specific phone number when scanned, put tel: and then the phone number. To call the White House, use tel:202-456-1111. Need a QR code for directions? Use geo: and the longitude and latitude of the place you want to go. To map the Statue of Liberty use geo:40.689247,-74.044502. Of course, the most common example of QR codes is to link to a website. If you don’t want to find the longitude or latitude for the location, get the shared URL for the site from Google Maps and put the URL in as the content for the code, https://maps.app.goo.gl/5jwREBjyUj8HNJUV6.
My favorite personal use of the QR code was the Wi-Fi QR code. I ordered some magnetic paper and used MS Word to create the image I have included here. I now have this on my refrigerator, and anytime a guest comes in, they can open their phone, point their camera at this code, and join my network. Just a small clarification: I swapped out my Wi-Fi info for this article and put my contact card in place of it. Go ahead and give it a scan. It allows me to discuss some of the nuances of QR code generation I ran into. The more data you put in the QR code, the more dense it will become. That can be an issue depending on what you are trying to do, but like all good tools, QR codes have workarounds. Let me describe that in more detail below.
I have placed two QR codes. The one on the left is my vCard profile without my picture. The code on the right is a link to a vCard VCF file I have on my website that you can download. This one includes my picture. See how dense the QR code on the left is? That is because it holds a lot of information. The QR code on the right points to a URL so you can download the file. Both achieve the same goal with different approaches.
Once you discover the power of the QR code and the ease of creating them, the usefulness of QR codes knows no bounds. For instance, I have a Keurig coffee machine that seems to go into descale mode a lot. I never remember the steps needed to deascale it. I created a step-by-step guide in MS Word, printed it to a PDF file, and uploaded it to my Google Drive folder. I then created a QR code pointing to the PDF website address and printed a sticker with the QR code on it. I put the sticker on the back of the Keurig. Now, when I need to descale it, I scan the code, and the instructions come right up my phone. I could have just as easily pointed to a YouTube video from one of the many people that help me teach me how to do this sort of thing.
Below is a picture of my business card. People still use business cards, don’t they? Mine has a QR code to my vCard so it can be added to the person’s phone quickly and easily. Have an upcoming event? Create a QR code with the event embedded as an iCal. People scan the code and the event gets added to their calendar. Simple as that.
The next bit of learning I am doing is reading QR codes programmatically. I can take a QR code and extract the data from it. My thought is that in areas with weak or no internet connection, it would be a powerful tool to have lots of data stored in the QR code for easy retrieval. As a side note for the vCard file, I went into Outlook and clicked Save on my contact card. I have a link to the Wikipedia article if you want more information on the vCard standard I mentioned above. If you want to discuss QR codes in more detail scan my contact card and reach out to me.