QR Experiments: QRoulette

I started to do some QR code experiments recently and this is the first result of this: my animated QR code, ‘QR Roulette‘ or QRoulette.

First the basics: a QR code is a 2-dimensional barcode format. It’s a way to encode data (like a URL, a business card or just any text) into something that can be printed or shown on a screen, so that a QR code reader (your smartphone’s camera is probably one) can read the code and get the data out of it. It is visual wireless data transfer. The more data, the bigger the QR code becomes.

What I have developed is: an animated series of different QR-encoded URLs, changing slow enough that a simple QR reader (like your smartphone camera) will recognise them most of the time but fast enough that you can’t really be sure which one you’re going to get when you click the URL. Hence: QR Roulette!

QR Roulette – all Youtube videos!

In the above example, all the URLs are Youtube URLs. An iPhone needs up to a second to ‘find’ a QR code and the different codes are changing at 2x/second, So there is no telling which one you will get.

A QR code being recognized


  • I did my first QR code experiments in bash, with qrencode and imagemagick
  • I have now created a web service in Laravel, using BaconQRCode for making the QR codes and my own wrapper around ImageMagick’s command-line convert, because the popular packages like Intervention/image don’t support all the effects I needed (transparency, masking, animated gif etc).

Other animated QR codes

I am obviously not the first person who thinks of animating QR codes. There are already other kinds of animated QR codes:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.