Toolman

CIDR prefix lengths

Every IPv4 prefix length, its mask and how many hosts it holds. Use the subnet calculator to work out a specific network's range.

PrefixSubnet maskWildcardAddressesUsable
/00.0.0.0255.255.255.2554,294,967,2964,294,967,294
/1128.0.0.0127.255.255.2552,147,483,6482,147,483,646
/2192.0.0.063.255.255.2551,073,741,8241,073,741,822
/3224.0.0.031.255.255.255536,870,912536,870,910
/4240.0.0.015.255.255.255268,435,456268,435,454
/5248.0.0.07.255.255.255134,217,728134,217,726
/6252.0.0.03.255.255.25567,108,86467,108,862
/7254.0.0.01.255.255.25533,554,43233,554,430
/8255.0.0.00.255.255.25516,777,21616,777,214
/9255.128.0.00.127.255.2558,388,6088,388,606
/10255.192.0.00.63.255.2554,194,3044,194,302
/11255.224.0.00.31.255.2552,097,1522,097,150
/12255.240.0.00.15.255.2551,048,5761,048,574
/13255.248.0.00.7.255.255524,288524,286
/14255.252.0.00.3.255.255262,144262,142
/15255.254.0.00.1.255.255131,072131,070
/16255.255.0.00.0.255.25565,53665,534
/17255.255.128.00.0.127.25532,76832,766
/18255.255.192.00.0.63.25516,38416,382
/19255.255.224.00.0.31.2558,1928,190
/20255.255.240.00.0.15.2554,0964,094
/21255.255.248.00.0.7.2552,0482,046
/22255.255.252.00.0.3.2551,0241,022
/23255.255.254.00.0.1.255512510
/24255.255.255.00.0.0.255256254
/25255.255.255.1280.0.0.127128126
/26255.255.255.1920.0.0.636462
/27255.255.255.2240.0.0.313230
/28255.255.255.2400.0.0.151614
/29255.255.255.2480.0.0.786
/30255.255.255.2520.0.0.342
/31255.255.255.2540.0.0.122
/32255.255.255.2550.0.0.011

Reading a prefix length

An IPv4 address is 32 bits. The prefix says how many of the leading bits identify the network; whatever is left identifies a host inside it. The counter-intuitive part is that a smaller number means a larger network, because fewer network bits leaves more host bits. A /16 is 256 times the size of a /24.

Every step of one bit doubles or halves the network, which is why subnet sizes are always powers of two. There is no way to allocate a network of exactly 300 addresses: you take a /23, which holds 512, and leave the remainder unused.

The two lost addresses

In any subnet of /30 or larger, two addresses cannot be assigned to a machine. The lowest — all host bits zero — is the network address and names the subnet itself. The highest — all host bits one — is the broadcast address. A /24 therefore holds 256 addresses but only 254 hosts.

The waste is negligible at /16 and severe at /30, where half the block is lost. That is exactly why /31 exists: RFC 3021 removes the broadcast address on point-to-point links, making both addresses usable and halving the waste on router-to-router connections.

The sizes you will actually meet

PrefixUsableTypical use
/816,777,21410.0.0.0/8, the largest private range, and the whole of loopback
/121,048,574172.16.0.0/12 — note it ends at 172.31
/1665,534192.168.0.0/16, and a common size for a whole cloud VPC
/204,094A generous cloud subnet
/24254One VLAN, one office, one home network — the default almost everywhere
/2814A small public block or a DMZ
/302The traditional point-to-point link
/312The modern point-to-point link, with nothing wasted
/321A host route or a single-address firewall rule

Working out a mask without a calculator

Only nine values can appear in an octet of a subnet mask, because each is a run of leading ones:

BitsOctetBitsOctet
005248
11286252
21927254
32248255
4240

Divide the prefix by 8 to get the number of complete 255 octets, and the remainder picks the next octet from this table. A /26 is three complete octets and a remainder of 2, giving 255.255.255.192. If a mask contains any other number, it is wrong.