Private IP address ranges
Private IP address ranges are blocks of IP addresses set aside for use inside private networks, such as your home, office, or data center. They are defined in RFC 1918 and are never routed on the public internet — every router on the internet is expected to drop packets addressed to them. That is the core difference between a public and private IP: a public address is globally unique and reachable, while a private one is meaningful only within its own local network.
Because these ranges are reserved, hardware makers can assign them freely without asking anyone for permission, and the same addresses can appear on millions of separate networks at once.
The three RFC 1918 IPv4 blocks
| Range (CIDR) | Address span | Number of addresses | Typical use |
|---|---|---|---|
10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 | 16,777,216 | Large enterprise networks |
172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 | 1,048,576 | Mid-size networks |
192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 | 65,536 | Home and small office routers |
The address count for each block comes directly from its prefix length: a /8 leaves 24 host bits (224 = 16,777,216 addresses), a /12 leaves 20 host bits (220 = 1,048,576), and a /16 leaves 16 host bits (216 = 65,536). Note that the 172.16.0.0/12 block only covers 172.16 through 172.31 — not the whole 172 range — which is a common point of confusion. If you need to split one of these blocks into subnets, the subnet calculator does the math for you.
Related special-purpose ranges
A few other reserved ranges often turn up alongside the private blocks. These are not RFC 1918 private ranges, but they behave similarly in that they are not globally routed:
| Range (CIDR) | Address span | Purpose |
|---|---|---|
169.254.0.0/16 | 169.254.0.0 – 169.254.255.255 | Link-local / APIPA — self-assigned when no DHCP server answers |
127.0.0.0/8 | 127.0.0.0 – 127.255.255.255 | Loopback — the machine talking to itself (see localhost) |
fc00::/7 | fc00:: – fdff:ffff:…:ffff | IPv6 unique local addresses (the private equivalent for IPv6) |
fe80::/10 | fe80:: – febf:ffff:…:ffff | IPv6 link-local — used for on-link communication only |
For the complete picture of every reserved block, including documentation and multicast ranges, see reserved IP addresses. IPv6 handles private addressing quite differently from IPv4 — see IPv4 vs IPv6 for the full comparison.
How to tell if an IP is private
The rule is simple: if an address falls inside 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16, it is private. So 192.168.1.10 and 10.4.20.1 are private, while 172.32.0.1 is not (it sits just outside the 172.16.0.0/12 block). The home page at My IP Is only ever shows your public IP — the single address your router presents to the internet — never the private one your device uses on the LAN. To find your private address, follow find your local IP.
Why private ranges can be reused everywhere
The reason the exact same address, say 192.168.0.1, can be your router at home and also somebody else's router across the world is Network Address Translation (NAT). Your router keeps a table mapping internal private addresses to its one public address. Outgoing traffic is rewritten to use the public IP, and replies are translated back to the correct internal device. Because private addresses never leave the local network, there is no clash — each network is an isolated island, and NAT is the bridge to the shared public internet.