How does a dynamic QR code work?

So there is this QR code that you apparently can always edit even after it has been printed. For example, see this website that offers dynamic QR codes:

Screenshot of an offer for a dynamic QR code.

For example: When you make a QR code for plain text how can an independent QR code scanner see the difference when I edit the content of the QR code? The QR code itself obviously stays the same because it's printed.


Solution 1:

A supposedly “dynamic” QR code is simply an alias to the final destination URL

The concept of a dynamic QR code is based mainly in the world of QR codes being used for URLs and such. The QR code itself is always static.

That site you link to doesn’t really explain it well, but it’s pretty simple: The QR code format is the same regardless of whether the the data is static or dynamic. But in the case of a dynamic QR code, the generated QR code is just a “middle man” of a short URL. As explained on QRStuff.com:

  • Static QR Code: The actual destination website URL is placed directly into the QR code and can’t be modified.
  • Dynamic QR Code: A short URL is placed into the QR code which then transparently re-directs the user to the intended destination website URL, with the short URL redirection destination URL able to be changed after the QR code has been created.

So if you were to create a QR code to Google.com, a static QR code would directly encode the URL https://www.google.com/ but a dynamic QR code would assign https://www.google.com/ to a short URL like something like this: https://example.com/iuyd9871.

That way the QR code always has that https://example.com/iuyd9871 URL embedded and (key point) what happens when one goes to that URL can be adjusted. So if you wanted that QR code to point to Bing, then you need to just adjust what that https://example.com/iuyd9871 will redirect to.

So that said, the weakness of a dynamic QR code is it relies on a service that manages that short URL. If that service is down or disappears for some reason, then that “dynamic” QR code becomes dead and useless. A static QR code will always work as the URL is always embedded in the QR code itself.

Solution 2:

Dynamic QR codes contain a short URL link, which links to the generator website. When following this URL you get redirected to the site that is registered against the short URL. Modifying the dynamic QR code doesn't actually modify the QR code itself, it just changes the redirection to get the user to visit a different site to the other one. This is done at the generator website.

As an aside:

I had a friend who edited QR codes manually while at Uni.

A standard QR code has some level of error correction built in, so if the captured image isn't great, the encoded information can still be extracted. As long as any modification to said QR code remains little enough to not exceed the error handling capabilities, it will still work (though reliability of the read may be reduced). So while a non-dynamic QR code isn't editable, it kind-of is. To a degree.

Solution 3:

Most likely it works like a pointer.

Say this is actually what the QR code says

https://www.example.com/askdfhaskj

askdfhaskj is a pointer to a web page.

The contents of that web page, askdfhaskj , can be manipulated at any time. Then the current contents of the page is displayed.

Think of it like what bit.ly does.

Of course the app doesn't show the link, and hides all the inner workings in the background.