Loading…
← All tutorials

How to make a QR code you can change after printing

A dynamic Pro code prints a short ForeverQR link instead of your destination. Scanners hit that link, and we forward them wherever you currently point it. The printed square never changes — only the destination behind it does.

  1. 1

    Create a free account

    Pro codes need an account so they can belong to you and stay editable. Signing up is free; slots are bought separately as a one-time purchase.

  2. 2

    Buy a slot pack

    Starter is $12 for 20 codes, Growth $29 for 100, Scale $59 for 300. Packs stack, and upgrades are charged by the difference only — Starter to Growth costs $17, not $29.

  3. 3

    Switch the generator to Pro

    Set the type toggle to Pro (editable) and enter your destination URL. Style it exactly as you would a static code — everything visual works the same way.

  4. 4

    Save it to your library

    Saving consumes one slot and mints the short link that gets encoded. From this point the printed artwork is fixed and the destination is not.

  5. 5

    Change the destination whenever you like

    Open the code from your dashboard and edit its destination. The change takes effect on the very next scan — no reprint, no re-sticker, no fee.

  6. 6

    Optional: give it a custom slug

    Pro codes can use a readable link like /r/spring-drop instead of a random one. A slug locks itself once the code has been scanned, so nobody can ever repoint a printed label to a different slug.

  7. 7

    Read the scan analytics

    Each code records scan counts, device, OS, browser, country and referrer, with bot traffic filtered out. Use it to see which insert cards and packaging actually get used.

  8. 8

    Optional: send scans to your own systems

    Add a webhook URL and we POST a signed payload on every human scan, with delivery attempts logged so you can see failures.

Our commitment: while ForeverQR is in business and able to operate, your Pro codes keep resolving. We will not deactivate them because you chose not to buy more.