Subnet IP Enumerator & CIDR Calculator

Paste a CIDR, an IP with subnet mask, or an explicit range. Get the network summary, every address in the subnet, plus splitter, aggregator and containment helpers — for IPv4 and IPv6.

How CIDR notation works

CIDR (Classless Inter-Domain Routing) replaced the old class-based IPv4 scheme in the 1990s and is now the way every router, firewall, cloud VPC and Kubernetes networking model describes an address block. The notation a.b.c.d/N means "the address a.b.c.d with the first N bits fixed as the network identifier and the remaining 32 − N bits available for hosts". A /24 therefore reserves 24 network bits and 8 host bits, giving 256 total addresses and 254 usable hosts after you remove the network and broadcast.

Worked IPv4 examples

CIDRMaskTotalUsable hostsTypical use
/30255.255.255.25242Point-to-point WAN link
/29255.255.255.24886Tiny DMZ, small router LAN
/27255.255.255.2243230Small office subnet
/24255.255.255.0256254Default home/office LAN
/23255.255.254.0512510Medium office, VLAN per floor
/16255.255.0.065,53665,534Large campus, AWS VPC default

Reserved & private ranges to recognise

IPv6 differences worth remembering

IPv6 removes the concept of a broadcast address and uses well-known multicast groups instead, so this tool reports the broadcast field as not applicable for any v6 input. Subnets are typically allocated in much larger sizes: /64 is the standard LAN, /56 a small site, and /48 a full customer allocation. Because a single /64 contains 18 quintillion addresses, enumerating one is meaningless — that is why the enumerator caps "Show all" at 65,536 addresses (equivalent to a /112). For real network design you read v6 summaries, you don't list IPs.

The /31 and /32 special cases

A /32 represents a single host route — common in BGP loopback advertisements and Kubernetes service IPs. A /30 traditionally provides two usable hosts on a point-to-point link. RFC 3021 added /31 as a more efficient point-to-point block where both addresses are usable, saving address space on WAN circuits. This tool follows RFC 3021, so a /31 reports two usable hosts rather than zero.

Common mistakes

  1. Treating the broadcast as usable. In a classic IPv4 subnet (/30 through /24) the network address and broadcast must not be assigned to hosts. Use the "Include network & broadcast" toggle to see them in the list when you want to verify the boundary.
  2. Forgetting host bits must be zero. 192.168.1.55/24 is a host in the 192.168.1.0/24 network — the calculator normalises it for you and shows a warning, but route configurations expect the network form.
  3. Mixing dotted-decimal and CIDR. A mask of 255.255.255.0 equals /24; learn the common pairs by heart (/24=…255.0, /25=…128, /26=…192, /27=…224, /28=…240).
  4. Trying to enumerate huge subnets. A /8 has 16 million addresses. Enumeration is the wrong tool — use the summary, then split into smaller children if you actually need addressable ranges.
  5. Overlapping VPC ranges. If two cloud VPCs you want to peer share any address bits, peering will fail. Paste both CIDRs into the aggregator and check whether the smallest covering prefix is suspiciously small — that means they overlap.

Quick reference: prefix → mask → hosts

PrefixMaskTotalUsable
/32255.255.255.25511
/31255.255.255.25422 (RFC 3021)
/30255.255.255.25242
/29255.255.255.24886
/28255.255.255.2401614
/27255.255.255.2243230
/26255.255.255.1926462
/25255.255.255.128128126
/24255.255.255.0256254
/23255.255.254.0512510
/22255.255.252.01,0241,022
/16255.255.0.065,53665,534

Frequently Asked Questions

Three modes: a CIDR like 192.168.1.0/24 or 2001:db8::/126, an IPv4 address with dotted-decimal mask (192.168.1.0 + 255.255.255.0), or an explicit range like 10.0.0.5 - 10.0.0.40. Family is auto-detected.
Up to 65,536 addresses fit into the "Show all" view (equivalent to an IPv4 /16 or IPv6 /112). Beyond that the tool shows the summary plus a sample page. Split the subnet into children if you need to enumerate a slice.
RFC 5952 says the longest run of consecutive zero hextets in an IPv6 address should be replaced with :: for canonical display. The tool follows that rule, so 2001:0db8:0000:0000:0000:0000:0000:0001 becomes 2001:db8::1.
It divides the current subnet into equal-sized children. Choose either a target child prefix (e.g. split a /24 into /27s) or a target count (split a /24 into 4 subnets). Capped at 1,024 children to keep the page snappy.
It returns the smallest single CIDR that covers the entire address span of your input, even when there are gaps in the middle. That is useful for "what prefix should I advertise" questions but is not a strict route summariser — it will happily include unused space between inputs.
No. Parsing, math, enumeration and exports run entirely in your browser with BigInt arithmetic. Nothing is uploaded, logged or stored.