Private IP Address Ranges Explained
Private IP addresses are reserved for use inside networks and are never routed on the public internet. The home router, office LAN, VPN, or cloud VPC you work with is almost certainly built on them. This page lists the ranges that matter, what each one is for, and the overlaps that cause real outages.
IPv4 private and special-use ranges
| Range | First – last address | Addresses | Defined in | Purpose |
|---|---|---|---|---|
| 10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 | 16,777,216 | RFC 1918 | Private networks (largest block) |
| 172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 | 1,048,576 | RFC 1918 | Private networks (medium block) |
| 192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 | 65,536 | RFC 1918 | Private networks (home and small office) |
| 100.64.0.0/10 | 100.64.0.0 – 100.127.255.255 | 4,194,304 | RFC 6598 | Carrier-grade NAT shared space |
| 169.254.0.0/16 | 169.254.0.0 – 169.254.255.255 | 65,536 | RFC 3927 | Link-local (self-assigned) |
| 127.0.0.0/8 | 127.0.0.0 – 127.255.255.255 | 16,777,216 | RFC 1122 | Loopback |
| 192.0.2.0/24 | 192.0.2.0 – 192.0.2.255 | 256 | RFC 5737 | Documentation (TEST-NET-1) |
| 198.51.100.0/24 | 198.51.100.0 – 198.51.100.255 | 256 | RFC 5737 | Documentation (TEST-NET-2) |
| 203.0.113.0/24 | 203.0.113.0 – 203.0.113.255 | 256 | RFC 5737 | Documentation (TEST-NET-3) |
The three RFC 1918 ranges
RFC 1918 reserves three blocks for private use: 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16. Anyone can use them without asking, which is also the catch: thousands of organizations use the same addresses, so they can never be routed across the public internet.
As a rule of thumb, 192.168.0.0/16 is what home routers and small offices use, 10.0.0.0/8 is what enterprises and cloud networks use because it offers 16.7 million addresses, and 172.16.0.0/12 sits in between. Be careful with the middle range: it ends at 172.31.255.255. Addresses such as 172.15.0.1 and 172.32.0.1 are public, a classic mistake when someone assumes everything starting with 172 is private.
A quick test for any address
- First octet is 10: private.
- First octet is 172 and the second octet is between 16 and 31: private.
- First two octets are 192.168: private.
100.64.0.0/10 and carrier-grade NAT
The 100.64.0.0/10 block is not part of RFC 1918. It is shared address space meant for internet providers that run carrier-grade NAT, where many customers sit behind one public address. If your router's WAN address falls between 100.64.0.0 and 100.127.255.255, your provider is doing NAT on top of your own, and inbound port forwarding from the internet will not work. You can confirm this by comparing the WAN address in your router with what What Is My IP reports.
Link-local and loopback
A device that cannot reach a DHCP server will often assign itself an address in 169.254.0.0/16 (Windows calls this APIPA). Seeing a 169.254.x.x address on a computer is a strong sign that DHCP failed, usually because of a cable, a VLAN, or a DHCP server problem. These addresses only work on the local link and are never routed.
The entire 127.0.0.0/8 block loops back to the local machine, not only 127.0.0.1. Services listening on 127.0.0.1 are reachable only from the host itself, which makes loopback a useful way to keep a database or admin interface off the network.
Planning around overlaps
Overlapping ranges are the most common private addressing problem. Two networks can only be joined by a VPN, a peering connection, or a merger if their ranges do not overlap, and renumbering a live network is painful.
- Home and office collide. Most home routers default to 192.168.0.0/24 or 192.168.1.0/24. A remote worker's VPN to an office that also uses 192.168.1.0/24 will route traffic to the wrong place.
- Container defaults. Docker's default bridge network uses 172.17.0.0/16, which can overlap with corporate networks that use the 172.16.0.0/12 range.
- Cloud defaults. The default VPC in an AWS region uses 172.31.0.0/16. If you connect it to an on-premises network that uses the same space, routing breaks.
For anything that might ever connect to another network, pick from 10.0.0.0/8 with a less obvious second octet, allocate a /16 per site or region, carve /24s from it for VLANs, and record the plan in a spreadsheet or an IPAM tool. Avoid 192.168.0.0/24, 192.168.1.0/24, 10.0.0.0/24, and 10.0.1.0/24, because everyone else picked those first. The /16 guide shows how to divide a block this way.
How private addresses reach the internet
Devices with private addresses reach the internet through network address translation (NAT). The router rewrites the source address of outgoing packets to its own public address and keeps a table so replies find their way back. This is why every device in a house shares one public IP, and why a private address on its own tells you nothing about where a device is on the internet.
IPv6 equivalents
IPv6 has no need for NAT-style address shortage, but it still reserves special ranges. Unique local addresses (fc00::/7, in practice fd00::/8) play the role of RFC 1918 and are not routed on the internet. Every IPv6 interface also has a link-local address in fe80::/10, which is used for neighbor discovery and routing protocol adjacencies.
| Range | Defined in | Purpose |
|---|---|---|
| fc00::/7 | RFC 4193 | Unique local addresses (in practice fd00::/8 is used) |
| fe80::/10 | RFC 4291 | Link-local |
| ::1/128 | RFC 4291 | Loopback |
| 2001:db8::/32 | RFC 3849 | Documentation |
Related tools and guides
Frequently asked questions
Is 172.32.0.1 a private IP address?
No. The private 172 range is 172.16.0.0/12, which covers 172.16.0.0 through 172.31.255.255. 172.32.0.1 is outside it and is a public address.
Is 192.168.1.1 a public or private address?
It is private. It belongs to 192.168.0.0/16 and is the default gateway address on many home routers.
Can two companies use the same private IP range?
Yes, and many do. Private ranges are not unique across organizations, which is why they cannot be routed on the internet and why overlaps cause trouble when networks are connected.
What does a 169.254.x.x address mean?
It is a link-local address a device assigns itself when it cannot get an address from DHCP. It usually points to a connection or DHCP server problem.