Domains

Domain naming rules checker

Check a candidate name against the rule every ending shares, and then against that registry’s own stricter one.

Free, no accountIn your browser

The whole name, ending included - the ending is what decides which registry’s rules apply.

Try

Result

Nothing to check yet

Type a candidate name with its ending and it is checked as you type.

What this is

Every ending shares one DNS label rule, and then its registry adds its own on top: this checker reads domain name rules by ending, holding a candidate name to the generic rule first and then to the registry’s published policy for whichever of the endings below it sits under.

The generic rule is the one DNS itself imposes: a label of at most 63 characters made of letters, digits and hyphens, a whole name of at most 253, and no hyphen at either end of a label. A name that breaks this cannot be registered anywhere, under any ending, by anyone.

A registry is free to narrow that rule, and several do. DENIC refuses a hyphen in both the third and fourth characters of a .de name; Afnic refuses the same pattern and will not sell a one- or two-character name under the French overseas endings; Nominet documents letters, digits and hyphens only. None of that is derivable from the generic rule - it has to be read off each registry’s own policy.

How to read the result

The findings come in the order the rules apply: the generic rule first, because fixing a name that no DNS zone can hold comes before anything a registry says, and then each stated rule of the registry behind the ending that was typed.

The facts panel names the exact label the registry rule was applied to, which matters for a second-level ending: under co.uk the registry’s rule is about the part in front of co.uk, not about the whole string.

A name that passes this check still needs the rest of a portfolio built around it; our guide Holding a domain portfolio: renewals, status codes and the names that attack yours covers what to track once it is registered, from renewal dates to lookalike names.

Common mistakes

What goes wrong most often, and how to tell.

  • Taking a passing generic check as permissionA name can be a perfectly valid DNS label and still be refused at the counter. The generic rule knows nothing about a registry’s minimum length, its reserved words, or the hyphen patterns it keeps for internationalised names, which is why the registry’s own rule is checked separately here.
  • Assuming an ending with no rules listed has noneAn ending absent from the table has simply not had its registry’s policy read and cited for this page. Treating that silence as permission is how a brand ends up with a shortlist of names its registry will not accept; the registry’s own policy page is the only authority on it.
  • Counting an internationalised name in the characters you typedAn umlaut or an accent is stored by the registry as an xn-- A-label, and that encoded form is what the 63-character limit is measured against. A name that looks comfortably short in its own script can be well over the limit once encoded, so convert it before counting.
  • Putting the hyphens wherever they look bestHyphens in the third and fourth position are reserved for the encoding of internationalised names, so a name like ab--cd is rejected outright by DENIC and Afnic however available it looks. Moving one hyphen a single character along clears the rule.

Questions

What people ask about this tool.

  • No. A leading or trailing hyphen in a label is outside the generic DNS rule, so no registry will register it, and DENIC, Nominet and Afnic each restate that prohibition in their own policies as well.
  • Because its registry’s own policy has not been read and cited for this page yet. Only the generic DNS rule was applied to it, and that is said in the result rather than quietly presented as the registry’s own rule.
  • Convert it to its xn-- form with an IDN converter first, then check that form here: the registry applies its length and hyphen rules to the encoded label, not to the characters as they are typed or displayed.
  • The one immediately in front of the registry’s ending, so for shop.co.uk the rules are applied to "shop". The facts panel names that label explicitly so there is no doubt about what was measured.

Sources

Every fixed value here comes from the provider’s own documentation. These pages change, so each says the day it was last read.

Use it from the API

The same check, as one request.

Request
curl -X POST https://resellerhq.com/api/tools/domain-naming-rules-checker \
  -H "Content-Type: application/json" \
  -d '{"name":"mein-kaffee.de"}'
Response
{
  "tool": "domain-naming-rules-checker",
  "input": {
    "name": "mein-kaffee.de"
  },
  "result": {
    "verdict": {
      "tone": "success",
      "headline": "mein-kaffee.de fits DENIC’s rules for .de",
      "summary": "Checked against the generic DNS rule and DENIC’s own policy."
    },
    "findings": [
      {
        "id": "generic-label-ok",
        "severity": "pass",
        "title": "Valid as a DNS name anywhere",
        "detail": "\"mein-kaffee.de\" is 14 characters with a longest label of 11, uses only letters, digits and hyphens, and has a hyphen at neither end of any label - the rule that holds under every ending there is."
      },
      {
        "id": "registry-rule-pass",
        "severity": "pass",
        "title": "Clears DENIC’s own rules for .de",
        "detail": "Checked against every rule DENIC states for .de: 1 to 63 characters, no hyphen at either end, no hyphen in both the third and fourth position, and an internationalised character set it publishes in full. DENIC publishes this in \"DENIC Domain Guidelines\", read 2026-10-13."
      }
    ],
    "parts": [
      {
        "kind": "facts",
        "title": "What was checked",
        "rows": [
          [
            "Name read",
            "mein-kaffee.de"
          ],
          [
            "Label the registry rule applies to",
            "mein-kaffee"
          ],
          [
            "Ending",
            ".de"
          ],
          [
            "Label length",
            "11"
          ],
          [
            "Registry rules applied",
            "DENIC - DENIC Domain Guidelines"
          ]
        ]
      },
      {
        "kind": "table",
        "title": "Endings whose registry rules have been read",
        "columns": [
          "Endings",
          "Registry",
          "Rules read from",
          "Read"
        ],
        "rows": [
          [
            ".de",
            "DENIC",
            "DENIC Domain Guidelines",
            "2026-10-13"
          ],
          [
            ".uk .co.uk .org.uk .me.uk .net.uk .ltd.uk .plc.uk .sch.uk",
            "Nominet",
            "Registry field definitions and registrant types",
            "2026-10-13"
          ],
          [
            ".fr",
            "Afnic",
            "Afnic Naming Policy, version of 6 July 2026",
            "2026-10-13"
          ],
          [
            ".re .pm .tf .wf .yt",
            "Afnic",
            "Afnic Naming Policy, version of 6 July 2026",
            "2026-10-13"
          ]
        ],
        "mono": [
          0
        ],
        "proseColumns": [
          0,
          1,
          2
        ],
        "note": "Any other ending is checked against the generic DNS rule alone, which is never that registry’s own rule."
      }
    ],
    "limits": [
      "Only the registries whose own policy has been read are in the table above. For any other ending the generic DNS rule is all that was applied, and that rule is not a substitute for a registry’s own.",
      "A name that clears every rule here can still be unavailable, reserved, held back for a sunrise period, or on a registry’s list of protected terms - none of which is a syntax question.",
      "Internationalised names are checked in their xn-- form only; this page does not convert one for you, and it reads no registry’s policy live, so each rule carries the day it was read."
    ]
  }
}

Resell domain registration across the endings your customers ask for, at your own price.

Get started

Company names and logos are trademarks of their owners, shown only to identify each service.