What is _for-sale?

A _for-sale record is a public, machine-readable way of saying that a domain name is for sale. It is a set of TXT records at _for-sale.yourdomain.com, defined in RFC 10023 (Informational, July 2026). Each record starts with v=FORSALE1;, exactly like that, followed by one tag and its value. A plain-language introduction is on DNS Helper; this page checks and builds the records.

Four tags, one per record

ftxt is free text for a reader, fcod a code agreed with a party such as a marketplace, furi one web address, e-mail address or phone number to get in touch, and fval an indicative price, a currency code followed by an amount, such as EUR1250. Each record holds one tag. A set can hold several records, the same tag more than once, but never the same tag with the same value twice. A record with only v=FORSALE1; says "for sale" and nothing more.

Bytes, not characters

Values are limited to 239 bytes. Plain letters take one byte each, an accented letter two, and most emoji four, so a text that fits on screen can still be too long. The check and the wizard both show the byte count next to the character count.

What dig shows is not what is stored

DNS tools print every byte outside plain ASCII as a decimal escape, so a sparkle emoji shows up as \226\156\168. The record itself holds ordinary UTF-8, and RFC 10023 asks readers to work on those bytes, not on the escaped display form. This check does exactly that and shows the text as text.

One string per record

Each record must be a single string of at most 255 bytes. v=FORSALE1; and a four-letter tag with its = take 16 of those, which is where the 239-byte limit comes from: a full value fits exactly, so a correct record never needs splitting. Some panels split long TXT values automatically; if this check reports a record split over several strings, that is the likely cause.

How this check shows the text

The text in these records is chosen by whoever owns the domain, so it is treated with care. Control characters and characters that change text direction are shown as markers such as [U+202E] instead of being applied, and bytes that are not valid UTF-8 as �. A price is indicative only, and nothing should be bought on the strength of it.

Nothing from these records is ever a link here, furi included. RFC 10023 only says a reader must not send anyone onwards without asking; this check goes further on purpose and shows every value as text. Some characters outside plain ASCII look exactly like ordinary letters, so a name or address in this text can be an imitation. Read it as text, and copy an address yourself only once you are sure of it.

Which form your panel wants

The wizard gives two forms. The value as plain text, emoji included, for a panel's value field, and a zone-file line with every non-ASCII byte escaped, for an editor that takes zone-file syntax. Which of the two a particular panel accepts is not something this page can promise for every panel. Tested with Metaregistrar's panel on 16 October 2026: both forms work there, and give exactly the same record. Whatever your panel, publish the record, then run the check on this page: if the text reads back as you wrote it, it worked. Right after publishing, a resolver may still remember that the name did not exist, for up to the time your zone's SOA allows; when that happens, this check reads the records from the domain's own nameservers instead, and says so.

Keep the TTL short, and remove it afterwards

RFC 10023 recommends a TTL of 3600 seconds or less for every record in the set, so a changed price or a withdrawn sale reaches readers within the hour, and asks for the records to be removed once the domain is no longer for sale.

RFC references

  • RFC 10023 - The "_for-sale" Underscored and Globally Scoped DNS Node Name
  • RFC 1035 - Domain Names, Implementation and Specification (character-strings, section 5.1 escapes)
  • RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax

_for-sale