Introducing My QRCode Generator

You can find it here :)

Yet Another QR Code Generator

Yes, I know. The web is already full of QR Code generators.

But how is it possible that whenever I need just a simple QR-Code, with maybe a touch of custom styling, I can't quickly find a simple and effective tool?

Here's why: If it's a free tool without any commercial goals, it most likely is too simple and only supports creating classic black and white square QR codes.

If it's from a QR-Code SaaS company (turns out there are a lot of these) you have two possibilities:

  • They let you create static QR Codes for free, but they stick their fucking domain name on it
  • They make you pay for dynamic QR Codes

What the heck static and dynamic QR Codes even are?

Very good question my friend. To answer it, let's first get a better understanding of what a QR Code is.

Unless you've been living under a rock, I'm sure you're very familiar with QR Codes, you see them everywhere and sometimes scan one, but you might not completely understand how they work.

Don't worry, it's ok, an electrical engineer friend of mine recently asked me the same question, so you are in good company.

Basically, a QR code is just a way to encode data. There are 4 types of data supported:

  • numeric
  • alphanumeric
  • binary
  • kanji

Nowadays QR Codes are mostly used for storing URLs. Your decoder app knows it, thus, if it finds a URL, it just opens it.

That's it. A QR Code is like writing something on a piece of paper, such that a computer can easily read it. Instead of using letters it uses squares (or similar shapes) in a well defined encoding scheme, because it's easy to write a program that detects squares instead of one that detects letters.

Here are a few examples that I encourage you to scan with your smart phone:

Hello World A URL
Hello World QR Code URL QR Code

So, back to static and dynamic QR Codes.

A static QR code is one that you can't change the content of. A dynamic QR code is one that you can change its content whenever you want.

If you've you been paying attention so far you might be quite perplexed. You might be wondering how can you change the content of a QR code after you print it.

Actually, all QR codes are static. The only way to update the data stored in a QR Code is to regenerate it and print it again. But, remember how we can store URLs in QR Codes? Nothing is preventing us from updating the content hosted at that URL.

For example, say you own a restaurant and you want to digitize your menu. You pay a web developer which creates your digital menu at this url: https://your-restaurant.com/menu. Now you take this URL and place it in a QR code and print it on every table at your restaurant. Whenever you need to update the menu, you just ask the developer to modify the webpage at https://your-restaurant.com/menu, but the URL remains the same, so you don't need to regenerate and reprint the QR Codes.

However, not all people who need a QR Code own a domain name or a website or can pay a web developer. So, over time a lot of companies have decided to offer QR Codes as a service: They let you generate a QR code by just specifying what you want it to open - this can be a URL, a PDF file, an image, whatever. They then create a custom URL just for you, something like https://qr-company.com/your-qr-id, and encode this URL into a QR code. When somebody scans it, they know to redirect to the URL you specified, or serve your media content.

When time arrives that you want to update the QR code, you can just do it easily via their website. The URL stays the same, you don't need to reprint the QR code, your content gets updated.

So what's the problem with QR code Saas companies?

After all, they are offering a service for which they incur hosting and marketing costs. Of course they are going to charge money.

That's fine, even I do this. Sometimes clients ask me to create QR codes that could be easily updated in the future. There was a period in which I got this request so many times that I ended up creating my own QR Code service (it's just a little server application that does simple URL redirects, no UI, just a config file with the redirect map).

The problem is that often I don't want dynamic QR Codes. I just want simple static ones, such as a QR code to my Ebay profile, to my Instagram account or to a Google Doc I created, whatever. But, since these companies always want to be in your thoughts, they do still put their URL with their domain instead of the URL you provided. This way, if for any case you need to update the QR Code without reprinting it, your only option is to upgrade to their paid plan.

You might argue that in that case, I just had a truly static QR Code, I would be left with a non working QR Code, and that is true. But, I would still be happy because I would have been the maker of my destiny.


The second problem is that making a QR-Code Saas is actually not that complicated. I created my QR-Code service in one afternoon. I could have spent maybe another week building a nice UI and integrating payment functionality and I could have called it a Saas. Hosting would be very cheap because most requests are just HTTP redirects and a single server could handle a huge load of requests without using too much bandwidth.

For all these reasons I think QR-Code Saas are the most common ideas that come to indie dev minds after todo list apps. So the web is littered with tens of these, and whenever you search for just a simple QR Code generator, where you want to be in control, you can't find any.

To be in control

That's why I decided to create this tool. To be in control.

I wanted to be in control so bad that I didn't even rely on a pre existing QR-Code rendering library. I only use a library that tells me if a dot is present or not, then do my own drawing.

After that, it was just a matter of implementing a bunch of different drawing styles (squares, circles, horizontal ecc..), et voilà.

So please, if you too want to be in control of your QR Codes, do check out my tool and save it to your bookmarks.