Type it however you have it. All of these work:

How to use it

Type what you have. An address with a prefix length is the usual form, and 10.0.0.0/24 works, but so does an address with a subnet mask beside it, an address with a wildcard mask, a first and last address with a dash between them, and an address followed by the number of hosts you need. IPv6 goes in the same box, compressed or written out in full, and a prefix that ends in :: is read correctly rather than refused.

Everything is worked out in your browser. Nothing you type is sent anywhere, there is no sign-up, and the page keeps working once it has loaded even with no connection. The address in your browser bar carries the result, so a bookmark or a pasted link brings back exactly what you were looking at, including a network you had divided up.

Usable hosts and total addresses are not the same number

This is where most disagreements between two calculators come from. A /24 holds 256 addresses. Two of them cannot be given to a host: the first is the network address and the last is the broadcast address, so 254 are usable. Both figures are shown above, side by side, because a firewall rule or a cloud console usually wants the total and a planning spreadsheet usually wants the usable count.

Two sizes break that rule, and a calculator that subtracts two from them is wrong. A /31 has two addresses and both are usable, because RFC 3021 removed the network and broadcast addresses for point to point links, which is what makes a /31 worth using between two routers. A /32 is one address and that address is the host. Neither has a broadcast address at all.

Cloud networks take more. AWS and Azure each reserve five addresses in every subnet, so a /24 there gives 251 usable rather than 254. The figure appears above whenever it applies.

IPv6 does not subtract anything

There is no broadcast address anywhere in IPv6, so nothing is taken off the count. Every address in a prefix is usable, and the first one in a /64 is the subnet router anycast address by convention rather than by subtraction. A /127 between two routers is the IPv6 equivalent of a /31 and is described in RFC 6164.

The counts here are exact. A /64 holds 18,446,744,073,709,551,616 addresses, and that is the figure shown, not a rounded one. Calculators that work in ordinary floating point numbers lose the last few digits of any IPv6 count above about nine quadrillion, which is every prefix shorter than a /75.

There are no address classes any more

You will not find a class A, B or C label above, because an address has not had a class since classless routing replaced the idea in 1993. A prefix length says everything a class used to, and says it for every size rather than three. The old rule that the first and last subnet of a network could not be used went at the same time, in RFC 1878. Both still turn up in certification material.

Questions

How do I work out a subnet from an address and a prefix length?

The prefix length is how many bits from the left belong to the network. The rest identify a host inside it. Put the address and the prefix in the box above and the network address, the mask, the first and last usable address and the host count all follow from that one split, which is shown bit by bit under Bits.

What is a wildcard mask and when do I need one?

It is a subnet mask with every bit flipped: a /24 has the mask 255.255.255.0 and the wildcard 0.0.0.255. Access lists on Cisco equipment are written with the wildcard rather than the mask. Paste either one next to an address above and it is recognised for what it is.

How do I turn a range of addresses into CIDR notation?

Use the Range and CIDR tab, or type the two addresses with a dash between them in the main box. A range that does not line up on a power of two boundary needs more than one prefix to cover it exactly, and the shortest list that does so is what you get, with nothing outside the range included.

How do I work out how many subnets I can make?

Dividing a /24 into /26 networks gives four of them, because two more bits have moved from the host part to the network part. The Split tab does this visually: divide a network, divide one of the halves again, and join any pair back together. The plan is kept in the page address, so it can be bookmarked or sent to somebody.

How do I size subnets for a list of segments of different sizes?

That is variable length subnet masking, and the Plan by host count tab does it. Give each segment a name and the number of hosts it needs. The largest is placed first, which is what keeps the allocation contiguous: placing a small segment first strands addresses that nothing large enough can then use.

Which prefix do I need for a given number of hosts?

Type the address and the host count, such as 10.40.50.60 #52. The answer names the prefix, the usable count it actually gives and how many spare addresses that leaves.

How do I get everything except a few networks, as a CIDR list?

The Exclude and compare tab. Start from 0.0.0.0/0, list the prefixes to leave out, and you get the shortest list of prefixes covering everything else. This is the list a VPN configuration wants when it should carry all traffic apart from your own networks.

Is 100.64.0.0/10 a public address range?

No. It is shared address space under RFC 6598, used between a carrier and its subscribers, and it is not a private range either. 169.254.0.0/16 is link local under RFC 3927 and is self assigned when no address could be obtained. Both are identified above, with every other reserved range, under What this range is.

What is the reverse DNS zone for a network?

It is shown above. An IPv4 network delegates cleanly only on an octet boundary, so a /8, a /16 or a /24 has a zone of its own and anything in between needs the classless delegation of RFC 2317. IPv6 delegates on any multiple of four bits, because each nibble is one label in ip6.arpa.

Copyright Havenswift Hosting 2007-2026. All rights reserved.