Overview

"Can you send me your public IP so I can add it to the firewall?"

My Public IP Address answers that question without opening a browser. The app lives in the notification area, next to the clock: hover the icon to see your public IP, click it to open the flyout and copy it.

Most importantly, it tells you as soon as the address changes. With several customer VPNs, some of which drop on their own after sleep, it's the best way to know which IP you're going out from, right now.

Features

Just hover

The tooltip of the icon, next to the clock, shows your public IPv4 and IPv6.

One-click copy

A button to copy each address, in the flyout or the right-click menu, ready to send to the customer who needs to add it to their firewall.

Change alert

VPN dropping, network switch, new address from your ISP... Windows tells you, with the old and the new address.

History

Your latest public addresses and your local network address, in a Windows 11 style flyout.

Reliable

Several fallback services, strict parsing of their answers, IPv6 prefix comparison to ignore temporary addresses.

Privacy first

No account, no ads, no analytics. The history stays on your PC.

Screenshots

The flyout

The flyout

Public IP, local network and recent addresses

The change alert

The change alert

The old and the new address, with a copy button

The tooltip

The tooltip

IPv4 and IPv6 when hovering the icon

The menu

The menu

Copy, refresh, start with Windows, notifications

Under the hood

All the logic (IP lookup, refresh, history, change detection) lives in a library with no dependency on Windows, fully tested with xUnit. The WinUI 3 app is just a thin layer on top. The .NET runtime is bundled and trimmed: about 8 MB per architecture (x86, x64 and ARM64).

The tricky cases (services going down, networks changing in bursts, IPv6 moving on its own, the icon vanishing after an update) are told in a blog post.

Technologies

WinUI 3.NET 10C#MSIXCommunityToolkit.MvvmxUnit
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.