What Is My IP Address

The address this server sees your request coming from, with reverse DNS, and the forwarding headers shown separately because a client can set those itself.

This tool needs JavaScript: it asks the server what address your request came from.

Result

This is one of the few tools here that asks the server rather than your browser, because a browser cannot do it. Nothing you put in is stored; the request is rate limited by address and the answer is not cached.

Your address, as this server sees it. Not as a header claims it is: the number below is the source of the connection that carried your request, which is the only one the server can be sure of.

That distinction is the whole tool. Every “what is my IP” page reads X-Forwarded-For when it is there, and that header is set by whatever is in front of the site. On a site with nothing in front, it is set by whoever asked. Reporting it as your address is reporting a value the visitor chose.

How to use

Open the page. There is nothing to fill in: the lookup happens on arrival, because asking somebody to press a button to be told their own address is asking for nothing.

Tick the box to see the forwarding headers next to the connection address. That comparison is the useful part when you are debugging a proxy, a CDN or a load balancer.

Example

Your address                               203.0.113.7
Family                                     IPv4
Reverse DNS                                host-203-0-113-7.example.net

What this actually is
  seen by                                  this server, as the source of the connection
  not read from                            X-Forwarded-For or any other header a client can set

With the headers shown, a request through a CDN looks like this:

Forwarding headers, for comparison
  x-forwarded-for                          198.51.100.22  ← client-set, do not trust it
  cf-connecting-ip                         198.51.100.22  ← client-set, do not trust it

Both of those are the visitor’s real address when your CDN set them, and both are whatever somebody typed when it did not.

Pitfalls

An address identifies a connection, not a person. It changes when you move network, it is shared by everyone behind the same router, and on a mobile network it can be shared by thousands of people at once through carrier-grade NAT.

Never trust a forwarding header at face value. If you use one for rate limiting or for blocking, anybody can send X-Forwarded-For: 1.2.3.4 and wear somebody else’s reputation, or clear your counters. Only trust the header when the request came from a proxy you control, and take the right position in the list rather than the first one.

Geolocation from an address is a guess. City-level accuracy is common, street-level is not, and a corporate or mobile address often geolocates to wherever the operator’s equipment is rather than where you are.

A VPN moves the guess, it does not remove it. The site still sees an address; it is the VPN’s. Everything else that identifies a browser — fonts, screen size, timezone, cookies — is unchanged.

IPv6 addresses are per-device, and often per-hour. Privacy extensions rotate the last half of the address, so blocking or allowing a single IPv6 address rarely does what you meant. Work on the /64.

Your local address is not this one. 192.168.x.x is what your router gave you; the address here is what your router presents to the world. Both are yours, in different senses.

Compatibility

This is one of the handful of tools on this site that asks the server, because the address a request came from is the one thing a browser cannot see about itself.

The value is REMOTE_ADDR, the source of the TCP connection as the web server reports it. Proxy headers are read only when you ask to see them, and they are labelled as client-set when they are shown.

The endpoint is rate limited by address, 20 lookups a minute, with the counter keyed by a salted hash rather than the address itself: a rate-limit counter should not become a list of who visited. Nothing is logged by the tool and the response is sent with Cache-Control: no-store, since an answer that depends on who asked must never be cached by anything in between.

Frequently asked questions

Why does this differ from what another site tells me?
Usually because the other site is reading a forwarding header, or because you are on a network that uses several outbound addresses and you were sent through a different one.
Why is my address different in another browser?
It should not be, unless one of them is using a VPN, a proxy, or a privacy feature such as iCloud Private Relay, which routes through an intermediary.
Can a site work out who I am from this?
Not by itself. It places you approximately, it identifies a household or an office rather than a person, and it is one signal among many. Cookies and a logged-in account identify you far more precisely.
How do I hide it?
You cannot browse without one: it is the return address for the response. A VPN, Tor or a relay replaces it with somebody else’s, which shifts the question rather than answering it.
Do you store it?
No. It is read to answer the request and to count against the rate limit, and the counter holds a hash rather than the address.
Weekly drops

New tools, when there are new tools

One email when something worth using ships. No schedule to fill, so no filler.

Your address goes nowhere else, and one click unsubscribes.