- Public IP addresses are associated with your internet router and are the same for all devices connected to the internet from your house, while private IP addresses are specific to each adapter on your computer.
- To find your local (or private) IP address, run the “ipconfig” command in the Command Prompt.
- To find your public IP address, run the “curl ifcfg.me” command or alternative methods like “curl icanhazip.com” or “nslookup myip.opendns.com”. PowerShell and Bash shell have similar commands for finding your public IP address.
Like most things in Windows there are dozens of ways to get something done, so today we’re showing you multiple different techniques to find your public or private IP address from the Command Prompt.
Why would you want to get your IP address from the command line when you can easily look it up in the GUI in Windows 10 or Windows 11? If you’re an old-school kind of geek, using the command line to do things comes naturally, so you might find it easier to type in a quick command instead of clicking a whole bunch of settings. The real reason, though, is that you’re probably going to automate it in a script, and you just need to figure out the right command for the job.
Which IP Do You Want? Local (Private) IP vs External (Public) IP
Before we show you how to find your IP address we need to talk about the difference between public and private IP addresses.
Each network that you’re connected to will have an IP address associated with it — if your computer is connected via Wi-Fi as well as Ethernet, both of the adapters will have their own IP addresses, and your local TCP/IP routing table is responsible for figuring out which one ends up getting used for which requests. Most of the time, though, you’re just connected to your Wi-Fi router, so your local computer connecting to your local network has a single IP address.
Your internet router, however, is always connected to two separate networks: your local (private) network in your house, and the external (public) network of your ISP. The router translates the request from your computer using NAT (Network Address Translation) to allow everything in your network to share a single public IP address.
When your Windows PC, iPhone, or Raspberry Pi connect to the internet from your house, the server that they connect to will see them as the same IP address: the external (public) IP on your router.
Get Local (Private) IP address from CMD (Command Prompt)
To find your local or private IP address from the Command Prompt in any version of Windows, simply open up the Start Menu, search for the Command Prompt, open it up, and type the following command:
Windows will output a lot of details, but the line you’re looking for is the one that says “IPv4 Address” which will display your local / private IP address for the adapter that is connected to your Wi-Fi or Ethernet network.
Some people will have more than one adapter in the list, and if you’ve got Virtual machine software installed or WSL you might see a lot of extra stuff, so you’ll need to check for the adapter that’s connected to the network you’re trying to find the address for. In our case, the WSL adapter is listed first, and we marked with a blue box. The result we want — our physical ethernet adapter — is marked in red.
Keep in mind this is your private IP address, not the public address that websites will see your traffic coming from. For your public IP address, keep reading.
Get Public (External) IP address from CMD (Command Prompt) or PowerShell
To find your public / external IP address from the Command Prompt or PowerShell, you have a lot of different options, but perhaps the easiest one is to simply type the following command (assuming you’ve already opened Command Prompt from the Start Menu):
This command will instantly output your current public IP address right there on the command line. It works by using the curl command to download the contents of ifconfig.me, which is a very simple website that somebody set up to output nothing but your public IP address. If you plug that domain name into your browser, you’ll see the same thing.
It’s worth noting that Windows 10 and 11 have the curl command built right in, but if you’re using an earlier version of Windows you probably will need to download a copy of curl for Windows. Curl should work from within the regular Windows CMD prompt, but you can also use it from within the Bash shell inside of Windows 10 or 11 as well.
There are also a number of alternative methods for pulling up your public IP address from the Command Prompt. Here is one we’ve used for a long time, just in case the first one stops working:
That last one weirdly includes an extra line break, which might not work very well if you’re using this in a script.
Perhaps our favorite method uses OpenDNS and the trusty nslookup command that’s been on every version of Windows since forever:
nslookup myip.opendns.com. resolver1.opendns.com
Now that you’ve had tons of fun reading about how to do all this from the Command Prompt I should probably point out that you can also just type “what is my ip” into Google and it’ll tell you. But it’s just not as much fun that way.
Want to get more complicated? Did you know that you can actually change your IP address from the Command Prompt? You can also edit the Windows Registry, lock your PC, change a password, start Excel or Word, map network drives, shut down your PC, uninstall programs, compare files, find files, locate your Windows product key, and even use all sorts of keyboard shortcuts from the old-school Windows Command Prompt.
Get Public IP Address from Powershell
If you’re ready to really have fun, here’s how to find your public IP address from a more powerful PowerShell prompt (or script, for that matter). Just type this into your PowerShell terminal:
(Invoke-WebRequest -UseBasicParsing -URI ifconfig.me ).Content
It’ll instantly return your IP address just like all the other examples above. You can also split it out into multiple lines if you’re going to be using it in a script:
$myip = Invoke-WebRequest -UseBasicParsing -URI ifconfig.me
This will create the
$myip variable and put the contents of the request into it, and then you can use
$myip.Content to spit out the value or use it elsewhere in a script if you need to. You can replace the ifconfig.me site with any of the other examples that we showed you earlier, just in case that site isn’t working at some point in the future.
Get Public IP Address from the Bash Shell
If you’re using the Bash shell from within Windows, you’ll probably be happy to know that getting your public IP address is just as simple as from the Command Prompt. Just type the following command:
It should work exactly the same way as the command did in the regular CMD prompt, but you can do so much more with the Bash shell than the Command Prompt.
Ready to find more IP address information? You can find your IP address using the GUI in Windows 10 or Windows 11, or look up the IP of your iPhone, Roku, printer, your Wi-Fi router, or any other device. Once you’re an expert, you can graduate to seeing what is listening on TCP/IP ports and setting up static IP routes.