Public and private IP addresses
An IP address is a number that lets one machine send packets to another. The address you came here to see is the public one: the number on the outside of your connection, after your router and after any translation your ISP is doing. Every site you open can see that number, along with the time and the page. They do not need an app, and you do not need to install anything for them to see it. This page is simply showing you the same value the server already had to read in order to answer.
A private address is the one used inside a network you control. The ranges set aside for that are 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, and 192.168.0.0–192.168.255.255. Link-local 169.254.0.0/16 is what a device picks when DHCP fails. IPv6 has its own equivalents: unique local addresses under fc00::/7, and link-local addresses under fe80::/10. None of those are routed on the public internet. If your laptop says 192.168.1.23, that number identifies the laptop to the router. It does not identify you to this website. The router keeps a translation table, which is ordinary NAT, and writes its public address on the packets it sends out.
100.64.0.0/10 looks a bit like a private range and is often mistaken for one. It is the shared address space for carrier-grade NAT. An address there belongs to the ISP’s internal network, not to your house, and it is not a unique public address you can hand to someone who wants to connect inbound. Seeing 100.64 on a router’s WAN page is a strong sign the public IPv4 on this site is shared.
This connection loaded the page over IPv4, so the address above is an IPv4 address. If the other family is missing, this browser did not complete a connection on that family. That is a result, not a spinner that failed to finish. A longer comparison is on public vs private IP addresses.
IPv4 and IPv6
IPv4 is a 32-bit number, usually written as four decimal bytes. 203.0.113.8 is the shape people mean when they say “IP address” without qualifying it. There are about 4.3 billion of them, and large parts of that space are reserved, so the pool of addresses an ISP can actually hand out ran short years ago. That shortage is why so many customers, especially on mobile, share one public IPv4.
IPv6 is a 128-bit number, written in hexadecimal with colons. The extra length is the point: the pool is large enough that an ISP can give a whole network its own prefix instead of making customers share. A typical home assignment is a prefix, not a single host address. The last part of the address, the interface identifier, often changes on its own because modern operating systems use privacy extensions. The prefix is the stable part you would ask an ISP to keep. The host part rotating does not mean the ISP replaced your line.
Plenty of networks run both at once. Browsers pick one family for a given connection, usually preferring IPv6 when it works. This page therefore cannot learn the other family from the same connection. It shows the family that arrived, and the browser may open a second check for the other family. Until that check answers with the matching version, the line stays on a plain “not seen” message. You are reading this on IPv4. The full comparison, including what changes when only one family works, is on IPv4 vs IPv6.
How to find your IP address
There are two numbers, and mixing them up causes most of the confusion. The public address is the one in the sentence at the top of this page. The private address is the one the operating system shows for the Wi-Fi or Ethernet adapter. Steps for each system are below. The same procedures, with the failure cases written out, are on how to find your IP address.
Windows
Open Settings, then Network & internet, then the adapter you are using, and view the hardware properties. The IPv4 address there is almost always a private 192.168 or 10.x address. Command Prompt shows the same thing: run ipconfig and read “IPv4 Address” under the adapter, not under the VPN adapter unless you mean to. The public address is this page, or, in PowerShell, curl.exe https://ipinfo.fyi.
macOS
Open System Settings, then Network, select Wi-Fi or Ethernet, and open Details. The listed IP address is the Mac’s address on the local network. In Terminal, ipconfig getifaddr en0 prints the Wi-Fi LAN address on most Macs. curl https://ipinfo.fyi prints the public address. If en0 is empty, you are probably on Ethernet (en1 or a bridge) or on a VPN interface.
Linux
ip -4 addr and ip -6 addr show the addresses configured on each interface. hostname -I prints a short list. Addresses on lo, docker0, or a bridge are not your public address. curl https://ipinfo.fyi asks this site from the shell and prints the public one. curl -4 and curl -6 force a family when you want to see them separately.
Android
Settings, then About phone, then Status, or the details page of the connected Wi-Fi network, shows the address the phone has on that network. On mobile data that number is often a private or 100.64 address inside the carrier, not the public IPv4 websites see. Open this site in the phone’s browser for the public address. A VPN app’s “your IP” screen is the VPN’s address, which is the point of the VPN.
iPhone and iPad
Settings, then Wi-Fi, then the info button next to the network. The IP address is the device’s LAN address. “Private Wi-Fi Address” is a rotating MAC address, which is a hardware identifier, not an IP. On cellular, iOS does not show you the public address the carrier is using. Safari on this page does.
The router
The sticker on the router usually names the admin address, often 192.168.0.1 or 192.168.1.1. Sign in and open the WAN, Internet, or Status page. Write down the WAN IPv4 and, if it is there, the IPv6 prefix. Compare the WAN IPv4 with the address at the top of this page. If they match, the router is holding the public IPv4. If the WAN address is in 100.64.0.0/10 or another non-public range, the ISP is translating, and the address on this page is the shared one. Reboot the router once before you call an address static: a public address can still change when the session comes back.
curl
From a terminal, curl https://ipinfo.fyi prints only the public address, because curl is treated as a text client. curl https://ipinfo.fyi/json prints the same lookup as JSON, including the ASN and the city estimate. curl -4 https://ipinfo.fyi and curl -6 https://ipinfo.fyi ask for one family. A failure on -6 means this host could not reach the site over IPv6, which is what the IPv6 line on this page is also telling you.
Why your IP address changes
Dynamic means the ISP assigns the address from a pool for the life of a session. A home router that reconnects, a power cut, a firmware update, or overnight maintenance can all end the session. The next one may get a different address. That is the normal contract on consumer broadband and on almost all mobile plans. Nothing is broken when the number moves.
Static means the ISP has agreed to keep a particular address, or a particular IPv6 prefix, on your line. It is a billing and provisioning fact, not something you can switch on in the router. “Public” does not imply “static”. A public address that changes every Sunday is still public. People who need a stable address, including anyone hosting a camera or satisfying a written requirement from a platform, have to ask the ISP and get the answer on a bill or a ticket. In India that conversation is different for Jio, Airtel, BSNL, and ACT, which is why those notes live on asking an Indian ISP for a public address and on my IP address in India.
Other reasons the number moves, which are not the ISP reclaiming a lease: you joined a VPN, you switched from Wi-Fi to mobile data, IPv6 privacy extensions rotated the host part, or the browser fell back from IPv6 to IPv4 because the IPv6 path failed. Each of those can show you a different address within a minute. Compare like with like. Check the same device, on the same network, with the VPN in the same state.
What your IP address reveals
From the address alone, a site can usually learn the ISP or the hosting company, because the address sits in a block announced by an autonomous system. That is the ASN on this page. It can often learn a rough location: a country is usually right for a home connection, a city is a guess, and a street is not available. It can sometimes tell that the address looks like a mobile network, a datacenter, a VPN exit, or a Tor exit. Those labels are heuristics. “Unclassified” is the ordinary result for home broadband, and it is not a clean bill of health or a warning.
The address does not contain your name. It does not contain your Aadhaar number, your account number, your phone number, or the list of sites you visited yesterday. Your ISP can see a great deal more than a website can, because the ISP carries the traffic. A website sees the address, the time, and what you asked that website for. If many customers share the address, which is CGNAT, the site cannot even tell those customers apart from the number alone. A wrong city does not mean the site has a hidden precise fix. It means the guess is bad. Read why an IP location is wrong and how to fix it before you treat the pin as a fact.
Why the location can be wrong
There is no official city for an IP address. Regional registries record who was allocated a block and, sometimes, a country. City coordinates are produced by companies such as MaxMind, IPinfo, DB-IP, and IP2Location, plus by Google for Google’s own products. They combine registry country, routing hints, geofeeds published by network operators, and user reports. They refresh on different days, so two databases can name two cities for the same address on the same afternoon.
Some misses are structural. A mobile CGNAT pool is shared by people who are not in the same neighbourhood, and the database still has to drop a single pin. In India that pin is often a hub such as Mumbai or Delhi even when the subscriber is in another city. An anycast address such as 1.1.1.1 is announced in many cities at once. A VPN exit is located where the server is. Correcting those to your house makes the database worse for everyone else on the address. Correct a database when you operate the network, or when the address is a stable public address at a place you can vouch for.
If the pin on this page is your connection and it is wrong, open the IP location checker. It compares free sources side by side and links the correction forms. Filing the same correction in one database does not update the others. A geofeed is the fix that reaches more than one of them.
How to hide or change your IP address
You change the address websites see by sending the traffic through some other network. A VPN does that with an encrypted tunnel to a server, and the site sees the server’s address. A proxy does it for some apps and not others. Tor does it through a circuit of relays, and the site sees an exit relay. Turning on a VPN does not change the private address inside your house, and it does not change what your ISP sees on the way to the VPN server: the ISP sees a connection to the VPN, not the sites inside the tunnel, assuming the VPN is covering DNS as well. This site does not run a DNS leak test. The DNS leak guide explains what that test would have to observe.
A VPN is a poor tool for three jobs people sometimes buy it for. It does not give you a personal public IPv4 of your own: the exit is shared with other customers and usually sits in a datacenter. It does not fix CGNAT for inbound hosting. It does not repair a wrong city in a geolocation database; it just shows the VPN’s city instead. If the goal is “websites should see a different address”, a VPN does that. The VPN comparison on this site quotes the providers’ own pages. The outbound links are affiliate links. The page says so, the machine-readable copy says affiliate: true, and the ranking does not use commission.
Switching from Wi-Fi to a phone hotspot also changes the address, because it is a different network. So does asking the ISP to move you from a shared address to a public one. Those are real changes. They are not privacy tools. Hiding an address from websites still leaves the VPN provider, or the ISP, in a position to see metadata. Treat “hide my IP” as “change which network is visible”, and decide whose network you are willing to be visible to.
CGNAT
Carrier-grade NAT is what ISPs do when they have more customers than public IPv4 addresses. Your router already translates the laptops and phones in the house onto one WAN address. CGNAT adds another translation in the ISP’s network, so many households share one public IPv4. Outbound browsing, video, and most apps work. Anything that needs an unsolicited inbound connection — a game server, a camera, a remote desktop, some peer-to-peer transfers — usually fails, because there is no unique public port that belongs to you.
The practical test is the comparison already described: router WAN address versus the address on this page. A mobile ASN makes CGNAT more likely and does not prove it. IPv6, when the line has it, is not shared in that way. The host part still rotates, but the prefix can be used to reach a machine at home if the router and the service both speak IPv6. Tailscale and a Cloudflare Tunnel reach your own machines without a public IPv4. None of those satisfy a third party that insists on seeing a stable public IPv4 in their logs.
On Indian mobile networks this is the default story rather than the exception. Jio mobile and Airtel mobile commonly share a public IPv4, and the phone’s own address is private or in 100.64.0.0/10. Fiber plans differ by city and by product, so a test on the SIM does not answer the question for the router. Run the CGNAT check on the connection you care about, then read the notes for Jio, Airtel, BSNL, ACT, and Vi. This site does not quote a rupee figure for a static add-on. Get that from the ISP.