Skip to content
Language: EN

How do you write plain text, and who reads it?

A text record holds characters and a language code, and asks the phone to do nothing at all. It is therefore the wrong choice as the only record on a tag, and a good choice placed after a record that does act, so something readable exists where the primary is ignored.

What it does, which is nothing

A text record carries characters and a language code. It is content, not an instruction, so a phone reading one has nothing to act on and correctly does nothing.

An application looking at the tag sees the text and can do what it likes with it. The operating system, tapping without an application, has no behaviour attached.

The mistake it causes

Writing a web address as a text record is one of the most common tag failures, and it is diabolically confusing because everything looks right.

Read the tag and the address is there, complete and correct. Tap it and nothing opens. The content is fine and the declaration is wrong, so the phone treats a URL as a sentence that happens to look like a URL.

If a tag reads correctly and does nothing, this is the first thing to check, before distance, before the case, before the tag itself.

Where it earns its place

Behind a record that does act, as a fallback.

A URL first, a text record after it. Where the URL is recognised, it wins and the text is never surfaced. Where it is not, something human readable is at least present for whatever does look.

It is also right for content that genuinely is text and is meant for your own software: an identifier, a code, a note attached to an asset. In a closed system where your application reads the tag, a text record is simple and adequate.

The language code

Every text record carries a language code alongside the characters. It is usually filled in automatically and it is worth knowing about for one reason.

A tag holding several text records in different languages lets an application choose the right one. Nothing in the operating system does this for you, so it only helps if you are writing the software that reads the tag.

For a single record, the code costs two or three bytes and changes nothing about behaviour. Set it correctly anyway, since it costs nothing and a wrong code is a small piece of misinformation living on the tag forever.

Frequently asked questions

Why does my text record with a URL in it not open anything?

Because a text record is content rather than an instruction. Rewrite it as a URI record and the same address will open a browser.

Will the text be displayed when I tap the tag?

Sometimes, depending on the platform and whether anything is listening. Do not design around it being shown, since the reliable way to display text is a web page.

Can I put several languages on one tag?

You can write several text records with different language codes. Only software you write will choose between them, since the operating system does not.

Is a text record smaller than a URL record?

Usually slightly larger for the same address, because a URI record abbreviates common prefixes to a single byte while a text record stores every character.