Detect your network NAT type accurately using WebRTC ICE candidate analysis
NAT (Network Address Translation) is a networking technique that maps private IP addresses to public IP addresses. Due to limited IPv4 address space, most home and enterprise networks sit behind a NAT device (router), sharing one or a few public IPs to access the internet.
NAT type directly affects the ability of devices to communicate with each other, especially for peer-to-peer (P2P) connections, real-time audio/video calls, online gaming, and other applications that require low latency and direct connections. Understanding your NAT type helps diagnose network issues and optimize network configuration.
Full Cone NAT is the most open type. When an internal device initiates an outbound connection, the NAT assigns a fixed external IP:Port mapping. Any external host can send data to the internal device through this fixed mapping without needing the device to contact them first.
Use cases: Online gaming, video calls, P2P file sharing, BitTorrent — applications requiring high connectivity.
Restricted Cone NAT assigns the same fixed external mapping as Full Cone, but restricts inbound packets: only accepts data from external IPs that the internal device has previously communicated with, regardless of port.
Use cases: VoIP calls, online gaming, some P2P applications (hole punching may be needed).
Port Restricted Cone NAT goes further than Restricted Cone: it restricts not only the external IP but also the port. Only the exact external IP:Port combinations that the internal device has previously communicated with can send data inbound.
Use cases: WebRTC calls, apps requiring TURN relay, some VPN scenarios.
Symmetric NAT is the strictest type. Unlike the other three, it assigns a different external IP:Port mapping for each unique destination address and port. This means the same internal device uses different external ports when communicating with different servers.
Use cases: Enterprise firewalls, Carrier-Grade NAT (CGNAT), high-security network environments. TURN server required for WebRTC.
This tool uses the ICE (Interactive Connectivity Establishment) protocol of WebRTC to detect NAT type. When establishing a peer-to-peer connection, WebRTC collects various ICE candidates:
By making requests to multiple different STUN servers and comparing whether the returned external mapped addresses are consistent, we can determine if the NAT is symmetric (port changes per destination). Combined with whether external mapping is obtained, we can infer the NAT type.
Click the button below. The tool will automatically detect your NAT type using WebRTC technology. The detection takes about 10-20 seconds.