QR Code Hijacking Attempts Are Pretty Inept


A poster behind some glass. A paper QR code is stuck on top of the glass. It is easy to see it is a replacement code.

I've been writing about QR codes since 2007 - long before they were fashionable. Because QR Codes are so cheap to produce, there has always been a concern that attackers might print out their own codes and stick them over legitimate ones. When I first wrote about QR Hijacking in 2011, I said that such […]

Continue reading →

Displaying a QR code in MicroPython on the Tildagon Badge


A hexagonal circuit board with a circular screen. The screen displays a monochrome QR code.

This was a bit of a labour of love - and something I wanted to get running during EMF Camp. I'm documenting in the hope it'll be useful for EMF 2026! Here's the end result: Background I'm going to assume that you have updated your badge to the latest firmware version. You will also need […]

Continue reading →

What the UK Government gets wrong about QR codes


A leaflet for Childcare with a prominent QR code.

One of my most memorable experiences in the Civil Service0 was discussing link shortening services with a very friendly1 person from the Foreign and Commonwealth Office. I was trying to explain why link shortners like bit.ly and ow.ly weren't sensible for Government use. They didn't seem to particularly care about the privacy implications or the […]

Continue reading →

Strange Encoding Errors in TOTP QR Codes


A QR code.

Not really a security issue, but one which I thought was worth highlighting. It shows the peril of slightly vague specifications. When you scan a 2FA token into your authenticator app via QR code, you get presented with a bunch of information about your account. This lets you store things like the issuer and the […]

Continue reading →

I was told that QR codes would never succeed because no one could make money from them


Search back through this blog and you'll find dozens of posts about QR codes. Back in the day, I was a freelance "Mobile Internet" consultant. I'd rock up to companies and say "you know you can get the Web on your phone, right? It's going to be the next big thing!" And people would pay […]

Continue reading →

A QR code built from Emoji


A QR built from emoji squares.

It's possible to encode QR images as text. In this case, Emoji!

Continue reading →

Donating via SMS - using QR Codes


One of the greatest cultural achievements of the last Labour Government was making museum entry free for everyone. Whether you're rich, poor, British, foreign, young, old - you can enjoy the treasures of our museums and galleries. Of course, while museums are funded by the state, they still rely on generating some external revenue - […]

Continue reading →

ASCII Art in QR Codes


There are plenty of QR generators which will render the code in ASCII, but I wanted to try something a little different. Is it possible to hide ASCII Art into QR Codes? Errr.... yes... It's pretty damn simple! I was surprised I couldn't find anyone else doing this. (_/) (='.'=) (")_(") Becomes: Which, when scanned, […]

Continue reading →

QR Codes on Energy Bills


Photo of an eBook. It is demonstrating how a customer can scan a QR code on their bill to see what their energy usage is.

This is a necropost - resurrected from the now defunct blog of a previous employer. Sadly, the follow-up post has fallen down the memory hole. You can still read Sharon's response to it. Well, we can finally unwrap one of the little projects The Lab has been working on. Along with the Department of Energy […]

Continue reading →

A New Life for QRpedia


QRpedia - Language-detecting & mobile-friendly Wikipedia QR codes.

The QRpedia project I helped found has gone from strength to strength. It's now in more museums, towns, and art galleries than ever before. It's helping open up exhibits to people in hundreds of languages. That said, I've not been able to devote as much time as I would like to - nor have other […]

Continue reading →