A live badge for any address, or for the visitor's own address when you leave the
address out. No JavaScript, no tracking — it is one <img>
tag. A badge for a named address is cached 10 minutes; the visitor's-own variant
is sent no-store on purpose, because a shared cache handing one
visitor's address to the next is exactly the bug it used to have.
There is no other embeddable widget, and that is a design decision rather than a missing feature. A "how many people visited" widget would need this site to keep a running count of traffic, and it does not: there is no aggregate visitor counter anywhere on the server, so any number such a widget showed would be invented. What can be embedded honestly is what the request itself can see, and that is the badge. There are exactly two URLs, and they show different things:
https://ipmap.info/badge.svg — the address of whoever is
viewing the page, with its country and continent colour. It is
sent private, no-store, so each visitor sees their own address and
no shared cache can hand one visitor's address to another.https://ipmap.info/badge/<address>.svg — a fixed
address you name in the URL, the same for every viewer, cached for ten minutes.
An address the database does not know renders a placeholder rather than an
error, so an <img> never breaks.<a href="https://ipmap.info/"><img src="https://ipmap.info/badge.svg" alt="My IP address"></a>
<a href="https://ipmap.info/ip/8.8.8.8.html"><img src="https://ipmap.info/badge/8.8.8.8.svg" alt="8.8.8.8 location"></a>
The visitor's address, or the address in the path, with the country and its
country code. The colour follows the continent, so a dashboard of badges reads at
a glance. The address in the path has to be one our database knows: anything else
renders a placeholder rather than an error, so an <img> never
breaks.
More tools: all network tools · DNS records · HTTP headers · TLS certificate · API · badge · ad & analytics checker · traceroute globe.