Why your IP address shows the wrong city
You looked up your own IP address, and it says you are in a city two hundred kilometres away. Nothing is broken. This is the most common question any geolocation provider gets, and the answer says something useful about how the internet is actually put together.
Your IP address does not belong to you
The address you are using right now belongs to your internet provider. They were allocated a block of addresses by a Regional Internet Registry — APNIC in the Asia-Pacific, ARIN in North America, RIPE NCC in Europe — and they hand out addresses from that block to customers.
Geolocation databases record where a block is used. They cannot record where you are, because nobody told them and there is no mechanism that could. When you look up your address, you are asking "where does this provider say this range of addresses is used", and getting an honest answer to that question rather than the question you meant.
The four things that usually explain it
Your provider aggregates at a regional hub
Most ISPs do not assign addresses geographically at street level. They allocate per region, and route that whole region through a small number of points of presence. If your provider terminates an entire state's traffic in the capital city, then as far as the routing table is concerned, that is where you are.
This is why moving house within the same city — sometimes within the same state — usually does not change your apparent location at all.
You are on a mobile network
Mobile carriers route subscriber traffic through a relatively small number of gateways. Your handset may be in a regional town while your traffic egresses in a capital city several hundred kilometres away. The database is not wrong about the gateway; the gateway is simply not where you are.
Mobile is the single largest source of "wrong city" reports, and there is no fix for it at the IP layer.
You are behind a VPN, proxy, or corporate network
If you are on a VPN, the location reported is the VPN's exit point — which is the entire purpose of a VPN. Corporate networks behave similarly: traffic often egresses through a head office or a central firewall regardless of which building you are sitting in.
CGNAT — you are sharing an address
IPv4 addresses ran out. Many providers now place multiple customers behind a single public address using carrier-grade NAT. When hundreds of subscribers across a region share one address, that address cannot meaningfully be located more precisely than the region.
How to tell how wrong it might be
Every lookup here returns an accuracyRadius in kilometres, and it is the field
that answers this question directly:
{
"location": {
"latitude": -33.8688,
"longitude": 151.2093,
"accuracyRadius": 200
}
}
A radius of 200 km is the database telling you, openly, that the coordinates are a regional centroid and not a position. A radius of 5 km in a dense urban area is a genuinely useful signal.
Most tools that report your location never show you this number, which is why the result looks more confident than it is. Check it before you conclude the answer is wrong — often the answer already told you it was approximate.
Can you correct it?
Not directly, and be sceptical of anyone offering to. There is no central registry where an individual can register their address's location.
What does exist is RFC 8805, a format for network operators to publish a geofeed — a public list mapping their own prefixes to locations. If you run the network, publishing a geofeed is the correct way to correct the record, and the major data providers consume them. If you are a residential customer, this is your ISP's job, not yours.
Reporting a correction to a geolocation provider directly sometimes works, but what you are really reporting is that your ISP's published data is stale.
What this means if you are building something
Do not treat a city mismatch as a fraud signal on its own. Mobile users, VPN users, and anyone on a regionally aggregated ISP will all trip it. You will generate false positives against a large share of entirely legitimate people.
Do not silently lock behaviour to the detected city. Default to it if useful, then let people change it. An unchangeable wrong guess is worse than no guess.
Country-level is a different story — that is reliable, above 99%, and you can build on it. The detail is where confidence should drop.
You can check the accuracy radius on your own connection from the homepage, or on any address through the API — no key needed for 45 requests a minute. If you want to understand the limits more fully, the longer piece on how accurate IP geolocation really is covers where the data comes from.
More on geolocation
How accurate is IP geolocation, really?
Country-level accuracy is above 99%. City-level is a different story, and the number that matters is the one most APIs never return.