Network, broadcast, usable hosts, masks and binary forms for an IPv4 address with a prefix or mask. IPv6 is not supported.
Enter an IPv4 address with a prefix length, such as 192.168.1.10/24, or enter the address alone and put the mask in the second box as a prefix (24 or /24) or as a dotted mask (255.255.255.0). A dotted mask must have all its 1 bits on the left, so 255.255.254.0 is accepted and 255.0.255.0 is not; a wildcard such as 0.0.0.255 is not read as a mask. Each address part is a decimal number from 0 to 255 without leading zeros, because some tools read 010 as octal. Giving both a /prefix and a mask shows a message under the mask box. IPv6 is not supported: an address with a colon is refused and the page says so.
The page treats the address as an unsigned 32-bit number. The mask is the top prefix bits set, the network address is the address AND the mask, the wildcard is the mask inverted, and the broadcast is the network OR the wildcard. The total number of addresses is 2 to the power of 32 minus the prefix. For 192.168.1.10/24 that gives network 192.168.1.0, broadcast 192.168.1.255, first host 192.168.1.1, last host 192.168.1.254 and 254 usable hosts. The how-it-was-worked-out box repeats the steps with your numbers, and the table shows the address, masks, network, broadcast and host range in dotted and binary form.
For /30 and shorter prefixes, usable hosts are the total minus two: the network address and the broadcast address are not given to hosts. A /31 has two addresses and, as RFC 3021 describes for point-to-point links, both are usable, so the page shows no broadcast address and lists the two addresses as first and last host. A /32 is a single address: it is both the network and the only host, with one usable host. A /0 covers the whole IPv4 space, 4,294,967,296 addresses.
The historical class comes from the first octet only: A for 0 to 127, B for 128 to 191, C for 192 to 223, D for 224 to 239 (multicast) and E for 240 to 255 (reserved). Classes were replaced by CIDR in the 1990s and are shown for reference. The address type is looked up for the address you typed, not for the whole subnet, in a small table: 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 are private (RFC 1918), 100.64.0.0/10 is shared address space used for carrier-grade NAT (RFC 6598), 127.0.0.0/8 is loopback, 169.254.0.0/16 is link-local, 224.0.0.0/4 is multicast, 240.0.0.0/4 is reserved, and the protocol, documentation, benchmarking and deprecated 6to4 relay ranges of the IANA special-purpose registry are named, most specific first. Anything else is shown as not in a special-purpose block. That is not a promise that the address is routable or assigned to anyone.
254. A /24 has 256 addresses and two are reserved, the network address (.0) and the broadcast address (.255). A /25 has 126, a /26 has 62 and a /30 has 2.
The inverse of the subnet mask: 255.255.255.0 becomes 0.0.0.255. Router access lists in some systems use it, where a 0 bit means must match and a 1 bit means any. The page shows it next to the mask.
On a point-to-point link there is no need for a network or broadcast address, and RFC 3021 lets both addresses of a /31 be used by hosts. On an ordinary multi-host subnet this does not apply, so treat /31 as a link between two devices.
Shared address space reserved for carrier-grade NAT (RFC 6598). Internet providers use it between their customers and their NAT devices. It is neither a normal private range nor public, so the page names it separately.
No. The page does IPv4 only and says so if you type an IPv6 address. IPv6 prefixes are 128 bits long and subnets are not counted in hosts the same way.
A subnet mask is a run of 1 bits followed by 0 bits. 255.255.255.0 and 255.255.255.252 are valid; 255.0.255.0 and 0.0.0.255 are not. Use the prefix length if you are unsure.