It was 2007 when I bought my first domain name on the internet – and I was, like most people, clueless about how to choose it.

I spent some time reading what at the time were the best tutorials on the topic, skimming through archaic-looking forums searching for expert advice, and asking friends for opinion until I eventually decided on one. It took me way too much time to decide and yet I was still clueless about what I was doing.

Since that moment I’ve bought dozens of domain names for my businesses, products and startups. Every time I launch a new project (of which there are currently 30+) I need to choose a good domain name for it – a domain name that not only sounds good, but that also goes with the brand I’m trying to create and that customers will find appealing and easy to remember.

My main takeaway after spending years and literal thousands of dollars buying domain names: there’s no golden rule. There’s no one-size-fits-all. Every project is different, and creativity is still a big part of the process when choosing a domain name. Every once in a while, someone comes up with a play on words that works great as a domain – and there’s no rule or algorithm capable of generating such a thing yet. There are, however, a few patterns I’ve spotted through the years that help substantially narrow the options:

  • Keep it short (under 10-11 characters, not including the .com part)
  • It should be pronounceable (if you say it out loud, other people should understand what you mean and type it exactly as you intend)
  • It should be memorable (you and other people should be able to recall what the name was after one or two days)

There are a few more interesting patterns I’ve discovered – but to talk about them, first we need to understand what a TLD is.

What is a Top-Level Domain (TLD)?

Without getting into complex, technical definitions: the TLD is the right side part of a domain name. Some people call it the “domain extension”. Whatever goes after the dot. In, the TLD is “com”.

There are over 1.400 TLDs available. The most common ones you’re probably familiar with are .com, .net, .io or .uk – but there are also plenty of new ones like .pizza or .xyz.

.com or others? What TLD should I choose?

If we look at the data, it’s clear that .com is the most used TLD on the internet, and the next biggest TLD (.net) is staggeringly far from it in terms of usage.

Most used domain TLDs on the internet: com, net, uk, org, de, ru, xyz
Data source:

.com has been the king of TLDs pretty much since the web started, and not even the combination of the remaining 1400 TLDs can outrank it.

What this means, practically, is the vast majority of people will default to .com when writing a domain name. We’re just so used to it.

Although it’s slowly happening, especially among younger generations, it’s going to be difficult to get people familiar with newer TLDs.

To give you a sense of the numbers:

  • There are over 260 million total registered domains on the whole internet
  • 160 million (more than 60%) are .com domains
  • The .io TLD, popular in the tech industry, only has slightly over 225k registered domains (barely over 1% the number of .com domains)
  • The new .xyz TLD, of which you may never heard before, already has well over 4 million registered domains, almost 20 times more than .io domains

While .com is the default go-to TLD, there are definitely really good domains that make use of other TLDs.

Country Code TLDs (ccTLDs)


Each country gets their own TLD. For the US, that will be – you guessed it – the .us TLD. For Italy, that’s .it. But there are a few countries whose country code makes for an especially good brandable TLD.

.tv (Tuvalu, an island nation in the Polynesia), .co (Colombia), .io (British Indian Ocean Territory), .so (Somalia), .ai (Anguilla) are only of the few ones that are somewhat popular nowadays.

Why? Because .tv looks like it has to do with television and video, .co looks like .com and sounds business-oriented, .io is relevant in the tech industry because IO is the acronym for Input/Output, .so sounds exciting and marketing-y, and .ai stands for Artificial Intelligence.

It’s just a coincidence that these countries share acronyms with relevant keywords, but people seem to like it and these countries are making good money selling their domain names to interested parties.

It’s useful to know options like these exist – they also come in handy when you’re deciding how to choose a domain name.

Plus, there are fun play on words that can be made out of some ccTLDs. A good one is (“delicious”, a news sharing website that was popular in the mid-2000s).

There are a couple of problems with this, though. A nice and short domain like might be available while is not – but the branding effort it’s gonna take you to outrank the dictionary word on Google is going to cost a lot of money. A similar amount of money than that a .com single word would have required.

Another problem is: how are you gonna brand it? Notionso? Just Notion? How are customers going to know whether “so” is part of the “official name” or not? Every one of these branding decisions is going to cost extra money and/or marketing resources to make it stick.

But the main problem with domains is SEO. It’s a widespread fact that .com domains just rank better on Google than any other alternative. Google has tried several times to deny this fact in official statements, but empirical results do not support their statements and the SEO industry is still in favor of using .com over any other TLD. As a friend of mine puts it: “not using .com is a great way to get stuck on page 500 of Google”.

New Generic TLDs (ngTLDs)


ngTLDs (New Generic Top Level Domains) came into play to solve the problem ccTLDs (Country Code TLDs) were already inadvertently solving: the lack of available quality .com domains and the need for expressing meaning with the second part of the domain name. If .ai means Artificial Intelligence, they thought, why not also have .game, .jobs or .cool?

ngTLDs are starting to take over (.xyz is already way bigger than almost all country TLDs), and others like .online, .top, .shop or .site are headed in the same direction.

We get the same branding problems as ccTLDs, though: is the ngTLD part of the name? Think, for example, something like “”. Are you gonna name your startup just “garden”? Or “Gardentools”? And if so, are you OK with people saying and typing gardentools .com instead? Because that’s what most people are going to default to.

My rule of thumb for ngTLDs: they’re overall good if your product is aimed at a predominantly GenZ audience (ages 18-25) – because they are the most familiar with them. They may also work if your audience is mostly made out of tech people. The .xyz TLD, for instance, I’ve seen used for a lot of new crypto and web3 projects.

But, in my humble opinion, you will get nowhere using ngTLDs with older folks or non-tech savvy audiences – to them, a TLD like .xyz is just noise. They’re so unfamiliar with them.

Other generic TLDs


The remaining TLDs are not as used:

  • .org is usually used by nonprofits, though it’s not a requirement to be one
  • .edu is reserved for accredited educational institutions
  • .gov is reserved for US governmental organizations

Others like .net or .info just sound old and obsolete, but they can make for a great domain name if you’re going for that aesthetic, like

Naming strategies

We’ve talked about the right hand side part of the domain name, the TLD – but what about the left side? That’d be the name itself, arguably the most important part.

There are around 10 naming strategies patterns I’ve seen emerging out of analyzing hundreds of domain names. Strategies that consistently repeat themselves over and over again across the best domain names on the internet. For the sake of this post, I’ve analyzed the top 100 websites on the internet according to Moz.

I’ve made my analysis publicly available on a public Google Spreadsheet – feel free to duplicate it and tweak it! (please cite back if you use it!)

We’ll continue our domain name choosing journey assuming .com is the go-to TLD, although name generating strategies can be mixed with any other TLD.

Let’s dive into these naming strategies!

Dictionary words


Stripe, Square, Amazon, Amplitude – they’re all dictionary words, words that were already used in the English language long before their respective companies came along and gave them a different meaning.

Dictionary word domain names are the most valuable domain names. I’d say there’s not a single one available anymore – and there hasn’t been one for a long time. If you want a dictionary word, you’ll have to buy it off its previous owner, who will predictably ask for a lot of money (think hundreds of thousands of dollars, even up to millions).

Patrick Collison (@patrickc), Stripe cofounder, answers how much did the domain name cost. Source: Quora

Not all dictionary words are equally valuable, though. What you want to take into consideration is if the word is already being used to describe a high-value product with a high purchase intent. “Cars” are pricey products, and people are buying and selling cars all the time, so a domain like “” is probably going to cost an obscene amount of money. The most expensive domain names in history include dictionary words like “insurance”, “hotels”, “beer”, “toys” or “clothes”. They’re all keywords for which people are already spending money on search ads.

On the other hand, words that are not associated with existing products that people are already buying and selling tend to fall into the lower end of the price distribution. People were not buying and selling stripes or squares before the respective .com domain names were purchased.

The problem with single dictionary words: they require tons of dollars in branding efforts + in acquiring the .com itself. It’s going to take you a lot of money to rank #1 for a dictionary word on Google, because the word is already being used by literally everyone. Even more if it’s a high purchase intent word. I’d say this is all an undoable endeavor unless you have plenty of VC investors’ money to go big on branding and marketing. If you’re just starting out, or if you’re planning on creating something small and don’t want to raise money, single dictionary words might not be a good fit for you.

> Special case: plural dictionary words


It seems to me that category-defining companies tend to have plural names (like, defining the whole restaurant industry) whereas task-oriented companies tend to use singular words in their domain names (it’s Notion and not Notions; it’s Dropbox and not Dropboxes).

> Special case: names and surnames


From time to time domains are chosen after the founder’s name or surname. While names and surnames are not strictly dictionary words, they pretty much behave as such: they form part of the common body of words people use and they had a meaning of their own before someone came and associated the word with a company.

Joining two dictionary words


Since all dictionary words are already taken, the next best thing is to join two dictionary words, which opens the possibility space significantly.

This is the most popular naming strategy used in the top websites on the internet, followed only by using single dictionary words. Between the two they account for more than 60% of all domain names in the top positions.

This is unsurprisingly the go-to naming strategy for many new startups. Most startups you know have names that follow this structure. Think: PayPal, SoundCloud, GitHub, CloudFlare, BlogSpot, CoinBase, DoorDash, SendGrid… the list goes on and on.

The end result, culturally, is that joining two dictionary words now sounds cool and startup-y – you can probably make a good business name joining any two words. Although the most used ones tend to be short words, usually action verbs, like “send” or “pay”. There’s also a recent trend of using animal words in combination with a word describing the product: MailChimp, FoodPanda, RevenueCat, SendBird…

And sometimes, one particular wildcard word becomes trendy and all new startups seem to use it. Think about the word “flow”, which has been used by lots of startups recently: Webflow, Upflow, Lendflow, Payflow, Zenflow, Eduflow… these are all real startups whose name is just the mix of a dictionary word + “flow”.

Trends come and go, but the underlying mechanics tend to remain stable across time. Mixing and mingling two words will always be a naming strategy: it’s only a matter of which two kind of words are the most trendy to join in a particular point in time.

My mental model when deciding what words to use is that the best names are usually the ones that sound like two “claps”, as in: drop-box, mail-chimp, web-flow, send-grid. This of course just means the resulting names have only two syllables, but I do like clapping along. Three syllables are also okay.

When considering an available two-word domain name, look for the number of results for that particular combination in Google search. Say you’re considering “bluetowel”. Type “bluetowel” in Google and hit search. Look in between the search bar and the first result, where it says “About 2,140,000 results (0.44 seconds)”.

If you get a low number of results (hundreds or thousands, even tens of thousands), you’ll likely rank very quickly for your brand name, and branding will be easier than if you need to take over other projects with similar names. If you get a lot of results (like millions, in our example), it means people are already using these two words to refer to something else and getting your domain to work as a recognizable brand will be more costly.

Adding prefixes


Even two good dictionary word domains are so hard to come by these days that sometimes you need to add a prefix to make your domain name unique enough so it’s available.

The most prominent example is probably Dropbox, who started out in 2006 as before they acquired the current, cleaner and more expensive

When adding prefixes like go- or get-, you’re going to get similar problems to the ones I mentioned when we were talking about ccTLDs and ngTLDs, namely: people will start calling your startup by the domain name instead of the intended name. This has happened to me with – the project is named Guard but people would write to me like: “Hey – I’ve seen your project Useguard and (…)”.

You’re also probably going to get mistaken with other projects that share the same name, since your name is so common. Mine might be, but there’s also probably,, etc.

Think of, for instance – they ended up incorporating the “go” in the official name. Whether this was a conscious branding decision right from the start or a reaction to the fact that most people were confusing the domain name with the official name I do not know for sure, but my gut tells me it was the latter.

There’s a case to be made for prefixed domains as a temporary solution, though. Lots of startups like Dropbox started as prefix+name and then switched to the plain name .com when they had enough money to purchase it – but this only happens when the startup is either extremely successful or extremely well funded.

In any case, rule of thumb: whatever goes on the domain name, people are going to call your business that. If you add a prefix, expect a good chunk of people to think your full name includes the prefix.

Adding suffixes


Same story as with prefixes, but slightly different vibe.

For a few years in the mid-to-late 2000s the most startup thing to do was to have your startup name end in “-ly” or “-fy”, leading to a lot of domains ending in “ly” or “fy”, among other common suffixes. Shopify, Weebly, Optimizely, Grammarly are all instances of this phenomenon.

The trend is not as strong now, but you still see startups named following this convention every once in a while. Common suffixes include “-ly”, “-fy”, “-ier”, “-al”, “-os”, “-in”, “-db”, “-hq”, “-er” or “-ry”.

I’ve used this technique before to create – and I think it yielded a fairly decent name.

Brandable names & made up words


Sometimes not even adding prefixes and suffixes will get you a nice domain name. Sometimes you need to make up entirely new words that mean nothing but that sound good as a brand name.

That’s the case of Google or Twitter – neither name meant anything before the companies came along and filled the names with meaning.

Words can convey meaning without meaning anything in particular, though. Sounds weird, but it’s true. There’s a well-known effect in linguistics called the bouba/kiki effect. If you had to say which one of the following two shapes is called “bouba” and which one is called “kiki”, what would you choose?

It was found, as you’ve probably guessed, that almost all people would name the left shape “kiki” and the right shape “bouba”.

Why? Do “bouba” and “kiki” have an explicit meaning we all somehow know about? Nope. It’s just sound symbolism. The sounds used in “kiki” remind us of spikes, and the sounds used in “bouba” are “softer” and make us think of other things that are rounded, just like the word “ding” makes us think of a bell.

If you want to create an aggressive brand name, it better sound something like “kiki” – if you want to create a caring, delicate brand, it better sound something like “bouba”.

Using unique branded words for your domain name is a great option. You get a brand new blank canvas to paint on. You’re almost guaranteed no one was using that name prior to you – so you’ll be unique and you’ll rank #1 on Google easily for your company name.

But, of course, this strategy comes with a drawback: made up names don’t usually contain any relevant keywords in them. If you’re creating a new design tool and you call it Figma, the name contains neither “design” nor “tool”. There’s nothing in the name to help a newcomer understand what your website is about – even though Figma ended up working great as a name.

Without a keyword, the name doesn’t create a mental image about what your product does in your customers’ mind, and people often use just fractions of a second to figure out what a website is about.

On top of that, without keywords in the domain name Google might need a bit more time and effort to understand what your site is about (if you have “garden” in your name, Google will take it as a signal that it’s likely that your site is about gardening). If you can, it’d be a good heuristic to prefer at least a semantically related word in your name. If you’re talking about gardening, it’s okay if “gardening” is not in the domain name, but maybe consider words like “plant” or “shovel”, to hint both your users and Google what the site is about. Or don’t – others have done it without this and it worked well for them. Test things and figure out what works for you!

Play on words


Much like brandable names, but they use a witty play on words like WhatsApp (sounds like “what’s up”) or Reddit (sounds like “[I’ve] read it”). If you’re a creative person, you may be good at generating great play on words domains.

> Special case: portmanteaus


A special case of playing on words are portmanteaus. A portmanteau is a mix of words where some parts of several words are mixed into one single word. Portmanteau domain names are fairly common across top websites:

  • instagram = “instant camera” + “telegram”
  • vimeo = “video” + “me”
  • gravatar = “Globally Recognized” + “avatar”
  • yandex = “Yet Another” + “iNDEXer”
  • pinterest = “pin” + “interest”

Misspelled words


Misspelling a word is a great way of creating uniqueness in a world where every single good domain name is taken. might have not been available for purchase, but was.

The problem is 90% of people are still going to spell your name correctly. When you say “dribbble” out loud, most people are going to understand “dribble”, and most are never going to spell it with a third “b”.

Misspelling a word is kind of a hit or miss: it may be a great way of differentiating your domain name, but it may also ruin the brand if it’s really difficult to spell and remember.

I like to think of misspelled domains names more like the exception to the rule: they’re not really memorable, and it’s difficult to tell other people about them.

So, again, the same rule of thumb applies: everything that’s not the default an average person would type when they first hear the name, it’s going to require extra marketing efforts/resources to make it stick. If you have the resources and the budget, go ahead. If not, you might want to reconsider.

Numbers in the domain


Again, I think they’re an exception to the rule. I’m personally not a big fan of numbers in the domain name. They might work out sometimes, but they’re usually outliers.

To give you an idea of how rare they are: there’s only one domain containing a number in the top 100 websites on the internet.

Exact Match Domains (EMDs)


Exact Match Domains (EMDs) are domains that exactly match a given keyword. If the keyword is “how to build a business”, its EMD would be

If you’re doing a SEO-oriented project, an Exact Match Domain (EMD) might be the perfect fit for you. When building exclusively for SEO, you’re not looking for a beautiful-sounding name – what you’re looking for is Google ranking your website #1 for your target keyword.

Say you want to become the #1 site to come up when people search for “melbourne personal trainers”. Google is probably more likely to understand your website is a perfect fit for that search if it’s named than if it’s named

In fact, this is a playbook that many local business follow. Local SEO is a subset of SEO whose main goal is to rank for keywords of the form “[service] in [location]”, like for example “plumber in London” – and they tend to use EMDs a lot.

Of course, this is not a one-size-fits all, and a keyword-related domain is just one of many signals Google may take into consideration when ranking your website, but again: if you’re building almost exclusively for Google and want Google to easily understand what your website is about, you may have a shot making your domain name stupidly obvious.

EMDs are a bit more obscure and belong deep into the SEO realm, although there are a few good ones that are well branded and look like a “normal” domain name. A personal favorite of mine is, which ranks #1 for… you’ve guessed it: “mechanical keyboards”. A high-traffic keyword with a high purchase intent for a product that’s rather expensive. Well done.

I don’t personally like EMDs that much – honestly, most are terrifically ugly and almost unbrandable (no one is gonna be like “hello, I’m the CEO of and we’re in the latest Y Combinator batch”). An EMD doesn’t sound clean nor startup-y. But hey, if it works it works.

Now, don’t choose an EMD that’s too narrow in meaning – or you might be unable to grow it past a certain point.

Long, descriptive names


These are domain names that are long (like, longer than 11-12 characters) but don’t necessarily match any particular target keyword (although they may contain a keyword in the name). They’re just extremely descriptive about what they are.

I think they work great for really narrow and single-task products. If your product just does one tiny thing, but it does it really well and you don’t plan on expanding to other related functionality, then a long, descriptive name might be for you.

Take for example this indie game titled “The one who pulls out the sword will be crowned king“. It’s not strictly a domain name, but if it were: would you have any trouble understanding what the game is about just by reading the name? That’s the goal of long, descriptive names: they’re different and memorable just because of how long and descriptive they are. They’re almost like practical jokes.

Another example. There was not a whole lot of people searching on Google for “have I been pwned” before they launched, but has nonetheless been able to make a well-known brand for themselves using a rather long domain name that pretty much says exactly what it does.

Upsides? Lots of available domains. Downsides? They’re long, usually unbrandable domain names that users won’t easily remember exactly as they are written. The longer the domain name, the more things a user needs to remember, and the less likely they are to recall it correctly in its entirety.

Another downside is sometimes the domain name doesn’t even contain any kewyord related to the project. Take for example – it’s a habit tracker, but it doesn’t contain neither “habit” nor “tracker” in the name. Is the upside of differentiation through a long name worth the downsides that come along with them?

Something to think about: if you’re already going for a long domain name, have you considered going for an EMD instead? You may have a better chance at ranking.

A case can be made for these kind of domain names, though: I feel like they would make good domain names for TV or radio commercials: they’re so specific it’s almost impossible to write them down wrong immediately after hearing them.



Acronym domain names usually belong to already established, strong brands that just map their traditional business to a website.

You can also use acronym domain names as a shortened version of a long-descriptive domain name, like:

At almost 14% of the top 100 domain names on the internet, this is the third most widely used naming strategy for domain names out there after dictionary keywords.

  • IMBD = Internet Movie DataBase
  • MSN = MicroSoft Network
  • VK = V Kontakte (Russian for “In Contact”)

The downside is obvious: it’s going to take a lot of work to make your users remember your acronym and associate it with its meaning.

How to mix naming strategies with a TLD

Rule of thumb: most people will remember just one piece of information about your domain name. At most, they’ll remember two. Almost no one will remember three or more pieces of information about your domain.

What do I mean by that?

If they remember only one piece of information, that’s gonna be your name before the .TLD – they’ll just assume you own a .com. That’s why, by default, .com is the way to go. If part of your name is a new TLD, as in, people will often just remember your name is “BestGarden” and assume your domain is “”.

If they remember two pieces of information, that might be your name along with the TLD. So if you have a TLD, they might remember both the left and the right part of the name.

If you need them to remember three or more pieces of information, you’ll lose 90% of the people along the way.

Made-up example:

  1. The name is made up of several dictionary words: “my” + “best” + “friends”. Let’s just count that as one piece of information for the sake of the argument.
  2. “Friends” is misspelled. To remember it as “frens” is going to take yet another piece of information.
  3. What was the number in the name? 2? 3? 42? 77? Another thing to remember.
  4. The order of number within the words: “mybest3frens” is not the same as “my3bestfrens”.
  5. TLD: social. That’s gonna need another piece of information as well.

5 pieces of information? Way too complex. People won’t remember a thing about your domain name. At best, they’ll remember something about “best friends”, but will fail to remember how many friends, how was the word misspelled, and the .social at the end.

Source: completely made up on the spot – there’s no research whatsoever to back up these numbers. I’m just trying to visually convey an intuition about this issue.

Don’t mix up multiple naming strategies. For example, don’t mix adding numbers, misspelled words, prefixes and obscure TLDs. No one is going to remember your project if it’s named “”. It looks and sounds more like a tongue twister than anything else.

Stick to one single naming strategy and keep it so simple that no one asks for clarifications when you say the domain out loud.

The loud bar test

Whatever naming strategy and TLD you choose, your domain name needs to pass the loud bar test.

I don’t know who coined this test name, but I’ve heard it a few times now and I think it’s great. Here’s the test:

It’s Friday night and you’re having a beer with a few friends in a bar. The music is playing loud and the bar is packed, so the chatter only adds to the overall background noise. Between drinks and laughs, a friend asks you: “so what’s that project you’re working on called again?”.

You yell the name. There are two only possible responses:

  • “Ah, [project name], yes!”
  • “Come again? Did you say X or Y?”

If they get the name right and they can repeat it, your domain name passes the loud bar test. If they need to ask for further clarification, it doesn’t.

It’s even worse if it’s performed in a silent setting. If the first reaction when people hear the name out loud is confusion (“sorry, what did you say?”, “can you repeat that?”) or they need further clarification, instead of an immediate “gotcha” reaction that doesn’t interrupt the conversation flow, you might be in trouble. Your word-of-mouth is going to be affected drastically.


TL;DR: Get a .com of 11 characters or less, that’s either a single dictionary word or two dictionary words. Avoid numbers, symbols and anything that’s not a real word.

Most people browse the web by clicking on links, not by typing – so one might think domain names are not that important nowadays.

But people do talk about you, and when they do your domain name better be pronounceable and memorable.

A bad domain name may not kill your growth altogether, but it may reduce your Word of Mouth (WoM) potential reach by a factor of 10 or 100 – it’d spread much more organically if your name was easier.

That’s why you should KISS: Keep It Simple Stupid.

You want to keep your domain names so simple that even a half-drunk friend in the middle of a noisy bar can understand what you’re saying – and remember it the following day.

How to choose a good domain name then? Try to balance branding, a good TLD, having the right keywords in the name, pronounceability, memorability… it’s not easy. It’s more of an art than a science, and creativity is heavily involved in the process.

In any case, data shows the best websites tend to use a .com TLD and either a dictionary word or a mix of two dictionary words. That might be a good starting point – you can always try other naming strategies later on if that approach yields subpar results.

Before purchasing a domain name, though, try and test a few names out loud with other people until you find one that resonates. What you want to avoid is people asking for clarifications after you say your domain name out loud.

One thing to keep in mind, though: outliers exist. You will always be able to find a counterexample to debunk every single guideline you may extract from this blogpost. Exceptions do not disprove the rule. Take the contents of this post as a general recommendation.

P.S.: Follow me on Twitter to stay in the loop. I'm writing a book called Bold Hackers on making successful digital products as an indie hacker. Read other stories I've written. Subscribe below to get an alert when I publish a new post:

No spam ever, unsubscribe with one single click.