How to quickly extract domain names from URLs in Excel

A few tips and pieces of advice will help you get domain names from a list of URLs using Excel formulas. Two variations of the formula let you extract the domain names with and without www. regardless of the URL protocol (http, https, ftp etc. are supported). The solution works in all modern versions of Excel, from 2010 through 2016. Formula to get domain names from a URL list in Excel

If you are concerned with promoting your web-site (like I am) or doing SEO at the professional level promoting clients' web-sites for money, you often have to process and analyze huge lists of URLs: Google Analytics reports on traffic acquisition, Webmaster tools reports on new links, reports on backlinks to your competitors' web-sites (which do contain a great lot of interesting facts ;) ) and so on, and so forth.

To process such lists, from ten to a million links, Microsoft Excel makes an ideal tool. It is powerful, agile, extendable, and lets you send a report to your client directly from an Excel sheet.

"Why is it this range, from 10 to 1,000,000?" you may ask me. Because you definitely don't need a tool to process fewer than 10 links; and you will hardly need any if you have over a million inbound links. I'd wager that in this case you'd already had some custom software developed especially for you, with a business logic specifically tailored for your needs. And it would be me who would peruse your articles and not the other way round :)

When analyzing a list of URLs, you often need to perform the following tasks: get domain names for further processing, group URLs by domain, remove links from already processed domains, compare and merge two tables by domain names etc.

5 easy steps to extract domain names from the list of URLs

As an example, let's take a snippet of ablebits.com's backlinks report generated by Google Webmaster Tools. URLs from a snippet of ablebits.com's backlinks report

Tip: I'd recommend using ahrefs.com to timely spot new links to your own site and your competitors' web-sites.

  1. Add the "Domain" column to the end of your table.

    We have exported the data from a CSV file, which is why in terms of Excel our data are in a simple range. Press Ctrl + T to convert them to an Excel table because it is far more convenient to work with. Press CTRL+T to convert URLs list to an Excel table

  2. In the first cell of the "Domain" column (B2), enter the formula to extract a domain name:
    • Extract the domain with www. if it is present in a URL:
      =MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3)
    • Omit www. and get a pure domain name:
      =IF(ISERROR(FIND("//www.",A2)), MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3), MID(A2,FIND(":",A2,4)+7,FIND("/",A2,9)-FIND(":",A2,4)-7))
    Formula to extract a domain name from URL

    The second formula may seem too long and complex, but only if you didn't see truly long formulas. It's not without reason that Microsoft has increased the maximum length of formulas up to 8192 characters in new versions of Excel :)

    The good thing is that we don't have to use either an additional column or VBA macro. In fact, using VBA macros to automate your Excel tasks is not so difficult as it may seem, see a very good article - how to create and use VBA macros. But in this particular case, we do not actually need them, it's quicker and easier to go with a formula.

    Note: Technically, www is the 3rd level domain, though with all normal web-sites www. is just an alias of the primary domain. In the early days of the Internet, you could say "double u, double u, double u our cool name dot com" on the phone or in a radio advert, and everyone perfectly understood and remembered where to look for you, of course unless your cool name was something like www.llanfairpwllgwyngyllgogerychwyrndrobwyll-llantysiliogogogoch.com :)

    You need to leave all other domain names of the 3rd level, otherwise you would mess up links from different sites, e.g. with "co.uk" domain or from different accounts on blogspot.com etc.

  3. Since we have a full-fledged table, Excel automatically copies the formula across all cells in the column.

    Done! We have a column with extracted domain names. A column with extracted domain names

    In the next section you will learn how you can process a list of URLs based on the Domain column.

    Tip: If you may need to edit the domain names manually at a later time or copy the results to another Excel worksheet, replace the formula results with values. To do this, proceed with the following steps:

    • Click on any cell in the Domain column and press Ctrl+Space to select all the cells in that column.
    • Press Ctrl + C to copy the data to Clipboard, then go to the Home tab, click the "Paste" button and select "Value" from the drop-down menu. Replace the formula results with values

Processing a list of URLs using the Domain name column

Here you will find a few tips on further processing of the URL list, from on my own experience.

Group URLs by domain

  1. Click on any cell in the Domain column.
  2. Sort your table by Domain: go to the Data tab and click on the A-Z button.
  3. Convert your table back to a range: click on any cell in the table, go to the Design tab and click the "Convert to the range" button.
  4. Go to the Data tab and click the "Subtotal" icon.
  5. In the "Subtotal" dialog box, select the following options: At each change in: "Domain" use function Count and Add subtotal to Domain.
    Add subtotal to your table
  6. Click OK.

    Excel has created an outline of your data on the left hand side of the screen. There are 3 levels of the outline and what you see now is the expanded view, or level 3 view. Click number 2 in the upper left hand corner to display the final data by domains, and then you can click the plus and minus signs (+ / -) in order to expand / collapse the details for each domain. Click the plus and minus signs ( + -) in order to expand / collapse the details for each domain.

Highlight the second and all subsequent URLs in the same domain

In our previous section we showed how to group URLs by domain. Instead of grouping, you can quickly color duplicate entries of the same domain name in your URLs.

For more details please see how to highlight duplicates in Excel. Highlight the second and subsequent mentions of a domain name in your URL table

Compare your URLs from different tables by domain column

You may have one or several separate Excel worksheets where you keep a list of domain names. Your tables may contain links that you don't want to work with, like spam or the domains you already processed. You may also need to keep a list of domains with interesting links and delete all other ones.

For example, my task is to color in red all domains that are in my spammer blacklist: Compare two tables and highlight duplicates

Not to waste much time, you can compare your tables to delete the unnecessary links. For full details, please read How to compare two Excel columns and delete duplicates

The best way is to merge two tables by domain name

This is the most advanced way and the one I personally prefer.

Suppose, you have a separate Excel worksheet with reference data for each domain you ever worked with. This workbook keeps webmaster contacts for link exchange and the date when your website was mentioned in this domain. There can also be types/subtypes of websites and a separate column with your comments like on the screenshot below. Domain lookup table

As soon as you get a new list of links you can match two tables by domain name and merge the information from the domain lookup table and your new URLs sheet in just two minutes.

As a result you will get the domain name as well as the website category and your comments. This will let you see the URLs from the list you need to delete and those you need to process.

Match two tables by domain name and merge data:

  1. Download and install the latest version of Merge Tables Wizard for Microsoft Excel

    This nifty tool will match and merge two Excel 2013-2003 worksheets in a flash. You can use one or several columns as the unique identifier, update existing columns in the master worksheet or add new from the lookup table. Feel free to read more about Merge Tables Wizard on our website.

  2. Open your URLs list in Excel and extract domain names as described above.
  3. Select any cell in your table. Then go to the Ablebits Data tab and click on the Merge Two Tables icon to run the add-in. Run the Merge Tables Wizard for Excel
  4. Press the Next button twice and select your worksheet with the domains information as the Lookup Table. Select your worksheet with the domains information as the Lookup Table
  5. Tick the checkbox next to Domain to identify it as the matching column.  Tick the checkbox next to Domain to identify it as the matching column.
  6. Select what information about the domain you want to add to the URLs list and click Next. Select what information about the domain you want to add to the URLs list
  7. Press the Finish button. When the processing is over, the add-in will show you a message with the details of the merge. The add-in will show you a message with the details of the merge

Just a few seconds - and you get all information about each domain name at a glance. Two tables merged - you get all information about each domain name at a glance.

You can download Merge Tables Wizard for Excel, run it on your data and see how useful it can be.

If you are interested to get a free add-in for extracting domain names and subfolders of the root domain (.com, .edu, .us etc.) from the URL list, simply drop us a comment. When doing this, please specify your Excel version, e.g. Excel 2010 64-bit, and enter your email address in the corresponding field (do not worry, it won't be displayed publically). If we have a decent number of votes, we will create such and add-in and I let you know. Thank you in advance!

51 comments

  1. The formulas in the main article dont seem to work, it gives a '#value' error

  2. "Senior Human Resources Manager
    Complinity Technologies"
    hello how to Split google sheet data if above both line in 1 cell, and i want to split 2nd line data in in other cell

  3. I need for example to get the FQDN removed from a list of servers:

    Example:

    host1.apple.com
    host1.rc.apple.com

    My results I want should be:

    host1
    host1.rc

    How do I go about this?

    1. I forgot to add:

      host1.apple.org results to host1 as well.

  4. translate.google.com
    biolink-me00009.pointblog.net
    zionfvqia.pointblog.net
    lukasxjllp.pointblog.net
    multiplebiolinks18481.full-design.com

    HI.After using the first formula, get the second level domain

    How to extract the primary domain name?

    as follows:

    google.com
    pointblog.net
    full-design.com

    1. brewery-equipment.vdobrew.com
      Change:
      vdobrew.com

  5. Hi Alex,
    I have few urls like http s://www.jadlog.com.br
    www .focusenergia.com.br/, where it is not working.
    Can we customize this as per our need? If yes can you just guide me through the same.?

    1. Hello!
      Your URLs already consist of one domain name. To get a clean domain name without www, use the MID function.

      =MID(A2,SEARCH("www",A2)+4,50)

      To extract the domain name from the text, you can use regular expressions. The following tutorial should help: Regex to extract domain.

  6. how can i remove duplicates if multiple subdomains are repeated like blogspot, weebly, wordpress etc

    1. In Google Sheet:-
      select all the URLs and go to Data tab=>Data cleanup=>Remove duplicates

      In Excel:-
      when you go to Data Tab you will find Remove Duplicates.

  7. Excellent. Many thanks!!

  8. Amazing, thanks a lot

  9. I need the same method using a formula to check if a domain name is valid or invalid

  10. Please explain why do we need the "Starting_at" from 4 defined? I tried the formula without and it seems it works fine.

  11. Thank you!

  12. Great

  13. Great formula and almost does the job except as a previous commenter posted, it returns an error where the domain is like this:-

    "www.tesco.com"

    rather than:-

    "www.tesco.com/"
    or
    "www.tesco.com/sdfdsfsd"

    I tried the suggestion above by Jim (comment 18) but again, this has the problem of leave http:// at the beginning. But I guess we can use column split tool in Excel to get rid of it but would be good if formula could include that too!

  14. Thanks for the tutorial!

  15. I need to remove also the subdomain, but this formula doesn't do that. Any ideas?

  16. nice post

  17. How to remove .com in last of the company name in this Formula =IF(ISERROR(FIND("//www.",A2)), MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3), MID(A2,FIND(":",A2,4)+7,FIND("/",A2,9)-FIND(":",A2,4)-7))

  18. How to remove .com in last of the company name in is Formula =IF(ISERROR(FIND("//www.",A2)), MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3), MID(A2,FIND(":",A2,4)+7,FIND("/",A2,9)-FIND(":",A2,4)-7))

  19. Hello ,

    This is absolutely a great site , I appreciate all the effort .

    I need a help now, Is there a macro to extract the exact Company Name from web, if we have a list of company domains as excel input please (especially when the domains look weird )?

    Any help would be much appreciated .

    Warm regards,
    smsharie

  20. Pieced this together to work with domains that end in slashes or not and then also strip the final slash if needed...

    =IF(RIGHT(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2),(LEN(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))-(LEN(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))-1)))="/",LEFT(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2),(LEN(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))-1)),IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))

    1. Should have changed AN2 to A1 (or wherever your list of domains is), but you get the point.

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)