ICMP Type & Code Reference

Browse ICMP types and codes for ICMPv4 and ICMPv6 with descriptions.

Searchable ICMP message reference covering both ICMPv4 (RFC 792) and ICMPv6 (RFC 4443) type and code pairs, with diagnostic use cases for ping, traceroute, Path MTU Discovery and Neighbor Discovery. Bundled offline.

What ICMP type is a ping?

A ping uses ICMPv4 type 8 (Echo Request) and the reply is type 0 (Echo Reply). In IPv6 the equivalents are type 128 and type 129 respectively.

ICMP — the Internet Control Message Protocol — carries the diagnostic and error messages that make IP usable: ping, traceroute, “destination unreachable”, “packet too big” and IPv6 Neighbor Discovery all ride on it. Each message is identified by a type and, within many types, a code. This reference lets you search both the ICMPv4 (RFC 792) and ICMPv6 (RFC 4443) registries and explains what each pair means in practice.

How it works

An ICMP message header begins with an 8-bit type and an 8-bit code. The type names the broad message class (Echo Request, Destination Unreachable, Time Exceeded) and the code refines it (e.g. unreachable because of network, host, port or fragmentation-needed). ICMPv4 and ICMPv6 use overlapping numbers for different meanings, so the version always matters — type 3 is Destination Unreachable in IPv4 but Time Exceeded in IPv6.

Use the search box for a number or keyword and the version selector to scope results to the stack you are debugging.

Tips and examples

A few high-value pairs to recognise:

v4 type 8  / 0   Echo Request  (ping out)
v4 type 0  / 0   Echo Reply    (ping back)
v4 type 3  / 4   Frag needed, DF set -> Path MTU Discovery
v4 type 11 / 0   TTL exceeded  -> each traceroute hop
v6 type 2  / 0   Packet Too Big -> IPv6 PMTU (never filter)
v6 type 135/136  Neighbor Solicitation / Advertisement (ARP for IPv6)

When a connection works for small packets but stalls on large transfers, suspect a blocked type 3 code 4 (v4) or type 2 (v6) — a classic Path MTU black hole. When IPv6 autoconfiguration fails, check that Router Solicitation/Advertisement (types 133/134) and Neighbor Discovery (135/136) are permitted on the link.