Domains
EPP status code list explainer
Paste a column of domain status codes from any export and read what every one of them means, with no lookup.
Free, no accountIn your browser
One code per line, a comma-separated row, a CSV column, or a line per domain. Nothing you paste here is stored or looked up.
Result
Nothing pasted yet
Paste the block of codes you already have and each one is explained as you type.
What this is
The quickest way to explain EPP status codes list output from a registrar’s bulk export is to paste the whole block at once: every code is matched however it happened to be capitalised, grouped by what it actually does to the domain, and explained without a single lookup being made.
A domain’s status is a set rather than a value. One registration can carry a transfer lock, a grace period and a hold at the same time, and each of the three says something different about what can be done with the name today - which is why a bulk export hands over a column of several codes per row instead of one word.
EPP is the protocol registrars and registries speak to each other, and these codes are defined in RFC 5731, with the grace-period codes added by RFC 3915. The same vocabulary comes back out of every registrar export, every WHOIS answer and every RDAP response, which is what makes a pasted column worth reading on its own.
How to read the result
The table carries one row per distinct code, with what the code does beside what it means, so a forty-row export with six distinct codes in it reads as six things to understand rather than forty.
Findings are ordered by weight: a hold that has already taken a name out of DNS comes before a transfer lock that is quietly doing its job. Anything outside the specifications is listed as undocumented rather than handed a plausible-sounding meaning.
Reading these codes is usually one step in a bigger check: our guide Holding a domain portfolio: renewals, status codes and the names that attack yours covers where a stalled transfer and its status code fit alongside tracking renewal dates and budgeting what a renewal or transfer will cost.
Common mistakes
What goes wrong most often, and how to tell.
- Reading a grace-period code as an expiry dateautoRenewPeriod, renewPeriod and redemptionPeriod are positions in a lifecycle with a clock already running, not dates. A row carrying one of them has a deadline somewhere in the registrar’s own records that the code itself does not tell you, and the window is usually days rather than months.
- Trusting the age of the exportStatus codes change the moment a registrar acts, so a column copied from a spreadsheet last month describes last month. Explaining a stale column is still useful for understanding what happened, but it is not evidence of what any of those domains carry right now.
- Skipping a code because it looks unfamiliarA code no specification defines is the one worth asking a registrar about, because it is either a registry’s own invention or a sign that two columns were merged when the file was exported. Both are worth five minutes before the list is filed as reviewed.
Questions
What people ask about this tool.
- No. Nothing leaves the browser and no registry, WHOIS server or RDAP service is contacted at all: this is a dictionary applied to the text in the box, which is why it answers as fast as it can be typed.
- Registrars disagree about capitalisation in their exports, and some flatten everything to upper case on the way out. Codes are matched case-insensitively and shown back in the specifications’ own spelling so a list from two registrars reads consistently.
- It still gets a row, labelled as a code no published specification covers, rather than being dropped silently or given an invented meaning. Registries occasionally publish codes of their own, and only the registry that published one can say what it meant.
- Yes. A line like "example.com, clientTransferProhibited, serverHold" is read as one domain with two codes, and a header row of field names is ignored, so the column can be pasted straight out of a spreadsheet without being cleaned up first.
Sources
Every fixed value here comes from the provider’s own documentation. These pages change, so each says the day it was last read.
- IETF, “RFC 5731: Extensible Provisioning Protocol (EPP) Domain Name Mapping” read 13 October 2026
- IETF, “RFC 3915: Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP)” read 13 October 2026
- ICANN, “EPP Status Codes | What Do They Mean, and Why Should I Know?” read 13 October 2026
Use it from the API
The same check, as one request.