To check domain expiration, look the domain up in ICANN’s free Lookup tool or the registry’s own lookup, and read the expiration date. It takes a few seconds and works for any domain, even when the owner’s details are hidden. The catch is that the public date isn’t always the date that matters, so here’s how to read it.
Look it up
For .com, .net, .org, and other generic domains, go to lookup.icann.org, type the domain, and search. The tool queries RDAP, which replaced WHOIS for generic domains, and the RDAP record includes the registration date, the expiration date, the registrar, and the domain’s status codes. Privacy services hide the owner, not the dates, so you’ll see the expiration date even on a fully private domain. (If you’re trying to reach that owner, I covered that in how to find who owns a domain.)
Most third-party lookup tools show the same registry date. Your registrar account can show a later date, because registrars don’t always send prepaid renewals to the registry right away. Some tools label it “Registry Expiry Date,” and raw RDAP data calls it the “expiration” event.
.ca and other country-code domains
Country-code domains are run by their own registries, which set their own rules and lookup tools. For a .ca, use CIRA’s lookup at whois.cira.ca, which shows the creation, expiry, and updated dates. For other country codes, search for the registry’s own lookup. Many country-code registries now publish RDAP too, so ICANN Lookup may work for them.
Why the public date can mislead you
The date in a lookup comes from the registry, not from what the owner has paid. When a domain’s term runs out, the registry often renews it automatically and gives the registrar a grace period, which ICANN’s status-code guide calls autoRenewPeriod.
During that time, the public expiration date can jump a year ahead even though nobody has paid for the renewal yet. If the owner doesn’t renew, the registrar can still delete it. CIRA works the same way: it automatically renews every .ca on its expiry date.
Two signs the date isn’t telling the whole story:
- The status shows autoRenewPeriod. The domain has expired and is in its grace period, whatever the date says.
- The status shows redemptionPeriod or pendingDelete. The registrar has asked the registry to delete it, or (pendingDelete) the redemption period has run out. ICANN says a domain stays in redemptionPeriod for 30 days, and is purged five days after that ends.
If it’s your domain, the date that really counts is the one in your registrar account: what you’ve paid through, and whether auto-renew is on.
If it’s your domain
You shouldn’t have to check by hand. ICANN requires registrars to send at least two renewal reminders for generic domains, about one month and about one week before expiry, and another within five days after expiry if the domain hasn’t been renewed. Those reminders go to the registrant email on file, so a few habits matter more than any lookup:
- Keep the registrant email current, and on an address that doesn’t depend on the domain itself.
- Check your spam folder for registrar emails around renewal time.
- Turn on auto-renew, and keep the payment card on file up to date.
Not every domain is worth renewing, though. Here’s how I decide whether to renew a domain or let it drop. And if the date has already passed, you may still have options: you can usually transfer an expired domain during the grace period.
Top photo: Eric Rothermel / Wikimedia Commons (CC0).
Sources
- ICANN: ICANN Lookup, RDAP FAQs, Launching RDAP, sunsetting WHOIS, EPP status codes, Expired Registration Recovery Policy, Renewing your domain name
- CIRA: .CA WHOIS, GoDaddy: About .CA domain names
- Other: Verisign RDAP record for example.com, IANA RDAP bootstrap file, 101domain on RDAP, HetrixTools on registry vs. registrar dates, Catches on expiration date jumps


