Namecheap to AWS Route53 DNS Migration story

System administration is not my job but then sometimes I need to wear that hat to help the team. Here is how I managed DNS migration from Namecheap to AWS Route53.

Get the Zone file

Namecheap support was kind enough to send me zone file when I requested for one.

Format the zone file

  • Remove whitespeces in the beginning of all lines in zone file
  • Add below text as first line of zone file
  • Make sure quote all TXT record values

Install cli53

pip install cli53

Zone export

cli53 create
cli53 import --file


Find out your name server. Logon to AWS Route 53 console and find out NS entries. Pick one. In my case it was

pip install \
dns_compare -z --file \
    --server -t false
dns_compare -z --file \
    --server # use your aws ns
# -- OR --- use -t to ignore ttl differences
dns_compare -z --file \
    --server -t false



Do understand steps below will cause some downtime (number of hours).

  • Go to namecheap’s “Transfer DNS to Webhost” page for your domain. Add new name servers. Save.
watch dig -t ANY @