Type it however you have it. All of these work:
Divide the network above into smaller ones, or join them back. The whole plan is kept in this page address, so a bookmark or a pasted link brings it back exactly as you left it.
| Network | Mask | Range | Usable | Hosts | Label | Actions |
|---|
One segment per line, as name, hosts or just a number. Largest is placed first, which is what keeps the allocation free of gaps.
Turn a plain first and last address into the shortest list of prefixes that covers it exactly, and nothing outside it. Useful for a firewall rule or an allow list written as a range.
Paste prefixes, one per line. Overlapping and adjacent ones are merged into the smallest equivalent list.
Take one prefix and cut others out of it. This is the list a VPN wants when it should carry all traffic except your own networks, and the list a firewall wants when a range is banned apart from a few addresses.
| Prefix | Mask | Wildcard | Addresses | Usable hosts | Blocks in a /24 |
|---|
| Prefix | Addresses | Number of /64 networks | Usually |
|---|
| Range | What it is | Defined by |
|---|
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.