{% extends "base.html" %} {% import "tool_parts.html" as p %} {% block title %}{% if result %}{{ result.domain }}: {{ result.verdict }}{% if result.days_left is not none %}, {{ result.days_left }} days to expiry{% endif %}{% else %}Free domain expiry and DNS check{% endif %}{% endblock %} {% block desc %}{{ tool.desc }}{% endblock %} {% block content %} {{ p.head(tool) }} {{ p.form(tool, input_value, 'example.com') }} {{ p.error(error, url) }} {% if result %} {% set rd = result.rdap %}{% set d = result.days_left %} {% call p.verdict((d ~ 'd') if d is not none else result.verdict, result.verdict_class, result.verdict ~ (' · ' ~ d ~ ' days left' if d is not none else ''), (('Expires ' ~ rd.expires_at|dt) if rd and rd.expires_at else 'Registry did not publish an expiry date') ~ (' · ' ~ rd.registrar if rd and rd.registrar else ''), result.domain, checked_at) %}
No transfer lock: ask your registrar to enable clientTransferProhibited so the domain cannot be moved without you.
{% endif %} {% else %}{{ result.rdap_error or 'No registry data.' }} Some registries (and many ccTLDs) do not publish RDAP records.
{% endif %}None found.
{% endfor %}{{ result.dns_error }}
{% endif %} {% if result.record_types %}| {{ rt }} | {{ v }} |
No A, AAAA, MX, NS, TXT or CNAME records found.
{% endif %} {% set missing = ['A','AAAA','MX','NS','TXT','CNAME']|reject('in', result.record_types)|list %} {% if missing %}No records: {{ missing|join(', ') }}
{% endif %}Registry expiry date and registrar straight from RDAP (the successor to WHOIS), transfer-lock status, name servers and the current A, AAAA, MX, NS, TXT and CNAME records from public resolvers.
Domains lapse because the renewal email went to an old address. A changed NS or MX record is often the first sign of a hijack. Both are silent until customers notice.