Introducing EternalQR – a dynamic QR code tool
Introducing EternalQR – a small web-app to create dynamic QR codes, update their links later, track scans, customize them, and download them as PNG or SVG files.
I got the idea for this from something that happened to my brother.
He had created a video on YouTube and added a QR code to it using some free QR code tool he found online. Initially, the QR code was working correctly. But later, when the video started getting lots of views, the QR code stopped working.
And because the QR code was already inside the video, there was no way to update or replace it.
That made me think that QR codes are a bit different from normal links. A link on a website can be changed anytime. But a QR code often ends up in places that are hard to edit later – YouTube videos, restaurant menus, business cards, flyers, packaging, event signs, invoices, stickers, and so on.
So I created EternalQR around one simple idea: if a QR code is already created and used somewhere, normal plan changes should not turn it into a dead link.
Some things it supports right now:
- dynamic QR codes with editable destinations
- scan analytics with country, device, browser, referrer, and time
- QR codes for websites, contact cards, Wi-Fi, SMS, email, phone, and plain text
- logo and color customization
- PNG and SVG downloads
- pause, expiry dates, tags, and basic dashboard management
- existing QR codes keep redirecting through normal plan changes
The app is built on Cloudflare Workers, D1, and KV, so redirects are very cheap to serve. Paid plans are mainly for things like more QR codes, longer analytics history, customization, and other features.
The pricing is also kept simple:
- Free – 5 QR codes
- Starter – $5/mo for 50 QR codes
- Pro – $19/mo for unlimited QR codes
- Lifetime – $89 once for Starter features
Not to mention, but all these plans come with unlimited scans.
Here's how an already created QR code page looks, with scan analytics and more.
It's not a huge ambitious product, but just a practical tool for a problem I saw happen in real life.
Webmentions