Skip to content

Guides

How to make QR code asset tags for inventory

Laptops, projectors, tools, chairs, fire extinguishers: an asset register is a spreadsheet, and an asset tag is one row of it stuck to one thing. The QR code on the tag just has to say which row. Get that right and the tags outlive the equipment; get it wrong and a subscription lapse blanks every label in the building.

The five-minute version

  1. Give every asset a permanent ID in your register — a fixed-width number with a prefix (IT-0417), never reused, one per row.
  2. Decide what the tag encodes: the ID as plain text, or a URL on your domain that ends in the ID. Either way, no vendor redirect.
  3. Export the register (or just the ID column) as CSV and feed it to a bulk static QR generator. Use the ID as the label so it prints under each code.
  4. Print one test sheet on the real label stock, scan it from arm’s length, then print the run. Keep the CSV: it is the tag register.

What goes in the code

An asset tag has exactly one job: connect a physical thing to a record. There are two honest ways to encode that, and one dishonest one.

  • Plain ID (IT-0417). The smallest possible code, readable by every inventory app, barcode scanner and phone camera on earth. Scanning shows the ID; the person (or the app) looks it up. Nothing can expire, because nothing is being resolved.
  • URL on your own domain (https://yourcompany.com/a/0417). A phone camera opens the asset record directly. The code is a little larger, and the link only works while your site does — but that is your site, and if it moves you change one redirect rule and every printed tag follows.
  • Vendor redirect link (https://qr-service.io/r/x8Kd2). Do not. This is a dynamic code: the tag points at someone else’s server, which points at your record. It looks editable and comes with scan counts, and it turns your tags into a subscription.

Asset tags are the longest-lived QR codes anyone prints — five to ten years on a machine is normal. That is exactly the horizon on which redirect services change plans, get bought, or fold. The static-vs-dynamic question is a preference for a poster and a structural risk for five hundred tags you will never re-stick.

The ID scheme

The code is only as good as the identifier behind it. Three rules save the most grief later:

  • Fixed width, with a prefix. IT-0417, not 417. It sorts correctly, reads unambiguously on a caption, and the prefix tells a scanner which register it belongs to.
  • Never reuse an ID. A disposed laptop’s number stays retired. Reusing it means an old tag found in a drawer resolves to the wrong asset.
  • The sheet is the register. Add a row before you print a tag, not after. If the ID is not in the sheet, the tag does not exist yet.

If you use URLs, build them in the sheet with a formula (="https://yourcompany.com/a/"&A2) so the content column is generated from the ID column and can never drift from it. The bulk-from-spreadsheet guide covers the CSV mapping step in detail; for tags, the label column and the ID column are usually the same column.

Label size and material

Tags are scanned close — a phone held at arm’s length — so they can be small, but only if the content is short. Data density, not distance, sets the floor here.

  • A short plain ID (8–12 characters) is a version 1–2 code: 12–15 mm across scans reliably on a matte label.
  • A full URL pushes the code to version 5–6, which wants 20–25 mm. If your labels are smaller than that, encode the plain ID instead of the URL.
  • Keep the four-module quiet zone even on a tiny label, and leave room for the human-readable ID under the code — that caption is how someone finds the asset when the label is scuffed. The print-size guide has the full table.
  • Matte polyester or vinyl for anything that gets handled, wiped or lives outdoors; glossy paper labels glare under office light and fail — the not-scanning guide lists glare as one of the six usual causes. Laminate or use over-laminate stock for tools and vehicles.

Print sheet or one file per tag?

  • Print sheet PDF when you are printing onto blank label sheets or plain stock and cutting. A grid of codes, each captioned with its ID, on A4 or Letter; choose the column count so each cell matches your label size. Fewer columns, bigger codes.
  • ZIP of PNGs when the codes go into a label template (Avery-style mail merge, a label printer’s software, an ERP that prints tags). One 1024 px image per row, file named after the ID, so IT-0417.png drops into the merge without renaming.

Because the codes are static, regenerating a lost or damaged tag later produces a pixel-identical code from the same row. Keep the CSV with the export, dated. When forty chairs are added next year, add forty rows and export only those.

Before you stick 500 labels

  • Print one sheet on the real stock. Scan three codes from the distance people will actually use.
  • Check that the caption matches the code: scan, compare the ID on screen with the ID printed underneath.
  • Stick one tag where tags will live — flat metal, curved handle, textured plastic — and scan it after a day.
  • Store the CSV and the export together. The batch is reproducible for as long as the sheet exists, and static codes mean the reprint is exact.