What is my IP — answered in your menu bar, not in a browser tab.
Both of your public addresses — IPv4 and IPv6 — with the flag, the city and your ISP below, each copyable in one click. Details adds ASN, timezone, latency and the datacenter you came in through. No API key, no account, and an eye that hides it all before you share your screen.
Already have Toolbox? Open this widget
Open the popover, and the answer is already there.
The widget asks when it becomes visible and when you press Refresh — and at no other time. There is no polling: a widget that pinged a server every thirty seconds to re-learn a number that changes once a week would be spending your battery to tell you something you already knew.
Both addresses sit on the main face, the IPv4 larger because it is the one people are asked for, and each has its own copy button. The copy always hands over the complete, real address — including when the eye is closed and the screen shows a mask. If your address is different from the last time you looked, it says so: useful when you are trying to work out whether the router reconnected.
- IPv4 and IPv6 together, each copyable on its own
- Queries on open and on demand — no background polling
- “Changed since the previous check”, computed before storing the new one
- Window mode at 440px, wide enough to read a full IPv6
- Lives in the Info tab
Everything the connection reveals, on one screen.
One tap on Details and the tile expands into the full record: both families, the ISP and its ASN, city, region, country and postal code, the timezone, the coordinates with a link to the map, the datacenter your connection entered through, the protocol and TLS version it negotiated, the latency measured on that request, and which service answered.
Two things it is honest about instead of guessing. The location is approximate — it is whatever your provider associates with the address, and it can be a long way off. And when a family was not probed, the row says “not checked” rather than “no IPv6”: not having asked is not the same as not having one, and a widget that blurs the two is teaching you something false about your own network.
- ASN and ISP, city / region / country / postal code
- Timezone, coordinates, and a map link that opens OpenStreetMap
- Datacenter, protocol and TLS version, round-trip latency
- “Not checked” instead of a fake “no IPv6”
- The map and the location disappear with the eye closed
Asking “what is my IP” means telling someone your IP.
There is no way around it: finding out how the internet sees you requires asking something on the internet. What you can choose is who. By default the widget asks our own endpoint — a Cloudflare Worker we run — which needs no API key and has no monthly quota, because the address comes from the connection header and everything else from data Cloudflare already computed for that request. If it does not answer, it tries ipwho.is, then ipify.org.
Picking one pins it. If you choose ipify — which returns the address and nothing else, no city, no ISP — the widget will not fall back to a third party behind your back when it fails. Falling back would be convenient and it would also undo the exact decision you just made, which is why it does not happen.
The rest is small and deliberate. The map link goes to OpenStreetMap, not to a company that already knows who you are. The agent action ships disabled, so nothing reads your IP on your behalf unless you say so. And the only thing kept on disk is the last address seen, so it can tell you it changed.
- Default: our endpoint — no API key, no quota, no account
- Fallback chain, unless you pin a provider on purpose
- ipify as the minimum-disclosure option: just the address
- Map opens OpenStreetMap · agent access off by default
- Stored locally: the previous IP, and nothing else
Same answer, without the tab and the ad break.
The web pages that answer this question work. They are also a browser tab you have to open, usually wrapped in ads and trackers that get to see the very address you came to look up, and they show you one family at a time — whichever your connection reached them by. Then you select the number with the mouse and hope you did not clip a digit.
This is the same answer, one click away in the menu bar, with both addresses and a copy button that cannot mis-select. It is also honest about what it does not do: no speed test, no local network diagnostics, no port scanning. If you need those, the web tools are still the right stop — this is for the ninety per cent of the time when the question really is just “what is my IP”.
- No tab, no ads, no third party watching the lookup
- Both families at once, each copyable in one click
- Tells you when your address changed
- Where it stops: speed tests, LAN diagnostics, port checks
Installed from the catalog, in one click.
My IP isn’t bundled into the app — it’s a widget in the Webstarted Toolbox catalog. Download Toolbox, open the catalog tab (🧰), press the “+” next to My IP, and it lands in your Info tab. No reinstall, no app update. Here are a few of its neighbors:
Questions, answered.
Why does it show two IP addresses?
Because which one you are asked for depends on who is asking. A firewall rule or a support agent almost always wants the IPv4; a hosting panel or a modern API may want the IPv6. Hiding one of them behind a button would mean an extra click half the time, so both live on the main face — the IPv4 larger, because it is the one requested most. Each is copyable on its own.
Why is my IPv6 cut off with an ellipsis?
Because it does not fit, and shrinking the font does not fix it: a full IPv6 is 39 characters, which measures about 305px, and the row in the popover is 253px wide — even at 11px it still overflows. So it truncates on purpose rather than wrapping onto a second line. You can always get the whole thing three ways: the copy button always carries the real, complete address, the row has it in a tooltip, and window mode is 440px wide precisely so it reads end to end. Addresses with zero groups are also compressed per RFC 5952, so 2001:4860:0007:0701:0000:0000:0000:00f2 shows as 2001:4860:7:701::f2.
Is the location exact?
No, and the widget says so next to it. What you get is the location your provider associates with that IP, which can be your neighbourhood or a city several hundred kilometres away, depending on how the ISP routes and registers its ranges. It is useful to confirm which country you appear to be in — after connecting to a VPN, for example — and it is not a way to locate anyone.
Can it show my local IP, gateway or DNS servers?
Not yet, and it is worth being precise about why. The old browser trick of reading the ICE candidates of an RTCPeerConnection is deliberately blocked in both engines the app uses: they return obfuscated mDNS candidates (a .local UUID) instead of the private address — that countermeasure exists for exactly this use. And the widget SDK does not expose network interfaces at all; it has HTTP requests and nothing else. Reading them needs a native capability on the app side, which is a known, planned piece of work rather than a limitation of this widget.
Where does the data come from, and do you keep my IP?
By default from our own endpoint, a Cloudflare Worker we run: the IP comes from the connection header and the rest — city, ASN, timezone, datacenter, TLS version — from data Cloudflare has already computed for the request, so there is no API key and no monthly quota. If it does not answer, the widget falls back to ipwho.is and then to ipify.org. On your side the widget stores only the last IP it saw, and only so it can tell you it changed since the previous check.
Can I choose which service it asks?
Yes, and choosing one pins it — it will not quietly fall back to the others. That is deliberate: if you picked ipify because you would rather not hand your location to anybody, silently asking a third party behind your back would betray exactly the choice you made. ipify returns only the IP, no location and no ISP, which makes it the "tell them as little as possible" option.
Can I hide it before a screen share?
That is what the eye is for. It masks everything but the first segment of the address, and with it the city, region, postal code and coordinates in the panel, plus the link to the map. It is visible by default — hiding it by default would fight the whole point of the widget — and the toggle is remembered. It exists because this thing lives in the menu bar, which means it is in every screenshot and on every shared desktop.
Can an AI agent read my IP through this?
Only if you turn it on. The widget does expose an agent action, but its manifest ships with MCP disabled, so it is opt-in — the same treatment the translator gets. An agent reading your public IP and your city should be an explicit decision, not something that comes free with installing a widget.
Does it work offline?
No, and nothing could: a public IP is what the internet sees when you connect, so with no connection there is nothing to ask about. What it does do is fail clearly — it tells you to check the connection instead of showing a stale address as if it were current. Once you are back, it refreshes when you open the popover.
Is it free?
Yes. Webstarted Toolbox is free and needs no account, and My IP is a free widget in its catalog — one click from inside the app installs it, with no app update needed.
Get Webstarted Toolbox
Free to use. Download the app, then add My IP from the catalog in one click. macOS 12+ and Windows 10+.
One icon, many small tools
This is just one of the widgets in Webstarted Toolbox. Here are the rest: