Domain Basics

What Is an EPP / Auth Code and Why You Need It — 2026 Guide

526 VIEWS
1 COMMENTS
October 16, 2026

An EPP code, also called an auth code, authorization code, transfer key or AuthInfo, is the password attached to a single domain name that proves to a new registrar that the person requesting a transfer is the current holder. It is generated by your current registrar, stored at the registry, and checked by the registry when a transfer request arrives. Without the right code the transfer is refused before it starts. With it, and with the transfer lock off, a .com can move between registrars in as little as five days.

The name comes from the Extensible Provisioning Protocol, the XML-based protocol registrars use to talk to registries, defined in RFC 5730 to 5734. Every domain object in EPP carries an authInfo element. When a registrar sends a transfer request, it includes that value; the registry compares it with what is stored and either accepts or rejects. The code is not a login, does not unlock DNS, and has no use except authorising a transfer, which is why it should be treated like a one-time key rather than an account password.

MailShrine Domains shows the auth code for any domain you hold in the dashboard, once you switch off the transfer lock for that domain, and accepts auth codes from other registrars in the transfer-in flow. If a transfer into MailShrine is rejected by the losing registrar, you get a full refund. Email DNS and two free mailboxes come with the domain once it arrives.


Real-life example: Hannah's consultancy

Hannah Whitfield runs an HR consultancy in Manchester with two domains: whitfieldhr.com, registered at a US registrar four years ago, and whitfieldhr.co.uk, registered through a UK web host. She is consolidating everything at one registrar so she has one renewal, one DNS panel and one bill. The US registrar has sent her a string that looks like k7Q!2mPz#aL9vR3 and the UK host has asked her for something called an IPS tag instead.

Hannah's goals:

  1. Understand what the auth code is, where it lives and why one of her domains does not use one.
  2. Move both domains without her email going down for even an hour.
  3. Know what to do if a code is rejected.

Where the auth code sits

LayerWhat it holdsWho can see it
Registry (Verisign for .com)The authInfo value for every domain, checked on each transfer requestRegistrars, through EPP
Losing registrarGenerates and stores the code, shows it to the registrant on requestThe registrant, in the dashboard or by email
Gaining registrarReceives the code from the registrant and sends it to the registryOnly during the transfer request
RegistrantCopies it from one dashboard to the otherYou

The registry never emails the code to anyone. If a message arrives claiming to be from "the registry" with your auth code, it is a phishing attempt.

Auth code flow from losing registrar through the registrant to the gaining registrar and the registry
Auth code flow from losing registrar through the registrant to the gaining registrar and the registry

What a valid code looks like

PropertyTypical valueWhy it matters
Length6 to 32 characters; many registrars use 16Registries set a maximum; Verisign accepts up to 32
CharactersLetters, digits and symbols such as !, #, @Symbols are legitimate; copy the code exactly, including trailing ones
CaseSensitiveaB3 and ab3 are different codes
LifetimeUntil regenerated; under ICANN's revised Transfer Policy, codes are time-limited and single-useRequest a fresh code shortly before you start the transfer
ScopeOne domainEach domain has its own code; a portfolio of ten needs ten codes

ICANN's rules require the losing registrar to provide the code within five calendar days of a registrant's request and forbid charging for it. A registrar that stalls, hides the button or asks for a fee is breaching its accreditation agreement.


Extensions that work differently

Not every registry uses auth codes. Hannah's .co.uk is the common example.

ExtensionTransfer mechanismWhat you do
.com, .net, .org, most gTLDsAuth code plus transfer lock offCopy the code into the gaining registrar
.uk, .co.uk, .org.ukNominet IPS tagAsk the losing registrar to change the tag to the gaining registrar's tag; no code
.ng, .com.ngAuth codeSame as gTLDs; registry is NiRA
.ke, .co.keAuth codeRegistry is KeNIC
.deAuthInfo, often time-limited to 30 daysRequest shortly before the transfer
.caAuth code plus CIRA registrant confirmationApprove the email from CIRA
.auPassword set at the registryRetrieve from the losing registrar

For the .co.uk, Hannah does not need a code at all. She asks the UK host to change the domain's IPS tag to the gaining registrar's tag, and the domain appears in the new account, usually within an hour.


What you need before you start

You needWhy
Access to the losing registrar's accountThe code is shown only to logged-in users; the account email must be reachable
Transfer lock switched offStatus clientTransferProhibited blocks the registry from accepting the request
The domain at least 60 days old and not transferred or re-registranted in the last 60 daysICANN's 60-day lock applies after creation, transfer or change of registrant
At least 15 days before expiryTransfers that straddle expiry can fail or trigger a renewal at the losing registrar
A copy of your DNS recordsSo the gaining registrar's zone matches the old one on day one

Step 1: Prepare DNS before touching the code

Hannah writes down every record on whitfieldhr.com: the A record for the site, the MX, SPF, DKIM and DMARC records for email. She recreates them in MailShrine's DNS editor in advance so that when nameservers switch, nothing changes for visitors or mail.

Step 2: Unlock the domain

In the US registrar's dashboard she turns off the transfer lock. The RDAP status changes from clientTransferProhibited to ok. The lock has protected the domain for four years; it comes off for a few days only.

Step 3: Request and copy the auth code

She clicks "Get authorization code". The registrar emails it to the registrant address, as its policy requires, within minutes. She copies it exactly, including the # and !, into a password manager rather than a chat message.

Step 4: Start the transfer at MailShrine

In the transfer-in flow she enters the domain and pastes the code. MailShrine sends the request to Verisign. The registry checks the code, confirms the domain is unlocked and older than 60 days, and sets the transfer to pending.

Step 5: Approve, wait, and confirm

The losing registrar emails her to confirm or deny. She approves, which completes the transfer immediately; had she done nothing, it would have auto-completed after five days. The domain gains a year on its expiry. For whitfieldhr.co.uk, she gives the UK host the IPS tag and the domain appears at MailShrine the same afternoon.


Hannah's checklist

  • Learned that the auth code lives at the registry and is shown by the losing registrarCompleted
  • Recreated all DNS records at the new registrar before unlocking anythingCompleted
  • Turned off transfer lock on whitfieldhr.com and requested a fresh codeCompleted
  • Entered the code at MailShrine and approved the losing registrar's emailCompleted
  • Ask the UK host to change the IPS tag for whitfieldhr.co.ukNot completed
  • Turn transfer lock back on for both domains once they arriveNot completed

Common mistakes

Sending the auth code over email or chat and leaving it there. Anyone with that code and a few minutes can initiate a transfer. Paste it directly into the gaining registrar and regenerate it afterwards if the transfer is abandoned.

Requesting the code before unlocking. Many registrars will not even display the code while the lock is on, and the registry will reject the request regardless. Unlock first.

Starting a transfer in the 60-day window. A domain registered, transferred or re-registranted in the last 60 days cannot move. Check the creation and updated dates in RDAP before you pay.

Letting the domain expire mid-transfer. If expiry falls inside the five-day window, the losing registrar may renew it and bill you, or the transfer may fail. Start at least two weeks out, or renew first.


Check your work

Run an RDAP lookup on the domain. Before you begin, the status should include clientTransferProhibited; after unlocking, it should not. Once the transfer is submitted, the status should show pendingTransfer. When it completes, the registrar field should name the new registrar and the expiry should be one year later than before. If the status never reaches pendingTransfer, the code was wrong, the lock was on, or the domain is inside a 60-day window.


FAQ

Is an EPP code the same as an auth code?

Yes. EPP code, auth code, authorization code, AuthInfo, transfer key and transfer secret are all names for the same per-domain password defined in the EPP protocol.

How do I get my auth code?

Log in to your current registrar, open the domain, turn off the transfer lock and look for "authorization code", "EPP code" or "transfer out". ICANN requires the registrar to provide it within five calendar days at no charge.

How long is an auth code valid?

It depends on the registrar and registry. Many codes stay valid until regenerated; some registries such as .de expire them after 30 days, and ICANN's revised Transfer Policy moves generic TLDs to time-limited, single-use codes. Request a fresh one just before you transfer.

Can someone steal my domain with the auth code?

Only if the transfer lock is also off and they can get past the losing registrar's confirmation email. That is why the code should be handled like a password and the lock left on until the day you transfer.

Why does my `.co.uk` not have an auth code?

Nominet, the .uk registry, uses IPS tags instead. Your current registrar changes the tag on the domain to the new registrar's tag, and the domain moves without a code.


Next steps

Related on YouTube · 1 of 3
How to Find the Epp Code on Godaddy (Full 2025 Guide)

Citations & References


Written by Elena V., migrations editor. Elena moves domains and mailboxes between providers for a living and writes down what breaks so you can avoid it.

Discussion

W

Wanjiru K.

October 13, 2026

Finally a guide on what is an epp code that gives actual numbers instead of vague advice.

MailShrine Domains

Your domain. Your email. One checkout.

Register any name on 150+ extensions. WHOIS privacy, transfer lock, Anycast DNS and two business mailboxes are included, not upsold.

Search your domain