Browser Info & Diagnostics

See everything your browser reveals: IP address, WebRTC local IP leak, screen resolution, hardware specs, and browser capabilities. Test your speakers and keyboard.

IP Address
Checking…
Browser
Operating System
Screen

Everything on this page is read locally in your browser. The only network request is a lookup of your public IP against this site's own /api/ip endpoint. Nothing is logged or stored.

Identity
User-Agent
Browser
Rendering engine
Operating system
Platform
Languages
Timezone
Do Not Track
Network
Public IP
WebRTC local IP
WebRTC public IP
Probing WebRTC ICE candidates…
Display
Screen resolution
Available resolution
Viewport size
Device pixel ratio
Color depth
Orientation
Viewport, pixel ratio and orientation update live as you resize or rotate.
Hardware
CPU cores
Device memory
Max touch points
Connection type
Downlink
Round-trip time
Device memory is reported by the browser in coarse buckets (0.25, 0.5, 1, 2, 4, 8 GB) and is approximate. Firefox and Safari do not implement it at all.
Browser Capabilities
A supported API is not the same as a permitted one. Geolocation, notifications and clipboard access all still require an explicit user grant at the moment you call them.
Speaker Test

Plays a 440 Hz sine tone (concert A) for 0.8 seconds through your default audio output.

Keyboard Test

Press any key to test your keyboard. Keys light up green as they register. Type test and confirm all four letters light up. A key that never highlights is not reaching the browser at all, which points at hardware, the OS layout, or a driver rather than at this page.

0 keys registered
Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
Bksp
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Enter
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Ctrl
Meta
Alt
Space
Alt
Meta
Ctrl
Key
code
keyCode
Modifiers
Repeat
Keys not drawn above (numpad, media keys, international keys) still register in the details panel even though there is no cap to highlight.
FAQ
What is a WebRTC IP leak?

WebRTC is the browser API behind video calls and peer-to-peer connections. To set up a direct connection it collects ICE candidates, which include your device's real network addresses, and any script on the page can read them. Because this happens inside the browser rather than over the proxied HTTP connection, a VPN or SOCKS proxy does not necessarily hide it: the page can end up seeing your LAN address (192.168.x.x, 10.x.x.x) and, if a STUN server is reachable outside the tunnel, your real public IP as well. Chrome and Edge now obfuscate host candidates with random mDNS .local hostnames by default, so most Chromium users show no LAN address. To lock it down further, use a VPN client that forces all traffic including UDP through the tunnel, set media.peerconnection.enabled to false in about:config on Firefox, or install an extension such as uBlock Origin and enable its WebRTC leak prevention setting. Disabling WebRTC entirely will break video calling in the browser.

Why does my browser show my local IP address?

Your local IP is the address your router handed your device on the private network, usually something like 192.168.1.42 or 10.0.0.15. It is not routable on the internet and by itself it does not identify you, but it does tell a site how your home or office network is laid out and it can be combined with other signals to fingerprint you. It becomes visible because WebRTC needs candidate addresses to negotiate a peer-to-peer connection, and the browser exposes them to JavaScript on the page. If this tool shows a LAN address, any site you visit can read the same value.

How can I test if my VPN is leaking my IP?

First note the public IP shown on this page with the VPN off. Turn the VPN on, hard-reload the page, and compare. The public IP should now be the VPN endpoint and it should not match your real one. Then check the WebRTC rows: if the WebRTC public IP differs from the public IP reported by the server, traffic is escaping the tunnel and that is a genuine leak. Also confirm your DNS queries go through the VPN, since DNS leaks are more common than WebRTC leaks, and re-test after your device sleeps or switches networks because that is when tunnels silently drop. A LAN address showing up on its own is expected browser behavior, not proof that the VPN failed.

What does device pixel ratio mean?

Device pixel ratio (DPR) is the number of physical screen pixels per CSS pixel. A DPR of 1 means a 100px CSS box occupies 100 physical pixels; a DPR of 2, typical of Apple Retina displays and most modern phones, means the same box occupies 200 physical pixels in each direction. It matters because raster images need roughly DPR times the nominal resolution to look sharp, which is what srcset and 2x/3x asset exports exist for. DPR is also not fixed: it changes when you zoom the page or drag the window to a different monitor, so read it at the moment you need it rather than caching it at load.