StringMash.com

Subnet mask cheat sheet

Every prefix with its mask, wildcard and host count, on one printable sheet.

13 characters
Updates as you type
The binary working is below

Show the steps
Address10101100000100000000010100000100Mask11111111111111111111000000000000Network10101100000100000000000000000000Network bits: 20Host bits: 12
  1. /20 means the first 20 bits are the network and the last 12 pick a host.
  2. The address in binary: 10101100.00010000.00000101.00000100
  3. The mask in binary: 11111111.11111111.11110000.00000000 (20 ones, then zeros)
  4. AND them, bit by bit: 10101100.00010000.00000000.00000000 = 172.16.0.0, the network.
  5. Set every host bit to 1 for the broadcast: 10101100.00010000.00001111.11111111 = 172.16.15.255.
  6. 12 host bits give 2^12 = 4,096 addresses. Take away the network and broadcast addresses: 4,094 hosts.
Printable chart
/32 TO /0

Subnet mask cheat sheet

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

Reading the table

Each row is one prefix length. The subnet mask is the prefix written as four numbers; the wildcard mask is the same with every bit flipped. Addresses is 2 to the power of the host bits, and usable hosts takes away the network and broadcast addresses, except at /31 and /32, where there are none to take away. The highlighted rows, /8, /16, /24 and /30, are the ones that come up most.

Print chart puts the table on a page of its own, with a code linking back here. The calculator at the top works out the subnet for any address.

A shortcut for the masks

Within an octet, the mask values go 128, 192, 224, 240, 248, 252, 254 and 255, adding the next power of two each time: 128, then 128 + 64, then 128 + 64 + 32, and so on. A /20 is two full octets of 255 and then four more bits, 240: 255.255.240.0.

Questions

How do I print the cheat sheet?

Press Print chart above the table. It prints on its own, without the rest of the page.

Why does /31 have two usable hosts?

RFC 3021 allows both addresses of a /31 to be used as hosts on a point-to-point link, where there's no need for a network or broadcast address.