Try out our mobile application which allows you to easily program NFC tags with the dynamic URL feature!
Get the app
iPhone® and App Store® are trademarks of Apple Inc., registered in the U.S. and other countries.
Google Play and the Google Play logo are trademarks of Google LLC.
We do also provide additional services such as customization or deployment. It's possible to adjust the solution for your particular use case. We could also install and configure the necessary software for you.
If you would like to learn about these extra options, don't hesitate to reach out to us.
Step #1: Test the app using sdm.nfcdeveloper.com example server
First, we recommend you to just test the application without putting effort into backend server setup.
For testing, you can use
sdm.nfcdeveloper.com. The application is already fully configured
1. Open the application, leave the default settings in "URL to be programmed on the tag" and "Custom data" and "Authentication master key".
2. Scroll down to the "CAPTCHA" field and type down the code from the image presented. Please note that this is only necessary in the trial version of the application.
3. Click on "Write NFC tag" and tap the tag.
Compatible products are: NT4H2421Gx (NTAG® 424 DNA), NT4H2421Tx (NTAG® 424 DNA TagTamper).
Note: NTAG - is a trademark of NXP B.V. This mobile application is not affiliated with NXP.
4. Please wait until the tag is programmed. When it's done, the app will present the appropriate message. If there is an error, please try again or use different tag.
5. After the tag is succesfully programmed, you can close the application and just scan the tag while being on a home screen. The web browser should open automatically on Android or iPhone XS+.
Please note: If your phone is from older generation than iPhone XS, NFC won't scan automatically. With iOS 14+, you can scan NFC tag from the control center:
If you are using older operating system than iOS 14, you need a dedicated application in order to read the tags. We do recommend using "NFC Tools".
Please note that devices older than iPhone 7 don't support NFC tag reading at all.
Step #2: Setup your own SDM backend server
First, you need to create your master key. The master key should be kept secret and it should consist of securely generated 16 bytes (hex encoded).
You can generate a secure master key by running simple Python script:
python -c "import os; print(os.urandom(16).hex());"
Please write down your master key and don't forget/lose it! After getting a key, you can proceed to SDM backend installation.
Variant #1: Spin-up SDM backend using Docker
If you have Docker, you can spin up the SDM backend server instance very quickly.
docker run \ -p 5000:80 \ -e SDM_MASTER_KEY=YOUR_MASTER_KEY \ icedevml/sdm-backend:build20220111-v2
Instead of "YOUR_MASTER_KEY" please input the master key that you have generated in the previous step.
After launching the server, please navigate to
http://127.0.0.1:5000/ in order to check whether the service is really listening. You should see a simple page with the title "SDM Backend Server".
Variant #2: Manually install SDM backend
If you don't want to use Docker, please follow the instructions under the "Manual installation" section of icedevml/sdm-backend project manual. Don't forget to set
SDM_MASTER_KEY appropriately in the config file.
Step #3: Initialize the tags securely with your SDM backend
After succesfully installing SDM backend, please open the NFC Developer App.
In the field "URL to be programmed on the tag", please enter the URL to your SDM backend instance. The sub-path at the end should be
For example, if you are hosting SDM backend on:
then the URL should be:
In the field "Authentication master key", please enter your previously-generated master key. Please double-check whether the key is entered correctly.
Finally, please fill out the CAPTCHA field and click "Write NFC tag" button. After programming, the NFC tag will be secured and programmed. The tag will point to your own instance of SDM backend.
Further steps: Buy and integrate into your web application
If you want to use NFC tags in production, you would rather want to point the NFC tags directly to your own web application instead of the SDM backend.
Your web application could query SDM backend through HTTP API in order to decrypt and validate the URL parameters. Here is how the final solution could look like:
Before integrating the solution with your production web application, you need to purchase the full version of the software for tag provisioning.