Steps

How to Find Your IP Address

The public IP address of this connection is the number in the box above. This page is how to find that number, and the private one, when you are not already looking at it: on Windows, macOS, Linux, Android, iPhone, the router, and with curl. The mistake to avoid is reading the LAN address and treating it as the address websites see.

Windows

For the private address, open Command Prompt and run ipconfig. Under the adapter you are actually using — Wi-Fi, or Ethernet, not “Bluetooth” and not a virtual switch — read “IPv4 Address”. A 192.168, 10.x, or 172.16–31 value is private. “IPv6 Address” lines that start with fe80 are link-local. A global IPv6 address, if Windows has one, does not start with fe80 or fd.

The same private address is in Settings → Network & internet → the adapter → hardware properties. For the public address, use a browser on the homepage, or in PowerShell run curl.exe https://ipinfo.fyi. The .exe matters: PowerShell’s curl alias is Invoke-WebRequest, which will not print the address the same way. If ipconfig shows a second adapter named after a VPN, that adapter’s address is the tunnel, and the public address websites see should be the VPN’s, which this site will also show while the VPN is up.

macOS

System Settings → Network → Wi-Fi or Ethernet → Details shows the LAN address. In Terminal, ipconfig getifaddr en0 prints the Wi-Fi address on most Macs. If that prints nothing, try the service you are actually on. curl https://ipinfo.fyi prints the public address. curl -4 and curl -6 separate the families. A VPN client that is connected will be the path curl uses, so disconnect it first if you wanted the ISP address.

Linux

ip -br addr is the readable view. Ignore lo, docker0, and bridge interfaces unless you meant to inspect those. hostname -I prints a space-separated list of the machine’s own addresses, which are still not the public one if you are behind NAT. curl https://ipinfo.fyi prints the public address. If curl is not installed, any browser on the same machine works. A server with several public addresses may see curl leave from a different one than the service you think you are testing. Run the command on the host whose outbound path you care about.

Android

Settings → Network & internet → Internet → the gear next to the Wi-Fi network, or Settings → About phone → Status. The IPv4 field is the phone’s address on that network. On home Wi-Fi it should match the private range the router uses. On mobile data it is often a 10.x or 100.64 address inside the carrier, and websites see a different public IPv4. Open this site in Chrome for that public number. An IPv6 address in the status page, if it is not fe80, is worth comparing with the IPv6 line on the homepage.

iPhone and iPad

Settings → Wi-Fi → the info button. “IP Address” is the LAN address. “Router” is the admin address of the gateway, still private. “Private Wi-Fi Address” randomizes the MAC, which is not an IP address at all. iOS does not show the cellular public address in Settings. Safari on this page does. If iCloud Private Relay is on, the address this site sees can be Apple’s relay rather than the ISP. The connection label on the homepage says so when the network matches that case.

The router

Connect to the LAN, then open the admin address printed on the router, commonly 192.168.0.1, 192.168.1.1, or 192.168.1.254. The WAN, Internet, or Status page shows the address the ISP gave the router. Compare it with the public address from a device on that Wi-Fi, VPN off.

Write the number down, reboot once, and look again before you describe it as static. A public address is allowed to change.

curl and other one-liners

curl https://ipinfo.fyi prints the public address and nothing else, because this host answers curl in plain text. curl https://ipinfo.fyi/json prints JSON. Add -4 or -6 to pin the family. Those commands show the path from the machine you ran them on. They do not show a phone on the other side of the room, and they do not show what the network will look like after you connect a VPN.

Related: public vs private, IPv4 vs IPv6, and the CGNAT check if the router and this site disagree.

Questions

How do I find my public IP address?

Open the homepage of this site, or run curl https://ipinfo.fyi from a terminal. That number is the one websites see. The number in your Wi-Fi settings is usually private.

How do I find my IP address on Windows?

Run ipconfig in Command Prompt for the private adapter address. For the public address, open this site or run curl.exe https://ipinfo.fyi.

How do I find my IP address on a phone?

Wi-Fi details show the phone’s address on the local network. Mobile-data details often show a carrier address that is not the public one. The browser, on this site, shows the public address.

Why are there two IP addresses?

The private one identifies your device to the router. The public one identifies the connection to the internet. NAT is the reason they differ. CGNAT can add a third number on the router’s WAN page.

What is the fastest check?

curl -4 https://ipinfo.fyi and curl -6 https://ipinfo.fyi from a machine on the network you care about. Each prints the public address of that family, or fails if that family cannot leave the network.