IP Addresses · Technical Reference

Public vs Private IP Address: What’s the Difference?

Two addresses, one connection, and a boundary in the middle: what makes an address public or private, how they work together, and what each one does and doesn’t tell you.

Ask a laptop what its IP address is and it might answer 192.168.1.34. Load an IP lookup page in a browser on that same laptop and the result is a completely different number. Both answers are correct. They describe addresses that sit on opposite sides of a boundary in the network, and they answer different questions: what address does this interface hold? versus what address does the rest of the Internet see this traffic coming from?

That gap is the whole subject of this article.

A private IP address is used inside a limited network and is not intended for global routing across the public Internet. A public IP address is intended for globally routed Internet communication, subject to address policy, routing and filtering. In a typical residential IPv4 network, the devices in the house use private addresses while a public address is presented to the Internet at the edge — by the router, or in some deployments by equipment further upstream in the provider network.

Two things follow from that, and both get misstated constantly. A private address is not a secret or an encrypted one; it is simply an address with a limited scope. And a public address does not automatically mean a device is reachable from the Internet; global routability makes reachability possible, while firewalls, provider filtering and host policy decide what actually gets through.

If you want the fundamentals of addressing first, start with What Is an IP Address? Otherwise, the comparison below is the short version.

The short version

Public vs private IP address, compared by scope, uniqueness, routing, assignment, reuse, examples, IPv6 context and visibility.
PropertyPrivate IPPublic IP
Address scopeLimited to a private internetwork or routing domainIntended for global Internet routing
Global uniquenessNot globally uniqueGlobally unique as an Internet number resource; anycast can intentionally advertise the same address from multiple sites
Routed on the public InternetNo — not intended for global Internet routingEligible for global routing; actual reachability depends on route advertisement, acceptance and filtering
Typical assignmentChosen by the network operator; usually handed out by DHCP or configured staticallyAllocated through the RIR/ISP/operator chain; assigned by an ISP, enterprise, cloud, hosting or mobile operator
Can the same address exist in other networks?Yes, in millions of unrelated networks simultaneouslyNo, not as a valid global allocation at the same time
Common IPv4 examples10.0.0.15, 172.20.5.40, 192.168.1.25Real allocations vary; this article uses documentation values such as 203.0.113.42
IPv6 contextUnique local addresses (fc00::/7) and link-local (fe80::/10) fill local-scope rolesGlobal unicast addresses are the globally routable scope
Normally visible to websites you connect toNo — the translated or egress address is seen insteadYes, for the connection’s egress path

One clarification before going further, because it shapes everything after it. A public IP address is not simply “the address your ISP gave you.” That description happens to fit a lot of home broadband connections, but it fails for enterprises holding their own allocations, for cloud and hosting providers assigning addresses out of their own space, for organizations originating their own prefixes, and for much of IPv6 deployment. The defining property is address scope and intended routability, not who handed it over.

01

What is a public IP address?

A public IP address is an address drawn from globally routable address space and intended for communication across the Internet. When a web server receives your request, the source address on the packets it sees is a public address somewhere along your egress path — which may or may not be an address configured on any device you own.

Public addresses come from a delegation chain. IANA allocates blocks to the Regional Internet Registries; RIRs allocate to ISPs, enterprises and other members; those organizations assign addresses to customers, sites, servers or interfaces. The address becomes reachable on the global Internet when someone announces the covering prefix into interdomain routing and other networks accept it.

A public address also does not have to be configured directly on the end host. Cloud and provider platforms can map or translate a public address to a private address behind their edge, so the Internet-facing address can belong to the connection path rather than to a local interface on the machine itself.

So the operator behind a public address might be any of the following:

  • a residential or business ISP
  • an enterprise with its own allocation
  • a cloud provider
  • a hosting or colocation provider
  • a mobile carrier
  • a VPN provider
  • a CDN, proxy or other intermediary network

Three things are worth keeping separate here, because conflating them causes most bad conclusions about IP addresses:

  1. Who holds the allocation (registry data)
  2. Which network announces and routes the prefix (routing data)
  3. Who was using a particular address at a particular moment (operator records)

Registry and routing data are observable from outside. The third is not. A public IP address, on its own, does not reveal a person’s identity, a street address, a specific device, or who physically used a connection. Those questions need separate context and records held by the network operator. Our IP lookup tool reports the network-level information that is actually observable, and what IP lookup can and cannot tell you covers the boundary in detail.

There is a second limit on the word “public.” A syntactically non-private address is not automatically a reachable host on the Internet. Some non-private ranges are reserved for documentation or other special purposes and should never be treated as live hosts. Others are allocated but not announced. Others are announced but filtered. Address space, routing and reachability are three separate layers.

02

What is a private IP address?

A private IP address is an address from a range set aside for use inside private internetworks. RFC 1918 defined three IPv4 blocks for this purpose, on the premise that many hosts need to communicate inside an organization without requiring globally unique addresses. RFC 1918 addresses are not intended to be globally routed as Internet source or destination addresses and should be filtered at network boundaries.

The practical consequence is that private addressing is reusable. Your home network and a hotel network on another continent can both use 192.168.1.0/24 at the same time, with a device holding 192.168.1.10 in each, and nothing breaks. Those are separate routing domains. An address only has to be unique within the context that routes it.

Private does not mean “one LAN.” RFC 1918 addresses can be routed across many subnets, sites and private WAN or VPN links. What makes them private is that they are not globally routed on the public Internet.

That reuse property is also why a private address means nothing to a remote service. If a website were somehow handed 192.168.1.20, it could not route back to you, could not distinguish your device from millions of others, and could not derive any location from it. There is nothing to look up. Trying to geolocate an RFC 1918 address is a category error, not a hard problem.

03

The three private IPv4 ranges

IPv4 private and shared address ranges, their address span, defining RFC and typical use.
RangeAddress spanDefined byTypical use
10.0.0.0/810.0.0.010.255.255.255RFC 1918Large enterprise and campus networks, data centers, VPN pools, ISP internal infrastructure
172.16.0.0/12172.16.0.0172.31.255.255RFC 1918Mid-sized enterprise networks, virtualization and container platforms, lab environments
192.168.0.0/16192.168.0.0192.168.255.255RFC 1918Residential and small office LANs; the default on most consumer routers
100.64.0.0/10100.64.0.0100.127.255.255RFC 6598 (Shared Address Space — not RFC 1918)Addressing between a subscriber’s CPE and a provider’s carrier-grade NAT

Valid host addresses inside those blocks look like 10.0.0.15, 172.20.5.40 and 192.168.1.25. The /8, /12 and /16 notation is CIDR prefix length — the number of leading bits that identify the block. If prefix notation is unfamiliar, RFC 4632 is the reference, and our IP address primer covers it more gently.

The 172 mistake. 172.16.0.0/12 is the most commonly misread of the three ranges. The private block is 172.16.0.0 through 172.31.255.255 — sixteen contiguous /16s, not the entire 172.0.0.0/8.

So 172.20.5.40 is private. 172.31.255.1 is private. But 172.15.3.4 and 172.32.8.9 are outside the RFC 1918 block, and addresses in those parts of 172.0.0.0/8 are ordinary global unicast space allocated to real networks. “Starts with 172” tells you nothing on its own; the second octet decides.

04

How public and private addresses work together

In a residential IPv4 network, the two kinds of address meet at a single boundary. Inside that boundary, hosts hold private addresses and talk to each other directly. Outbound traffic leaves through the gateway, and the gateway rewrites the source address so that what reaches the Internet carries a globally routable address.

Home network address boundary

Private devices
  • Phone 192.168.1.20
  • Laptop 192.168.1.25
  • TV 192.168.1.40
Router / NAT boundary
Documentation address Public IPv4 203.0.113.42
Internet
Figure 1 — Three internal devices, three private addresses, one address presented outward. The public address shown is a documentation value (RFC 5737), not a live host.

Three internal devices, three private addresses, one address presented outward. Scale that to a few hundred million broadband connections and you have the reason IPv4 survived the exhaustion of its address space for as long as it did.

05

NAT, ports and the translation boundary

Network address translation rewrites address information in packet headers as they cross a boundary. The form used in nearly every home router is what RFC 2663 and RFC 3022 call NAPT — network address and port translation, also marketed as PAT. Many internal private addresses are multiplexed through one or a small number of public addresses, and the translator uses transport-layer port numbers plus per-flow state to keep the conversations apart.

A single outbound connection, using documentation addresses throughout:

NAPT translation example

One outbound connection traced from inside the LAN through router translation to its destination, using documentation addresses.
Inside the LANTranslated at the routerDestination
192.168.1.25:53014203.0.113.42:62001198.51.100.34:443
Figure 2 — All addresses above come from ranges reserved for documentation (RFC 5737). They are examples, not live hosts.

The router records the address-and-port translation and related flow state in a translation table. Depending on the NAT behavior, that state may also be constrained by the remote endpoint. When the server replies to 203.0.113.42:62001, the router uses the relevant state to rewrite the destination back to 192.168.1.25:53014. Without a usable mapping, the reply would arrive at the router with no way to identify the intended internal flow.

A distinction that matters more than most readers expect: NAT is not a firewall. NAPT does have a side effect that resembles filtering, because an unsolicited inbound packet arriving at the public address usually has no matching translation entry and therefore nowhere to go. But that is an artifact of how translation state works, not a security policy. A firewall applies rules — permit, deny, stateful inspection of established flows, logging. A translator rewrites headers.

Consumer routers ship both mechanisms in one box and configure them together, which is why the two get treated as one thing. They are separate, they can be configured independently, and in IPv6 deployments the filtering usually exists without the translation.

A NAT’s mapping behavior and its inbound filtering behavior are also separate properties; one should not be used as shorthand for the other.

06

Can a private IP address reach the Internet?

Yes, indirectly. A host at 192.168.1.20 does not need a globally routed address on its own interface to load a web page. It needs a gateway that will translate or otherwise forward its traffic toward the Internet and return the replies:

device → LAN → gateway (NAT/NAPT, proxy or tunnel as applicable) → upstream network → Internet

In the common IPv4 NAT case, the host’s RFC 1918 address does not appear as the globally routed outer source address on the public Internet path. What remote systems normally see is the translated or proxy egress address. That is the mechanism behind the question nearly everyone arrives with.

07

Why your computer and an IP website show different addresses

This is the single most common confusion about IP addressing, and it has a clean explanation.

The observation. Windows shows 192.168.1.34 under ipconfig. macOS or Linux shows the same kind of address for the active interface. An IP lookup page shows something entirely different.

The mechanism. The operating system is reporting the address configured on a local interface. That is a LAN-scope address, meaningful only inside your network. The ordinary server-side HTTP connection does not expose the device’s RFC 1918 interface address; it sees the source address on the packets that arrive at the server, which is the address at the outermost translation or egress point on that path. Browser APIs can expose additional local-network signals in some circumstances, depending on browser policy and permissions.

The interpretation. Neither tool is malfunctioning. They are describing different points in the same path. There is no contradiction to resolve, and neither address is the “real” one; they are answers to different questions.

“Which address am I looking at?”

Four vantage points on the same connection, the address each one reports, and its scope.
Vantage pointReportsScope
Device interface (ipconfig / ip addr)192.168.1.34LAN only
Router WAN interface (router admin page)Provider-assigned addressDepends on provider architecture
Public egress (what leaves toward the Internet)Globally routable addressGlobal
Remote observer (a web server, an IP lookup page)The source address it receivedGlobal, for that path
Figure 3 — The four rows can all show different values on the same connection at the same moment, and that is normal.

08

Public IP vs router WAN IP

The address on your router’s WAN interface and the address a website sees are often the same, and sometimes not. When they differ, at least one more translation or routing layer exists between your router and the Internet.

Comparing the two is the useful diagnostic, and it is worth stating plainly that a public address observed from outside cannot tell you by itself what sits between you and the Internet. You need both data points.

For a meaningful comparison, compare the same address family on the same active connection, refresh both readings close together, and disable or account for VPNs, explicit proxies and other policy-routing paths that intentionally change egress.

Router WAN address compared with the externally observed address, and a reasonable interpretation of each combination.
Router WAN addressAddress seen by an external serviceReasonable interpretation
Public IPv4The same addressConsistent with a conventional single-NAT residential path
100.64.0.0/10A different public IPv4Strong indication of carrier-grade NAT (RFC 6598 shared space is used for exactly this)
RFC 1918 addressA different public IPv4An upstream private or NAT layer exists. That could be provider CGNAT, but it could also be a second router, a modem in gateway mode, a campus or building network, or another private transit segment. This observation alone does not prove a conventional CGNAT deployment.
Public IPv4A different public IPv4Several mechanisms produce this: upstream NAT, a VPN or proxy, multiple WAN links or policy routing, provider architecture, a secure web gateway or security intermediary, or simply a stale router UI. Needs more evidence to narrow down.

Resist collapsing these into verdicts. The middle two rows in particular are consistent with more than one architecture, and the honest reading of a private WAN address is “there is at least one more translation layer upstream,” not “you are behind CGNAT.”

09

CGNAT and the 100.64.0.0/10 shared range

What if my router does not have the public IPv4?

Then the translation to public addressing is happening somewhere upstream of your equipment. The common form is carrier-grade NAT, where the provider translates traffic from many subscribers through a pool of public IPv4 addresses.

CGNAT path

Private LAN Device 192.168.1.25
Translation boundary 1 Customer router
RFC 6598 shared space Provider address 100.64.x.x
Translation boundary 2 Carrier NAT
Shared among subscribers Public IPv4
Internet
Figure 4 — Two clearly distinct translation boundaries: the customer router, and the carrier NAT further upstream.

Where 100.64.0.0/10 fits

100.64.0.0/10 is Shared Address Space, defined in RFC 6598. It covers 100.64.0.0 through 100.127.255.255, and it exists specifically to number the segment between subscriber equipment and a provider’s carrier-grade NAT.

It is not RFC 1918 private space, and calling it “another private range” gets the architecture wrong. RFC 1918 space is meant for use inside a single administrative domain, where the operator controls both ends. Shared Address Space was defined precisely because reusing RFC 1918 on the provider side collides with the RFC 1918 addressing customers already run on their own LANs. It is a distinct allocation with a distinct purpose, and it is not globally routed either.

Finding a 100.64.x.x address on your router’s WAN interface while an external service reports a different public IPv4 is a strong clue that the connection runs through carrier NAT. It is a clue rather than proof — provider architectures vary, and shared space can appear in other upstream designs — but it is the clearest single indicator available from the customer side.

What CGNAT changes in practice

  • Inbound port forwarding usually stops working as expected. You can forward a port on your own router, but the carrier NAT above it has no mapping for it, so unsolicited inbound connections do not arrive.
  • One public IPv4 can serve many subscribers at once. The address is shared, sometimes among dozens or more depending on the port allocation scheme.
  • The public address alone no longer identifies a subscriber session. This matters for anyone reasoning about attribution. Identifying which subscriber sent a particular flow can require the public address plus the translated source port or assigned port block, the protocol, an accurate timestamp with a known timezone, and the provider’s own translation records. RFC 6302 covers why server-side logging should include source ports for this reason.
  • Some peer-to-peer and hosting use cases get harder, which is why some providers offer a public IPv4 or native IPv6 service on request or for a fee.

CGNAT is not inherently insecure or malicious. It is an IPv4 address-conservation architecture, adopted as globally available IPv4 space became scarce and the RIR free pools were exhausted while demand continued. It has real operational costs — state to maintain, logging obligations, inbound limitations — and those costs are a large part of why operators deploy IPv6.

One boundary on what tools can claim, including ours: an external service that only sees your public address cannot determine on its own whether you are behind CGNAT, and cannot identify an individual subscriber sharing a carrier-NAT address. The reliable diagnostic requires comparing the externally observed address with the address on your own WAN interface, which only you can read.

10

Public and private addressing in IPv6

IPv6 does not simply repeat the IPv4 pattern with longer addresses, and the differences are the point.

In a native IPv6 deployment, a residential connection typically receives a delegated prefix, and hosts inside the network configure globally routable addresses on their own interfaces. There is no need for many-to-one translation to conserve addresses, because the address space is large enough that conservation is not the constraint it is in IPv4.

The conclusion people jump to from there is wrong. Globally routable addressing does not mean unsolicited inbound traffic is permitted. Stateful firewalling still applies. Residential IPv6 customer-edge equipment commonly provides inbound filtering that blocks unsolicited flows while permitting return traffic for connections initiated from inside; that filtering is independent of address translation. The filtering function that people credited to NAT in IPv4 is still present; it is simply doing its job explicitly rather than as a side effect of translation.

NAT in IPv6

Stating “IPv6 doesn’t use NAT” overshoots. The accurate version is that traditional consumer-style many-to-one NAPT is generally unnecessary in native IPv6 addressing, because its primary purpose — address conservation — does not apply.

Translation mechanisms do exist in IPv6 environments. NPTv6 (RFC 6296) performs stateless one-to-one prefix translation, typically for multihoming or renumbering scenarios; it is a different mechanism from stateful NAPT and does not multiplex many hosts behind one address. IPv4/IPv6 transition technologies such as NAT64 also perform translation, by necessity. What IPv6 removes is the need for address-conserving port multiplexing, not the concept of translation.

And to close the loop on a claim that circulates widely: IPv6 does not require NAT for security. NAT was never the security mechanism. Stateful filtering was, and it is available in IPv6 without translation.

11

Address scopes, and why “all IPv6 is public” is false

IPv6 has several address scopes, and only one of them is the global Internet scope.

IPv6 address scopes, narrowest to widest

  • Link-localfe80::/10

    Valid on one link only

  • Unique localfc00::/7

    Local routing domains; not globally routed

  • Global unicast2000::/3

    Currently allocated for global unicast; globally routable, subject to policy

Figure 5 — IPv6 has narrower scopes below the global one; only global unicast is the globally routable scope.

Global unicast addresses are the globally routable scope. IANA’s currently assignable IPv6 Global Unicast Address space is 2000::/3, and most Internet-facing IPv6 addresses you encounter come from it. RFC 4291 defines the addressing architecture.

Unique local addresses (ULA) occupy fc00::/7, defined in RFC 4193. They are intended for local routing domains and are not normally routed on the global Internet. In practice, locally assigned ULAs use the fd00::/8 half of the block, with a pseudo-random global ID chosen so that independently generated prefixes are unlikely to collide when networks merge.

It is tempting to describe ULA as “the IPv6 version of RFC 1918,” and the local-addressing role is genuinely similar. The qualification matters, though: IPv6 hosts commonly hold a global address and a ULA at the same time, address selection rules govern which gets used, and ULA is not normally paired with many-to-one translation the way RFC 1918 is. The role rhymes; the operational model does not.

Link-local addresses occupy fe80::/10. They are valid only on the single link where they are configured, they are not routed anywhere, and they are fundamental to how IPv6 works — neighbor discovery, router advertisements and next-hop resolution all rely on them. An IPv6-enabled interface normally configures one. Link-local and ULA are frequently conflated, and they are not the same: link-local never leaves its link, while ULA can be routed within an organization.

One interface, several addresses

A single IPv6 interface commonly holds multiple addresses at once: a link-local address, one or more global addresses, possibly a ULA, and, depending on host policy, temporary addresses generated for privacy purposes and rotated over time. RFC 8981 specifies the temporary address extensions used with stateless address autoconfiguration.

The takeaway generalizes beyond IPv6: the idea that one device has one IP address is a simplification that stops being true almost immediately in practice. Multiple interfaces, multiple scopes, multiple simultaneous addresses per interface, and addresses that change on their own are all normal.

12

Public does not mean exposed; private does not mean secure

Two terminology problems, worth separating.

“Private” describes scope, and nothing else. A private address is not encrypted, anonymous, confidential, invisible or inherently secure. Traffic from a host at 192.168.1.25 is exactly as readable as traffic from any other host; whether it is encrypted depends on TLS or a VPN, not on the address. Within the LAN, that address is entirely visible to every other device on it.

“Public” does not mean personal information is published, and it does not mean the host is reachable. Do not write, and do not believe, that having a public IP exposes a device directly to the Internet. Public addressing makes global routing possible. Whether a given packet reaches a given service depends on:

  • stateful firewall rules at the network edge
  • host-based firewall policy
  • provider filtering of certain ports or protocols
  • cloud security groups and network ACLs
  • router access control lists
  • whether any service is actually listening on the port
  • routing policy, including whether the prefix is announced at all

A cloud instance with a global address and a deny-by-default security group is not “exposed” in any meaningful sense. A laptop behind a home router with an unnecessary port forward to an unpatched service is exposed despite holding a private address.

13

Is a private IP safer than a public IP?

Address scope and security policy are different dimensions, and treating one as a proxy for the other is how people end up with false confidence.

A host behind IPv4 NAT usually has no direct unsolicited inbound reachability from the Internet, and that does remove one class of attack. It does not make the host secure. Compromise routinely arrives through paths that NAT does nothing about: a user clicking a phishing link, a browser or application vulnerability triggered by outbound traffic, malware arriving in a download, an already-compromised device on the same LAN moving laterally, a port forward someone configured years ago and forgot, or an inbound VPN credential that leaked.

The reverse also holds. A public-addressed host with properly configured filtering, patched services and no unnecessary listeners can have tighter exposure control than a typical home network. What matters is policy, patching and attack surface, not which range the address came from.

14

Public/private vs static/dynamic

These are independent properties, and mixing them up produces sentences that sound authoritative and mean nothing. All four combinations are ordinary:

Four combinations of address scope (private/public) and assignment stability (static/dynamic), each with an ordinary example.
StaticDynamically assigned
PrivateA printer or server pinned to 192.168.1.10 by manual configuration or a DHCP reservationA phone that receives 192.168.1.34 from the router’s DHCP pool and may get a different address next week
PublicA hosted server or business connection with a fixed global addressA residential connection whose public address changes at reconnection or lease renewal

Whether an address is stable over time says nothing about its scope, and whether it is globally routable says nothing about its stability.

15

What changes when you use a VPN?

A VPN changes the path your traffic takes to the Internet, and therefore the address remote services observe. It does not change the addressing on your LAN.

With a typical client VPN on a laptop:

  • The laptop’s LAN address stays what it was, say 192.168.1.25. That underlay address remains configured and carries traffic toward the local gateway, including the tunnel itself; VPN policy may separately restrict direct access to other LAN destinations.
  • The VPN client adds a virtual interface with its own address, assigned by the VPN provider.
  • Traffic routed into the tunnel emerges at the provider’s exit server, and websites see that server’s address rather than your ISP-assigned one.

Saying a VPN “changes your private IP” is not right. It adds an interface and alters egress routing. Your private address remains private, remains local, and remains in use.

Split tunneling is the qualification to remember. When it is configured, only some traffic goes through the tunnel and the rest follows the normal path — which means some connections can still reveal the original egress address. The same happens with DNS requests that bypass the tunnel, or when IPv6 traffic uses a different path than IPv4. Our VPN leak test checks whether what you expect to be tunneled actually is.

16

Mobile networks

Mobile IPv4 is frequently delivered through shared addressing, with the handset receiving an address from RFC 6598 shared space or RFC 1918 space and the carrier translating to public IPv4. That pattern is common, but it is not universal, and it varies by carrier, country and plan.

IPv6 deployment is widespread in mobile networks — in several large carriers it is the primary addressing, with IPv4 provided through translation mechanisms rather than the other way around. So a phone might well hold a globally routable IPv6 address and a shared IPv4 path at the same time. Blanket statements in either direction (“all mobile users are behind CGNAT,” “mobile is all IPv6 now”) are wrong more often than they are right.

17

Public IP addresses, location and identity

A public IP address can be used as input to an IP geolocation database, which returns an estimate — typically country-level with reasonable accuracy, and progressively less reliable as the claimed precision increases. That estimate reflects registry data, operator-published information and inference, not measurement of a device’s position. It is not GPS, and it should not be read as a street address.

A private address has no globally meaningful location at all. 192.168.1.20 exists in a vast number of unrelated networks, so there is nothing to geolocate. A public IP-geolocation database cannot derive a globally meaningful location from an RFC 1918 address alone. An organization can maintain its own internal address-to-site mapping, but that is private network inventory rather than public IP geolocation.

Our IP geolocation guide covers how these estimates are produced, and why IP locations are often wrong covers the failure modes — VPNs, provider architecture, registry data that describes a headquarters rather than a customer, and shared addressing.

On identity: a public IP address is a network identifier associated with a connection along a particular path at a particular time. It does not contain a name. Under shared NAT or CGNAT, many devices and many subscribers can present the same public IPv4 simultaneously, so even mapping an address to a single subscriber line requires the operator’s translation records plus precise connection metadata. Treating an IP address as equivalent to a person is a mistake at the technical level, before any other consideration enters.

18

How to tell whether an IP address is public or private

Five steps, in order. The interpretation in step five is the part that gets skipped.

  1. Read the address on the interface. On Windows, ipconfig. On macOS or Linux, ifconfig or ip addr. Note which interface is actually carrying your traffic — laptops commonly have Wi-Fi, Ethernet and virtual adapters configured at once, and a VPN adds another.
  2. Compare it against the reserved ranges. Check it against Table 3 below. If it falls in 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16, it is RFC 1918 private. If it starts 169.254, DHCP probably failed. If it is IPv6 starting fe80, that is link-local. If it starts fd, that is a locally assigned ULA.
  3. Check the router’s WAN address if you have access to the admin interface. This is the address your provider assigned to your equipment, and it is the data point most people never look at.
  4. Check what an external service sees. An IP lookup reports the source address arriving at the server for that request path, which is the externally observed egress address for that connection.
  5. Interpret the comparison. Match what you found against the diagnostic table in the router WAN section above. Equal addresses in steps three and four suggest a straightforward single-NAT path. A 100.64.x.x WAN address with a different external address points strongly at carrier NAT. An RFC 1918 WAN address tells you an upstream translation layer exists without specifying which kind. Differing public addresses have several possible explanations and need more evidence.

Special-use address quick reference

Special-use address ranges, their purpose, whether they are routed on the public Internet, and typical use.
RangePurposeRouted on the public Internet?Typical use
10.0.0.0/8Private-use IPv4 (RFC 1918)NoEnterprise, data center, VPN pools, provider internal networks
172.16.0.0/12Private-use IPv4 (RFC 1918)NoEnterprise, virtualization and container networking
192.168.0.0/16Private-use IPv4 (RFC 1918)NoHome and small office LANs
100.64.0.0/10Shared Address Space (RFC 6598)NoBetween subscriber CPE and provider carrier-grade NAT
127.0.0.0/8IPv4 loopbackNoTraffic to the host itself; 127.0.0.1 as localhost
169.254.0.0/16IPv4 link-local (RFC 3927)NoSelf-assigned address when DHCP does not respond
192.0.2.0/24Documentation (RFC 5737)Reserved for documentation and examples — should not be treated as a real public hostStandards documents, teaching material, article examples
198.51.100.0/24Documentation (RFC 5737)Reserved for documentation and examplesAs above
203.0.113.0/24Documentation (RFC 5737)Reserved for documentation and examplesAs above
fc00::/7IPv6 unique local addresses (RFC 4193)No — not normally routed globallyLocal routing domains; locally assigned ULAs use fd00::/8
fe80::/10IPv6 link-local (RFC 4291)No — valid on one link onlyNeighbor discovery, router advertisements, next-hop addressing
::1/128IPv6 loopback (RFC 4291)NoTraffic to the host itself
2001:db8::/32IPv6 documentation prefix (RFC 3849)Reserved for documentation and examplesStandards documents, teaching material, article examples

Two notes on reading that table. Loopback addresses are neither private LAN addresses nor public Internet addresses; they are a separate category, addressing the host to itself and never appearing on a wire. And 169.254.0.0/16 is IPv4 link-local, not RFC 1918 private space — a distinction that matters because the two have completely different causes. Seeing a 169.254 address on your interface is a symptom, and the usual cause is that DHCP did not answer.

The authoritative lists are the IANA IPv4 and IPv6 Special-Purpose Address Registries, which are updated as new reservations are made.

Run the comparison yourself

Check the public address, ASN and routing context an external service actually sees for your connection, and compare it against your router’s WAN address.

Open IP Lookup

19

Common misconceptions

“192.168.x.x is my Internet IP.”

It is your LAN address. Remote services never see it, and it could not route back to you if they did.

“Any 172.x.x.x address is private.”

Only 172.16.0.0/12 — the second octet from 16 through 31. 172.15.x.x and 172.32.x.x are ordinary global unicast space.

“100.64.x.x is an RFC 1918 private range.”

It is RFC 6598 Shared Address Space, defined separately and for a different purpose: numbering the segment between customer equipment and a provider’s carrier NAT. Not globally routed, but not RFC 1918 either.

“Private IP means my traffic is encrypted.”

Address scope has no relationship to encryption. Encryption comes from TLS, a VPN or an application protocol.

“A public IP means my computer is directly exposed.”

Public addressing makes global routing possible. Firewall rules, provider filtering, host policy and whether anything is listening decide actual reachability.

“NAT is the same thing as a firewall.”

Two mechanisms. NAT rewrites headers; a firewall enforces policy. Consumer routers bundle them, which is where the confusion comes from.

“One device always has one IP address.”

A single interface can hold a link-local address, a global address, a ULA and rotating temporary addresses at the same time — and that is before counting additional physical and virtual interfaces.

“All IPv6 addresses are public.”

IPv6 has multiple scopes. Link-local (fe80::/10) and unique local (fc00::/7) are not globally routed.

“IPv6 needs NAT for security.”

Security came from stateful filtering, not translation. IPv6 firewalls do that job without NAPT.

“A public IP tells you exactly where someone lives.”

It supports a geolocation estimate of varying accuracy, and it does not identify a person or a household. Under shared addressing it may not even identify a single subscriber.

20

Common questions

What is the difference between a public and a private IP address?

Scope and routability. A private address is used inside a private routing domain and is not intended for global Internet routing. A public address comes from globally routable space and is intended for Internet communication, subject to routing and filtering. In a typical home IPv4 setup, devices use private addresses and one public address represents the connection outward.

Is 192.168.1.1 a public or private IP address?

Private. It falls inside 192.168.0.0/16, one of the three RFC 1918 ranges, and it is the default LAN gateway address on many consumer routers. Millions of networks use it simultaneously.

Is 10.0.0.1 a private IP address?

Yes. 10.0.0.0/8 is RFC 1918 private space. Because the block is large, it is common in enterprise networks, data centers and VPN address pools, as well as some consumer routers.

Is 172.16.0.1 private?

Yes. 172.16.0.1 sits at the start of 172.16.0.0/12, which runs to 172.31.255.255. But the private block does not cover all of 172.0.0.0/8 — 172.15.x.x and 172.32.x.x are outside it.

Is 100.64.0.1 a private IP address?

It is not routed on the public Internet, but it is not RFC 1918 private space either. 100.64.0.0/10 is Shared Address Space from RFC 6598, used between subscriber equipment and provider carrier-grade NAT. If it appears on your router’s WAN interface, that is a strong hint your connection goes through carrier NAT.

Can two devices have the same private IP address?

Not on the same network segment — that produces an address conflict. Across separate networks, absolutely. The same private address exists in a vast number of unrelated networks at once, because private ranges only need to be unique within the routing domain that uses them.

Can a private IP address access the Internet?

Yes. In the common IPv4 case, a gateway translates, proxies or tunnels the traffic toward the Internet. The RFC 1918 address does not appear as the globally routed outer source address; remote systems normally see the translated or proxy egress address. This is why a device at 192.168.1.20 can browse normally without holding a globally routable IPv4 address on its own interface.

Does having a public IP address mean my device is exposed?

No. It means global routing to that address is possible. Whether anything reaches a service depends on firewall rules, provider filtering, host policy and whether a service is listening at all. A well-filtered public-addressed host can be less exposed than a home network with an old port forward.

Does IPv6 have private addresses?

It has multiple non-global scopes. Unique local addresses (fc00::/7, in practice fd00::/8 for locally assigned prefixes) fill a local-addressing role. Link-local addresses (fe80::/10) work on a single link only. Global unicast addresses are the globally routable scope, and an interface often holds several of these types at once.

Why is my router’s IP address different from my public IP address?

Either you are reading the router’s LAN address, which is private by definition, or the router’s WAN address genuinely differs from what the Internet sees — which means another translation or routing layer sits upstream. Carrier-grade NAT is the most common cause on residential connections, but a VPN, a second router, a proxy or a multi-WAN setup can produce the same result.

21

Technical references