Domain name registrars
The best practice is to register a domain name from a 3rd party registrar and not from the same company you get your website hosting from.
That way it's easy to switch hosts. You can cancel the old one and point your domain name to the new one.
Porkbun has a beautiful, simple interface, free Whois privacy included and competitive prices on all sorts of TLDs. For example, the price of a .com domain name is $8.56. It's the same exact price for renewals, and on top of that, new customers also get the first .com domain name for just $4.15.
Namecheap is one of the largest domain name registrars, the second largest after GoDaddy. It has competitive prices for large number of TLDs, with frequent sales and promotions on various types of domain names.
Like most domain name registrars Hover offers a huge number of TLDs. A price of a .com domain name registration is $12.99, and renewal price is $14.99.
4. Google Domains
Google Domains offers domain name registration for a .com, .net, .org domain names for a $12/year. The other prices vary by extension.
When you register a domain, ICANN requires all domain registrars to publish the registrant’s name, address and other contact information in the WHOIS directory. The WHOIS directory is open to the public, which means published contact information is available to anyone at any time. Privacy protection keeps this contact information private.
Fast, secure & reliable infrastructure
Google Domains uses DNS servers that run on Google infrastructure, access to professional tools like Dynamic DNS, Google Synthetic Records, TTL configuration, and more. Safeguard your domain from potential attacks like DNS spoofing with free, one-click DNSSEC.
You can forward up to 100 email addresses on your new domain to your existing email addresses. For example, you can forward email@example.com to your firstname.lastname@example.org.
You can also purchase a G Suite subscription together with your domain registration at the checkout process, or you can use a 3rd party email hosting or your web host's email solution if it's available.
Google Domains is currently available only if your billing address is in one of the following countries: Australia, Brazil, Canada, France, India, Indonesia, Italy, Japan, Mexico, Netherlands, Spain, Thailand, United Kingdom, United States of America and Vietnam.