~/allthedamn.tools

What Is My IP

Your public IP, what it reveals, and whether any address is public or private.

asks our server what IP this request came from
Checking this request…

Is an IP public or private?

Paste any IPv4 or IPv6 address. Classification happens in this browser.

Paste an IPv4 or IPv6 address to check it.

Common non-public ranges
RangeMeaning
10.0.0.0/8Private IPv4
172.16.0.0/12Private IPv4
192.168.0.0/16Private IPv4
100.64.0.0/10Carrier-grade NAT
fc00::/7IPv6 unique local
fe80::/10IPv6 link-local

From the command line

Plain text is the default on purpose. Ask for JSON when a script needs the network fields.

$ curl https://allthedamn.tools/api/ip
203.0.113.42
$ curl -H "Accept: application/json" https://allthedamn.tools/api/ip
{"ip":"203.0.113.42","family":"IPv4","asn":64500,"asOrg":"Example Network","country":"GB","city":"London","colo":"LHR"}
Looking for your local network IP?

A web page cannot reliably show it. Modern browsers hide local WebRTC candidates behind mDNS names such as device.local.

  • Windows: run ipconfig.
  • Linux: run ip addr.
  • macOS, iPhone, or iPad: open System Settings, then Wi-Fi.

This page asks our server what IP this request arrived from. The endpoint returns the address and Cloudflare's network fields for this response. This route does not store them or include them in application logs.

Which IP address this page shows

This page shows the public address that reached the server. On a home or office network, that is usually the router's public address rather than the private address assigned to one laptop or phone. Devices on the same Wi-Fi therefore often show the same public IPv4 address.

The answer is one connection, not a guess about every address your network owns. If this request arrived over IPv6, the page shows IPv6. If it arrived over IPv4, the page shows IPv4. Showing both reliably needs separate IPv4-only and IPv6-only hostnames, so this tool does not invent the missing half.

How to read an IPv6 address

IPv6 uses eight groups of hexadecimal digits, and a double colon compresses one run of zero groups. In a typical /64 network, the first 64 bits are the routing prefix and the last 64 bits identify an interface on that network. Prefix sizes can differ, so the slash length is the authority when one is supplied.

Modern devices often use temporary IPv6 interface identifiers for outbound connections. That can make the visible address change while the network prefix stays the same. A changing IPv6 address is therefore not, by itself, evidence that the connection moved to another provider.

Public, private, and the 100.x CGNAT range

Private IPv4 space is exactly 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16. Those addresses work inside local networks and are translated before traffic reaches the public internet. IPv6 unique local addresses use fc00::/7, while fe80::/10 is link-local to one network segment.

An address from 100.64.0.0/10 is carrier-grade NAT space under RFC 6598. It is not one of the RFC 1918 private ranges, but it is not publicly routable either. Mobile and broadband providers use it to place several customers behind another translation layer. Paste a 100.x address into the checker because many addresses outside 100.64 through 100.127 are ordinary public space.

What your IP reveals

An IP address can identify the network provider, autonomous system number, and an approximate routing region. It does not contain a street address, a person's name, or a reliable device identity. The city shown above is network-routing data and can be wrong, especially on mobile, corporate, satellite, and VPN connections.

The /api/ip endpoint returns the connecting address as plain text so it works cleanly with curl and shell scripts. Send an Accept: application/json header to receive the address family and Cloudflare's available network fields. Each response is uncached and this route does not store the address or write successful requests to application logs.

fair questions

Is my IP address public or private?
The IP shown by this website is the address that reached the public server. Private IPv4 addresses are in 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16. Paste any address into the checker above for the exact classification.
Why do I see an IPv6 address instead of IPv4?
A dual-stack network may prefer IPv6 for this connection. It can still have IPv4, but one request cannot reveal both addresses. Run curl -4 https://allthedamn.tools/api/ip to force an IPv4 request from the command line.
What does my IP address reveal?
It can reveal the network provider, AS number, and an approximate routing region. It does not reveal a street address or identify a person by itself.
Why does my IP start with 100.x?
If it falls from 100.64.0.0 through 100.127.255.255, it is carrier-grade NAT space under RFC 6598. Providers commonly use that shared, non-public range on mobile and broadband networks. Other 100.x addresses can be public, so check the full address.
How do I find my local network IP?
A web page cannot reliably read it because modern browsers obscure local WebRTC addresses with mDNS names. Run ipconfig on Windows, ip addr on Linux, or open the Wi-Fi details in System Settings on macOS, iPhone, or iPad.