How to Program an RFID Tag - 3 Step Tutorial

Most RFID tags are made up of three parts - the chip, antenna, and tag face or substrate. Each of these individual parts performs a specific duty in order to make the RFID tag work properly in your application. For instance, the antenna receives power from the RFID reader and sends it to the RFID chip, while the substrate gives the tag its foundation and keeps the chip and antenna connected. Once the chip is powered up, it responds with a message for the reader, which is also broadcast using the same antenna that powered it. All of these parts work together to create an RFID tag, but the most important element is the RFID chip where the programmed data is stored. To learn more in detail about how Passive RFID tags are powered - checkout our article "RF Physics: How Does Energy Flow in an RFID System?"

The data stored on the RFID chip comes pre-programmed (pre-encoded) directly from the manufacturer, but can easily be re-programmed. However, there are a few things to consider before re-programming an RFID tag, such as memory bank information, the memory format (the way the data is represented), and character limits.

Step #1: What to Know Before Programming Your RFID Tags

Before jumping directly into programming data on your RFID tags, first you need to know where to put the data, language/code options for the data, and how long the data can be. 

1. Decide which memory bank you will be programming your data to. RFID Tags have 4 main memory banks. Only 2 are re-programmable, the EPC and User memory banks. Learn more about all 4 memory banks by reading our article “17 Things You Might Not Know About Gen 2 Memory Banks".

  • Deciding Factors: 99% of the time, people choose to program/encode the EPC memory bank. The User memory bank is typically only used for an overflow of data. Also, the EPC memory bank is the bank that is read by the reader by default.

2. Determine the numbering system that you will be using to program your data. In other words, how will your data be represented in your tag’s memory? Data can be programmed to the tag in 2 basic numbering systems - Hexadecimal (Hex) & ASCII. Don’t worry, you do not need to learn a new language - Hex and ASCII are numbers and letters based on the English alphabet, so all you need to know are the characters you can and cannot use when programming the RFID tag. In addition, it’s easy to tell the reader and software which language you will be using. In most reader software programs, you are able to use a simple toggle or checkbox to indicate Hex or ASCII.

• Deciding Factors: Hex code is the simplest and most popular way to program RFID tags. It consists of numbers 0-9 and the letters A-F. In some applications, however, the limited character range can be too restricting, especially for systems that use predetermined SKUs or product codes that utilize the entire English alphabet. In those cases you would then use ASCII which consists of numbers, letters, and even special characters. Learn more and see the full chart here.

Why is this important?

It's important to decide which data representation you will use to program data on your RFID tag, because at its most basic level RFID tag data is sent and received in “1”s and “0”s, which is called binary coding. When programming the RFID tag, the data format may not seem important; however, when you choose Hex (default) or ASCII you are basically telling the RFID reader software how you want to decode those “1”s and “0”s it receives back from the tag.

For example, if you choose to program your tags in ASCII and program a “N” on the tag, but you forget to tell the reader to read and then decode the tags in ASCII, the tag will report “01001110”. In ASCII, that is an “N” but in Hex, most RFID reader’s default language, the reader will report “4E”.

3. Determine how many characters will fit on the EPC memory bank of your RFID tag. This isn’t as difficult as it sounds! Simply find the number of bits in your RFID tag’s EPC memory bank and divide that number by 4 if you are using Hex, and by 8 if you are using ASCII. The resulting number is the total number of characters you can encode to your tag using the chosen data format. As a rule of thumb, most tags have a 96-bit EPC memory, so they can hold a maximum of 24 hexadecimal characters, and 12 ASCII characters. Learn more about ASCII, Hex, and how many characters a memory bank can hold in our article “Encoding RFID Tags: 3 Things to Know

Once you have completed those steps and know what you can program on your tag and the length of that data, you are ready to get started with re-programming your tags.

Step #2: Choose the Best Hardware & Software

Once you understand the information above, you will need three things in order to program RFID tags - an RFID reader with an antenna, software to control the reader, and Passive UHF RFID tags. Today I’m going to walk through two options for a low cost and simple hardware and software solution.


In both of these options, I will use the same, low-cost USB RFID reader - the ThingMagic USB Pro. This RFID reader and integrated antenna combination is not only affordable, but it’s small, reliable, and easy-to-use. A USB RFID reader, in general, is like an RFID user’s bread and butter because it is so portable and user-friendly. If you plan to use RFID, a USB reader can be instrumental for testing and programming RFID tags.

Hardware + Software Combinations

Option #1: ThingMagic USB Pro Reader + ThingMagic Universal Reader Assistant (URA) Software (Free)

The ThingMagic URA Software is free to use with your USB Pro Reader, making this the most cost-effective option for reading and writing RFID tags. This software is great for one-off encoding and manual batch encoding.

Option #2: ThingMagic USB Pro Reader + Vulcan RFID Read & Write Software ($249)

The Vulcan RFID UHF Tag Read & Write Software is the next level up in terms of cost; however, if you need to mass program RFID tags, this should be your go-to. While ThingMagic’s URA Software will let you program one RFID tag at a time, this software allows you to upload an Excel file containing the tag data and quickly program passive RFID tags.

Step #3: Programming Your RFID Tags

Now we will program our RFID tags using both hardware/software options. The steps are listed below and shown in more detail in the short videos that correspond with each hardware setup. In these examples, here is our tag and numbering specifics:

  • Using an RFID tag with a 96 bit EPC Memory Bank
  • Using Hexadecimal Encoding - 0-9, A-F (No need to toggle the ASCII switch in our programs)
  • EPC Memory Bank has 96 bits / 4 (for Hex), means I can encode 24 characters

Option #1

ThingMagic USB Pro Reader + ThingMagic URA Software

Below the steps are listed for How to Program an RFID Tag using the ThingMagic URA Software. In the video below, more detail is included on encoding and the options provided by the software.

  • Download and Open the ThingMagic URA Software
  • Plug in your ThingMagic USB Pro RFID Reader.
  • Click “Refresh” to see your USB Reader, Click “Next”
  • Select your Region of Operation, we are in North America so I choose “NA”
  • Then Click “Next” and “Connect”
  • In the top tabs, click on “Write EPC”
  • As you can see, ASCII is an option in the second box, however we are going to use Hexadecimal so no need to change the default setting
  • Click “Read” in the “Current EPC Box”
  • Place your new EPC in the “New EPC” Box and click “Write”

(More in-depth detail is included in the Video below)

Option #2

ThingMagic USB Pro Reader + Vulcan RFID Read & Write Software

Below the steps are listed for how to program an RFID tag using the Vulcan RFID Read & Write Software. The video covers how to program a single RFID tag with this software, and then goes on to show you how to quickly program passive RFID tags via the Excel Spreadsheet functionality. *

  • Download and Open the Vulcan Read & Write Software
  • Plug in your ThingMagic USB Pro RFID Reader.
  • Use the Manufacturer Dropdown and Select ‘ThingMagic (Jadak)’
  • Use the Connection Dropdown and Select ‘Serial’
  • And Click the “Scan Available Ports” button to use the software to locate which Port your USB Reader is plugged into
  • The Port information will display in the white box to the right and you can plug that into the top box above.
  • Then click “Connect Reader”
  • Click “Read” to have the software display your current EPC data
  • Then fill in the new data in the white box next to “Write”
  • And Click “Write”

*Not shown on the video - If you need to switch the programming language from Hex to ASCII, click the dropdown “Configure Reader” and toggle the “Show tag data in” radio button to ASCII and click “Save All Settings”

(More in-depth detail is included in the Video below)


For more information on How to Program Passive UHF RFID Tags - checkout our related articles below or contact us via email, phone, or our website chat feature!