guidecustom-domains

QR codes on your own domain: your packaging now depends on their pricing page

A managed QR puts a third party between the ink and the destination. The useful question is what lock-in you actually printed.

uqr.ai Team
3 min read
QR codes on your own domain: your packaging now depends on their pricing page

That line is not ours. It is QRocodilla's, from their 11 May 2026 post on why they built an open-source QR studio: "Your packaging now depends on their pricing page."

A managed QR puts a third party between the ink and the destination. If that third party can kill the redirect, the pack is hostage. Their MIT self-hosted alternative is real. Most restaurants will not run a container. The useful question is what lock-in you actually printed.

What you printed is a hostname

A uqr.ai code encodes a URL. On Free and Lite that URL lives on uqr.page. Those codes are locked to us. If you leave, you need a new resolver and a new print. There is no portable redirect export. Say that before a large run, not after.

On Pro and above you can print on a hostname you own. That is the lock-in rebuttal. The pack shows qr.yourbrand.com, not uqr.page. You hold the name. Print it once. Change it forever still applies: the destination behind that name is editable.

Custom domains are on Pro.

What custom domain does not buy you

DNS still points at us. The printed hostname is yours. The records still send traffic to our resolver. If you cancel, that is fine: cancel goes to Free, existing codes keep resolving, custom domains stay live on downgrade. Downgrade, never suspended. If we disappeared, the name would stop resolving unless you pointed DNS somewhere else and stood up a new lookup. We do not ship a frozen map of every code.

There is no portable redirect export. Leaving still needs a new resolver. Default-host (uqr.page) codes stay locked to us. Moving a live uqr.page print onto your domain means a new pattern. Do that before the run, not after the truck leaves.

What we will not do to a live code

We do not kill codes for non-payment. Cancel or lapse lands you on Free. Codes never expire in that sense. Unlimited scans on every plan including Free. Custom domains stay live. You do not lose last season's labels.

We do not inject ads on scans. The person who pointed a camera at your pack should get your destination. No ads on scans is a product rule, not a Pro slogan.

Pricing: Free $0, Lite $8/mo ($64/yr), Pro $20/mo ($160/yr), Business $49/mo ($392/yr). Custom domain starts at Pro.

If the next job is a test batch, uqr.page is fine. You can reprint. If the next job is packaging that will sit on shelves for two years, pin the hostname first. Create the custom domain on Pro. Wait until DNS is actually serving. Then generate the codes you send to the printer. Generating on uqr.page and moving it later is how you lock the run to us.

Self-hosting remains the cleanest answer to vendor risk. QRocodilla is MIT. If you have someone who will run the container, use that. If you do not, buy a resolver that will not hold the pack hostage for a failed card, will not put an ad on the scan, and will let you print a name you own. Then know the gap: we still terminate the DNS, we still do not export the redirect table, and we have not productized a shutdown pledge.

Your packaging should depend on a hostname you control, not on whether this month's pricing page still likes you. Print the hostname before the large run.