If you’ve ever signed up for an account through a website, you’ve probably filled out something that looks like this:

These tests are called CAPTCHAs, and they ensure that online forms are filled out by humans, rather than automated software — like, for instance, a program that registers email addresses for sending out spam. The concept of a CAPTCHA is simple enough; while that string of twisted letters is difficult for a program to read, human beings can easily see past the alterations and interpret the letters and numbers. (At least that’s the idea. Sometimes I find myself refreshing a CAPTCHA multiple times to get one I can read, which makes me worry that I might be a robot.)

CAPTCHAs work because computer programs are supremely literal (if you tell them to jump, they ask “within what parameters.”) So when it comes to more abstract tasks, like determining whether that first letter is an “o” or a “0” or a “Q” turned on its side, machines have a difficult time. Even optical character recognition (OCR) software, which is designed to recognize regular text, makes mistakes when transcribing documents or books.

Because it’s so difficult to define how humans interpret visual information, “machine readable” codes have become an important tool for bridging the physical and digital worlds. The most common of these codes is the humble UPC, which is a part of almost any retail business. Those sets of black bars on the products we buy are like a reverse CAPTCHA, practically meaningless to a human but easy for a machine to interpret (At least that’s the idea. Whenever a cashier has to scan a UPC multiple times to get it to work, I start getting concerned that the register has become self aware.)

UPCs are limited to strings of numbers, however, and rely on inventory databases that can match those numbers with product and price information. QR (Quick Response) codes, on the other hand, aren’t so restricted.

Unlike a UPC, which is only read in one direction by a scanner’s beam, a QR code displays information in two dimensions. When a smartphone camera reads a QR tag on a product, magazine ad, or business card, the extra bandwidth allows it to do a lot more than a UPC could — like direct the user to a website, a map to a storefront, or to a company’s mobile app.

Because QR codes are so versatile, and free for anyone to generate and use, they’ve become a popular method for reaching out to smartphone-equipped consumers. Many companies have been overzealous in their QR code adoption, however, and failed to think all their implementations through. Missteps like placing QR codes on billboards (too far away to scan, even if the viewers weren’t in moving cars) or linking them to websites that aren’t mobile-friendly have risked turning this useful tool into a running gag. Creating a QR code is as easy as finding a site like Qurify, where you can make one in a few minutes. Using that code in a way that’s effective, rather than frustrating, is a matter of avoiding the pitfalls that so many companies have fallen into. Before you slap a QR code on a product or business, check out this post about implementing them properly.