I made this page to distill everything I know about QR codes.
These codes are everywhere now, but a lot of people have questions about what they are and what are the best ways to make them. This page shows my basic thoughts and strats.
TL;DR: Short URLs = 👍 Chunkier QR codes. Avoid shady QR generators, own your own domain shortener to keep control, and get a good browser extension.

What size is best for a QR code?
Both of the links above go to the same page (this one!) But the chunky looking one on the left with the big pixels is better.
This is because your phone can scan it at lower resolution. The best QR code is the smallest one that still fits your link. In QR-speak, that’s Version 1 — a chunky, 21×21 grid:
- The left encodes this text: texs.org/qr — Tiny! It fits in QR Version 1.
- The right encodes this text: texs.org/qr-size-versions-explained-max-out-your-qr-skills — Much longer! So it needs QR Version 6. It’s harder for phones to read when printed small or viewed from a distance.
QR versions and sizes explained

When you generate a QR code, it stores your data as a grid of black-and-white squares called modules. The more characters in your link, the more data it has to store. This means more modules crammed into the same space. This creates smaller dots, tighter spacing, and more opportunities for scanning errors, especially with low-quality printing or small code sizes.
There are 40 versions of the QR code standard. The best QR code version to use is generally going to be the lowest version number:
- Version 1 = 21×21 modules = easiest to scan (chunky)
- Version 40 = 177×177 modules = most data capacity
QR code generators automatically pick the smallest version that can fit your data. More text = higher version = denser pattern = harder scan.
That’s why shortening your URL is the simplest way to improve scannability.
How to Shorten a URL for QR Code
How to Shorten a URL for QR Code
You can use a public link shortener like Bitly, but if you want real control, flexibility, and longevity, the best move is to use your own short domain with redirects. This keeps your QR codes clean while letting you change destinations later without ever reprinting.
One simple option is to use your own WordPress site and add a redirect plugin (that’s what I’m doing on this website currently). This gives you a lightweight, reliable URL shortener that lives entirely on infrastructure you already own. You create short, memorable paths like /spaceman or /jcard, and point them wherever you want.

If you’re a bit more technical, you can also build QR codes directly into your site. Modern frameworks and AI-assisted coding make it surprisingly easy to add a small redirect feature that logs clicks, supports analytics, or even expires links automatically. This approach scales well and avoids relying on third-party services that might change pricing or shut down.
There are also self-hosted tools like YOURLs if you want to make a dedicated link shortener website, but I personally like adding it as a feature to an existing site rather than making your URL a dedicated link shortener.
For example, my site texs.org dual functions as a personal link shortener, as well as my main domain and website as well.
Why not just use a free QR code service?
Because the technology behind QR codes is free. You can (and should) generate them yourself without relying on a company that can hold your link hostage.

Case in point: I recently scanned this QR code for a 7-day E-bike tour through Greece (pictured). And instead of taking me to Greece, it took me to a ransom page: “Your QR has expired — pay monthly to keep it active.”
If that happens, and you’ve already printed or distributed the code, then you’re stuck with a dead QR code (or pay up).
So don’t fall prey to predatory QR generators. The underlying technology is simple and free. Use an in-browser QR code generator, and you can build your own.
Install a browser extension QR generator
A good offline browser extension is the fastest way to make reliable QR codes.
- Firefox: Offline QR Generator — I personally use this one
- Chrome: QR Code Generator — Best one for Chrome
Why I love using a QR browser extension:
- They let you strip out unnecessary prefixes like https:// and www., saving characters so you can make a chunkier QR code.
- Browser extensions can create codes instantly from the page you’re viewing, so you can quickly jump from your desktop to mobile for testing.
Wrapping It Up
If you want QR codes that scan instantly, keep them short, chunky, and under your control. A custom short link on your own domain is the best way to get there. And it might save you from a QR disaster later.
Thank you for this knowledge, the new paywall of the QR code has baffled me so i appreciate you spreading the knowledge of creating one for free!
I thought QR codes were created! Thats neat that they just *exist* for any possible url