Por Eventqode21 de mayo de 2026
qr change linkchange qr urldynamic qreditable qrredirect qr

How to change the link of a QR code without reprinting: full guide

You've printed 300 laminates with a QR and now you want to change the link. New page, error in the URL, summer campaign you need to update. The bad news: with a static QR, you can't. The good news: there are several ways to avoid reprinting. In this guide you'll see all the options, from the easiest to the most advanced.

Why you can't change a static QR

A static QR encodes the URL directly in the dot pattern. When someone scans it, their phone decodes the pattern, extracts the URL, and opens it. There's no "server" in between, no database: the QR is the URL.

This means the QR and the URL are the same thing. You change the URL, you change the QR. You change the QR, you have to reprint the material it was on.

The 5 ways to change the link of a QR code without reprinting

1. Use a dynamic QR (the most common and easiest)

A dynamic QR points to a short URL controlled by a provider (or by you). You change the final URL in the provider's dashboard, and the QR stays the same, because it keeps pointing to the short URL.

Process:

  1. Create an account at a dynamic QR provider (Beaconstac, QR Tiger, Bitly, etc.).
  2. Generate a QR for the URL you want.
  3. Print that QR.
  4. Whenever you want to change the URL, log in to the dashboard and edit the destination. Done.

Pros: the easiest, designed exactly for this. Cons: if the provider shuts down, the QR stops working. Some providers charge.

Cost: free with limit on most, paid plans from 5-15 USD/month.

2. Use a URL shortener like bit.ly

The QR encodes https://bit.ly/3xYz123. You configure that short URL to point to https://yourrestaurant.com/summer-menu. When you want to change the destination, go to bit.ly and change the long URL. The QR stays the same.

Process:

  1. Create an account on bit.ly (or tinyurl, t.co, etc.).
  2. Create a short link.
  3. Enter that short link in the QR generator.
  4. Print the QR.
  5. When you want to change, edit the long URL on bit.ly.

Pros: free, without a specific QR provider, known by everyone. Cons: the URL carries the shortener's brand (less professional), without specific QR analytics.

3. Host the URL on your own domain

If you have your own domain, you can create a URL you control 100%:

https://yourrestaurant.com/qr/menu

That URL is a page on your site that does a redirect to the real URL. You change the redirect, the QR stays the same.

Process:

  1. Buy a domain (if you don't have one).
  2. On your hosting (Vercel, Netlify, Cloudflare, etc.), configure a route /qr/menu that redirects to the final URL.
  3. Change the destination URL in the redirect whenever you want.
  4. The QR stays the same, pointing to https://yourrestaurant.com/qr/menu.

Pros: full control, no third-party dependency, professional image. Cons: requires a domain and hosting, minimal technical knowledge.

Technical implementation: a 301 or 302 redirect in the hosting config file. On Vercel/Netlify, it's a _redirects file or a vercel.json. On Apache, a .htaccess. On Nginx, an entry in the server block.

Example _redirects on Netlify:

/qr/menu    https://yourrestaurant.com/summer-menu    302

Example in vercel.json for Vercel:

{
  "redirects": [
    { "source": "/qr/menu", "destination": "https://yourrestaurant.com/summer-menu", "statusCode": 302 }
  ]
}

4. Build your own dynamic QR system

If you want analytics and full control, you can build your own system. It's more work but comes out free or almost free, and nobody can shut you down.

Minimum stack:

  • Database: a qr_codes table with slug, destination_url, created_at, scan_count.
  • Public endpoint: GET /r/[slug] that records the scan and redirects to destination_url.
  • Admin panel: a web to create QRs and view metrics.

Example endpoint in Next.js:

// app/r/[slug]/route.js
import { NextResponse } from 'next/server';
import { db } from '~/lib/db';

export async function GET(request, { params }) {
  const { slug } = params;
  const qr = await db.qrCodes.findUnique({ where: { slug } });

  if (!qr) {
    return NextResponse.redirect('https://yourrestaurant.com/error');
  }

  await db.scans.create({
    data: {
      qrId: qr.id,
      timestamp: new Date(),
      userAgent: request.headers.get('user-agent'),
      ip: request.headers.get('x-forwarded-for'),
    },
  });

  return NextResponse.redirect(qr.destinationUrl, 302);
}

The QR encodes https://yourrestaurant.com/r/my-menu-qr.

Pros: full control, analytics included, no third-party branding, free or almost free (Vercel free tier + Supabase/Postgres free tier). Cons: requires development or hiring someone. Your responsibility to maintain and keep it running.

5. Use a white-label dynamic QR service

If you don't want to build anything, but also don't want the provider's brand on the URL, some premium providers allow you to use your own domain on dynamic QRs. Beaconstac, QR Tiger and a few others offer it on their higher plans.

Process:

  1. Subscribe to the provider's premium plan.
  2. Configure your custom domain (something like qr.yourbusiness.com).
  3. Generate the QRs. All QRs you generate will have https://qr.yourbusiness.com/abc123 as URL.
  4. Change the destination from the dashboard whenever you want.

Pros: almost total control, no development, professional image. Cons: the cost is higher (20-100 USD/month depending on volume).

When you DO have to reprint

There's one case where none of the above options work for you: if the QR was already printed and was static from the start.

If you printed 300 laminates with a QR that directly encoded https://yourrestaurant.com/menu, there's no way to change it. You have to reprint.

The lesson is: before printing physical material with a QR, always consider if you'll need to change it. If the answer is "maybe", invest 5 minutes in setting up a dynamic QR or a redirect. It saves you a lot of money in the medium term.

How to decide which option to choose

| Scenario | Recommended option | |---|---| | 1-2 QRs, URL probably won't change | Free static QR | | 1-5 QRs, URL may change sometimes | Free bit.ly | | 5-50 QRs, you want to see how many scan | Paid dynamic QR (Beaconstac, QR Tiger) | | 10-1000 QRs, total control without recurring cost | Own system with Vercel + Supabase | | Company, professional image, no development | Premium dynamic QR plan with custom domain |

Checklist before printing a QR

Before laminating 300 sheets, check:

  • [ ] The URL works from a real phone (not just from your laptop).
  • [ ] The page it leads to looks good on a small screen.
  • [ ] The QR scans at the real usage distance (sitting at the table, not 5 cm away).
  • [ ] The QR contrast is high (black on white).
  • [ ] The quiet zone is clear (nothing on top of the pattern).
  • [ ] The URL is short (under 60 characters) or you use a shortener.
  • [ ] If the URL may change in the future, you've used a dynamic QR or a redirect.
  • [ ] You have a backup of the QR file (PNG or SVG) in high resolution.

Conclusion

Changing the link of an already printed QR code is impossible with a static QR and trivial with a dynamic QR or a redirect. Before printing physical material, it's worth taking five minutes to set up a system that lets you change the destination without touching the print. Your future self will thank you.

If you want to see how to generate high-quality free QRs, we recommend our free QR code generator. And if you want to dive into materials and print formats, our QR codes for print guide covers everything you need to know.