Side-by-side comparison
| Question | Public IP | Private IP |
|---|---|---|
| Where is it used? | Across public internet routing | Inside a local network |
| Who normally assigns it? | ISP, mobile carrier, hosting network, or VPN | Router, network administrator, or device configuration |
| Who normally sees it? | Remote services reached through that path | Devices and routers in the local scope |
| Can unrelated networks reuse it? | Not as the same globally routed address | Yes; reserved private ranges are intentionally reusable |
| Does it have to stay the same? | No; assignment and exit paths can change | No; local leases and interfaces can change |
“Public” and “private” describe routing scope, not importance or secrecy. Both values can be correct at the same time because they identify different sides of a connection.
Who assigns each address and who can see it
An internet provider can delegate a public prefix or address to a home connection, while a mobile carrier may present a shared gateway address. A VPN typically substitutes an exit-server address for traffic carried through the tunnel. Remote services see the source that reaches them on that path.
Inside a home or office, the router or network administrator assigns private IPv4 values independently. RFC 1918 reserves 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 for private internets. Because these ranges are not ordinary public routes, the same value can appear in unrelated homes without conflict.
A private address is still visible to the local network and to software that has legitimate access to it. The label does not mean “secret”; it means the address belongs to a limited routing scope.
Continue with What is an IP address?, compare it with How to find public and private IP addresses on Android, or use IPv4 vs IPv6: what changes? for the next practical step.
How IPv6 changes the comparison
IPv6 often gives interfaces globally scoped addresses without using the same home IPv4 NAT pattern. It also defines link-local addresses for the local link and unique-local addresses for selected private scopes. One device can hold multiple IPv6 addresses with different purposes and lifetimes.
A globally scoped IPv6 address is still subject to router and host firewall policy; global scope does not automatically mean the device accepts unsolicited inbound traffic. Likewise, using temporary IPv6 addresses can reduce simple address correlation without making a connection anonymous.
An Android before-and-after example
- Check connected Wi-Fi details
Record the local IPv4 or IPv6 values, gateway, and network name Android currently reports.
- Check the public result
Use the same connection to record public IPv4, IPv6, or both. Label these values “internet-facing.”
- Switch one path
Move to mobile data or connect a VPN without changing anything else you intend to compare.
- Repeat and label the cause
A new local address follows the interface change; a new public address follows the changed outward path.
Do not compare an old Wi-Fi private address with a current mobile public address as though they were competing answers. Keep the interface and time beside every value.
What the comparison cannot prove
- A private address does not prove local traffic is trusted or encrypted.
- A public address does not prove a device is directly reachable through firewalls or translation.
- A changed public IP does not prove every application uses a VPN.
- A shared public IP does not identify which person or device made a request.