Public vs Private IP Addresses: What's the Difference?
Every device on your network actually has two IP addresses working on its behalf: a private address that identifies it inside your home or office network, and a public address that represents your whole connection to the internet. The two are bridged by your router using NAT. Understanding the difference explains a lot of everyday networking — why your laptop says 192.168.1.5 but websites see something completely different, why port forwarding exists, and why two homes can use identical local addresses without conflict.
The public IP: your address on the internet
Your public IP is assigned by your ISP and is unique across the entire internet at any given moment. It's the address websites log, game servers ban, and streaming services geolocate. All devices in your home share this one public address — your router translates their traffic so it all appears to come from the same place.
The private IP: your address at home
Inside your network, the router gives each device its own private address via DHCP. Three ranges are reserved for private use by RFC 1918: 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. These addresses are never routed on the public internet, which is why millions of homes can all use 192.168.1.1 for their router without any collision.
There's a fourth special range worth knowing: 169.254.x.x. If you see an address like that, your device failed to reach a DHCP server and assigned itself a fallback — it usually means something is wrong between the device and the router.
NAT: how the two worlds connect
Network Address Translation (NAT) is the router feature that maps many private addresses onto one public one. When your laptop requests a webpage, the router rewrites the packet's source to the public IP and remembers which device asked, so it can route the reply back. NAT is the main reason IPv4 has survived address exhaustion this long — and it doubles as an incidental firewall, since unsolicited inbound connections have no mapping to follow and are simply dropped.
That inbound-blocking behavior is also why hosting a game server or camera feed at home requires port forwarding: you're manually creating the mapping NAT wouldn't create on its own. IPv6 removes the need for NAT entirely by giving every device its own globally unique address.
How to find each of your addresses
Your public IP: just check What Is My IP — that's exactly what it shows, along with the location and ISP tied to the address. Your private IP: on Windows, run ipconfig and read the "IPv4 Address" line; on macOS, it's in System Settings → Network; on phones, look in the Wi-Fi connection details. The two will never match, and that's exactly how it's supposed to work.