IP Subnet Calculator
This IP subnet calculator displays comprehensive information about IPv4 networks (e.g., the number of usable hosts, IP ranges, etc.) and IP addresses (e.g., private or public, class, etc.). It's useful for designing networks, troubleshooting, and helping you pass your CompTIA Network+ exam.
In the following article, you can read more about CIDR notation and find out what a subnet mask is. Are you interested in administrating networks? You might find our chmod calculator useful, as it helps you understand and solve file permissions issues!
What is a subnet?
In an Internet Protocol (IP) network, part of the IP address represents the network, while the remainder represents the host (or computer on the network). The act of dividing the IP address is called subnetting. Routers use the network part to exchange data between subnets, and the host part to send data to an individual host. You can estimate how long it will take using the bandwidth calculator.
Note, that this IP subnet calculator is applicable to IPv4 networks, though it also shows the IPv4-mapped IPv6 address, and the 6to4 prefix address, used for transitioning to IPv6.
What is a subnet mask?
When designing a network, it's good practice to balance the network and host parts of the IP address, so as not to have too many (limits the number of networks you can route to) or too few hosts (limits the number of computers on the network). A subnet mask is used to create a subnet by allocating several bits in the 32-bit IP address to represent the network. The remaining bits of the IP address represent the host address.
The following table shows an example of an IP address (192.0.2.130
) being subnetted into a network address (192.0.2.128
) and a host address (0.0.0.2
), using a subnet mask of 255.255.255.192
. The calculation requires converting the to binary form. A logical AND
operation is performed between the IP address and the subnet mask to get the network prefix. You find the host part by flipping the bits of the subnet mask and performing the logical AND
operation again with the IP address.
Binary form | |
---|---|
IP address |
|
Subnet mask |
|
Network prefix |
|
Host part |
|
You may find the binary calculator useful if you're unfamiliar with binary operations or need a refresher.
CIDR notation
In the early days of the Internet, there were three different main subnet masks, using multiples of 8 bits of ones in the mask. They were named Class A, Class B, and Class C networks, as we show in this table:
Subnet mask | Number of usable hosts | |
---|---|---|
Class A |
| 16,777,214 |
Class B |
| 65,534 |
Class C |
| 254 |
The problem with this scheme is that the choice of the number of hosts per network is rather coarse, with large jumps in the number of hosts per network. The solution is Classless Inter-Domain Routing (CIDR), which eliminates the class model, and lets the network designer assign any number of bits to the network prefix, opening up a more extensive choice of the number of hosts per network.
The notation to indicate the number of bits in the network prefix is a forward-slash, followed by the number of bits. So, a Class A network would be written as /8
, as it uses the first 8 bits in the network mask. This table shows the CIDR notation and the number of usable hosts per subnet:
CIDR | Subnet mask | Number of usable hosts |
---|---|---|
/1 |
| 2,147,483,646 |
/2 |
| 1,073,741,822 |
/3 |
| 536,870,910 |
/4 |
| 268,435,454 |
/5 |
| 134,217,726 |
/6 |
| 67,108,862 |
/7 |
| 33,554,430 |
/8 |
| 16,777,214 |
/9 |
| 8,388,606 |
/10 |
| 4,194,302 |
/11 |
| 2,097,150 |
/12 |
| 1,048,574 |
/13 |
| 524,286 |
/14 |
| 262,142 |
/15 |
| 131,070 |
/16 |
| 65,534 |
/17 |
| 32,766 |
/18 |
| 16,382 |
/19 |
| 8,190 |
/20 |
| 4,094 |
/21 |
| 2,046 |
/22 |
| 1,022 |
/23 |
| 510 |
/24 |
| 254 |
/25 |
| 126 |
/26 |
| 62 |
/27 |
| 30 |
/28 |
| 14 |
/29 |
| 6 |
/30 |
| 2 |
/31 |
| 0 |
/32 |
| 0 |
Rather than looking up network properties in a table, use this IP address subnet calculator as a CIDR calculator to display the associated network properties.
How to calculate network and IP properties?
This IP subnet calculator shows you a multitude of network and IP address properties. Let's go through each one to briefly explain how to manually calculate them, linking to further resources for further information.
IP type – public or private?
There are two main types of IP address, public and private. Servers on the public Internet use public addresses, while local networks of computers (e.g., your home network) use private addresses. The following IP address ranges are
:10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
IP class
As well as the network class, IP addresses also historically belonged to classes. The range of IP addresses belonging to each class is
:- Class A:
0.0.0.0 - 127.255.255.255
- Class B:
128.0.0.0 - 191.255.255.255
- Class C:
192.0.0.0 - 223.255.255.255
- Class D:
224.0.0.0 - 239.255.255.255
- Class E:
240.0.0.0 - 255.255.255.255
Class D addresses are reserved for multicast traffic (one host sending the same data to many receiving hosts). Class E is reserved, meaning those addresses will not work on the public Internet.
Network address
The network IP address is the first address of the subnet. You calculate it by converting the IP address and subnet mask to binary and performing a bitwise AND
logical operation. A router uses this address to forward traffic to the correct network. It isn't possible to assign the network address to a host.
🙋 If you're curious how switching between number systems works, visit our binary converter!
Broadcast address
A host can use the broadcast address to send data to all the other hosts on the subnet. It's the last address on the subnet. We can calculate it by using the network address and adding the total number of addresses (minus one) in the subnet.
First and last host addresses
The next address after the network address is the first address available to be assigned to a host. The address just before the broadcast address is the last address that you can allocate to a host.
Wildcard mask
The
is the subnet mask with the bits inverted, therefore selecting the host part of the IP address.Total number of addresses
We can calculate the total number of addresses in a subnet from the CIDR using the following formula:
Usable number of hosts
The network and broadcast addresses are not available to be assigned to hosts on the network. So, the number of available addresses that you can assign to hosts is the total number of addresses minus two.
Binary subnet mask and IP address
These outputs are the subnet mask and IP address converted to binary format. These are helpful when manually subnetting networks.
CIDR notation
This result is the IP address in quad-dotted notation, followed by a forward-slash and the CIDR number.
IP address in integer and hexadecimal form
An IP address is just a number, so you can represent it as an integer (base 10), hexadecimal (base 16), or any other base you like.
in-addr.arpa
This property is a in-addr.arpa
. For example, for the IP address 8.8.4.4
, the PTR (pointer) record for the domain name 4.4.8.8.in-addr.arpa
would be looked up and found to point to dns.google
.
IPv4-mapped IPv6 address
The Internet is currently upgrading IP addresses from version 4 (represented by 32 bits) to version 6 (represented by 128 bits). To help with this transition, 169.291.13.133
maps to an IPv6 address of ::ffff:a9db:0d85
(converting the IP address to hexadecimal). It's also common to use the usual IPv4 quad-dotted decimal notation in the mapped address, like this: ::ffff:169.219.13.133
.
6to4 prefix
Another IPv4 to IPv6 transition strategy is called 2002
and then is followed by the IPv4 address, split into two 16-bit parts, written in hexadecimal, making for a 48-bit long prefix. For example, the 6to4 prefix for the IPv4 address 192.0.2.4
is 2002:c000:0204::/48
. There is then room for an IPv6 16-bit subnet field and 64 bits for hosts.
How to use the IP subnet calculator?
This subnet calculator is straightforward to use. First select the subnet mask you are interested in exploring. You can reduce the list of subnet masks to choose from by setting the network class option.
Next, enter the IP address, one octet at a time, in the four rows. You will then see all of the network and IP address properties.
Example of calculating network and IP properties
Taking an example IP address of 192.168.86.42
, and a subnet mask of 255.255.255.0
(a /24
subnet), let's manually calculate the network and IP properties for this IP address.
IP type
Check if the IP address is within any of the ranges of private IP addresses. If it is, then it is a private address. Otherwise, it is a public address. Looking at the ranges, we see that 192.168.86.42
is in the range 192.168.0.0 – 192.168.255.255
- a private address.
IP class
Looking through the ranges of each class in the previous section, we see that the IP address 192.168.86.42
is in the range 192.0.0.0 - 223.255.255.255
, so it is a Class C IP address.
Network address
Let's go through the calculation of the network address, step-by-step.
-
Convert both the IP address and subnet mask to binary, and write them down, one above the other.
11000000101010000101011000101010
11111111111111111111111100000000
-
Perform a bitwise logical
AND
operation by reading down a column at a time. If there are two ones, write a one as the result. Otherwise, write a zero.
11000000101010000101011000000000
-
Divide up the binary number into 8-bit blocks and convert it back to decimal.
11000000.10101000.01010110.00000000
192.168.86.0
So, 192.168.86.0
is the network address.
Total number of addresses
Next, we'll calculate the total number of addresses, as we need that to work out the broadcast address. Use the equation for the total number of addresses, given that the CIDR is 24.
So, the total number of addresses is 256.
Broadcast address
Now, we can calculate the broadcast address. Convert the network address from binary to decimal, which gives 3,232,257,536
. Add 256 - 1
to get 3,232,257,791
. Then convert this back to binary, separate it into 8-bit blocks, and convert to decimal.
3,232,257,791
11000000101010000101011011111111
11000000.10101000.01010110.11111111
192.168.86.255
So, the broadcast address for our example is 192.168.86.255
.
First and last host addresses
For the first usable host address, we add one to the network address. While you can do all of the converting to a decimal number, adding one, and switching back to the quad-dotted decimal format, usually, it's easy to work directly with the quad-dotted decimal. Adding one to the network address 192.168.86.0
is simply a matter of adding one to the last octet. Therefore it's 192.168.86.1
for the first usable host address.
The same can be said when calculating the last usable host address, which is the broadcast address minus one. That gives a result of 192.168.86.254
.
Wildcard mask
To calculate the wildcard mask, convert the subnet mask to binary and flip all the bits. Then switch back to the quad-dotted decimal format.
11111111111111111111111100000000
– binary subnet mask00000000000000000000000011111111
– bits are flipped0.0.0.255
– convert back to quad-dotted decimal format
The wildcard mask for our example is 0.0.0.255
.
IP address in integer and hexadecimal
Using the binary form of the IP address, we can convert the binary number to integer (base 10) and hexadecimal (base 16).
11000000101010000101011000101010
– example IP address as a binary number3232257578
– integer number0xc0a8562a
– hexadecimal number
in-addr.arpa
Reverse the example IP address 192.168.86.42
to get 42.86.168.192
and put it in front of in-addr.arpa
to get 42.86.168.192.in-addr.arpa
.
IPv4-mapped IPv6 address
IPv4-mapped IPv6 addresses consist of the prefix ::ffff:
followed by the IPv4 address, either displayed in hexadecimal (IPv6 native) format or the IPv4 quad-dotted decimal format. The results for our example IP address is:
::ffff:c0a8:562a
::ffff:192.168.86.42
6to4 prefix
The 6to4 prefix consists of 2002:
followed by the IP address in hexadecimal format. You can convert each octet to hexadecimal individually and write them out in the IPv6 form.
192.168.86.42
isc0.a8.56.2a
in hexadecimal2002:c0a8:562a::/48
is the 6to4 prefix
That's a lot of work here, isn't it? Thanks to our IP address subnet calculator, you can obtain all of this information in a minute!
FAQ
How do I calculate IP range from subnet mask?
To calculate the starting address of the subnet:
- Perform a binary AND operation between the IP address and the subnet mask.
Then to calculate the last address in the subnet range:
- Bitwise, invert the subnet mask.
- Do a binary OR operation with the first IP address in the subnet.
How do I calculate the broadcast address of a subnet?
The broadcast address is the last IP address within a subnet. You can calculate it by taking the network address (the 1st address within the subnet), adding the number of addresses in the subnet, and then subtracting one.
How do I calculate the total number of addresses in a subnet?
Using the Classless Inter-Domain Routing (CIDR) number of the subnet:
- Raise two to the power of 32 minus the CIDR number.
- For example, a /24 subnet has 2³²⁻²⁴ or 256 addresses in total (minus two for the total number of usable IP addresses).
How do I calculate an IPv4 mapped IPv6 address?
To calculate the IPv6 version of an IPv4 address:
- Set the first 80 bits of the IPv6 address to zero.
- Set the next 16 bits to 1.
- Add the 32 bits of the IPv4 address converted to hexadecimal format.
- For example,
169.291.13.133
maps to an IPv6 address of::ffff:a9db:0d85
.
IP address | 192.168.86.42 |
IP type | Private |
IP class | Class C |
Network address | 192.168.86.0 |
Broadcast address | 192.168.86.255 |
First host address | 192.168.86.1 |
Last host address | 192.168.86.254 |
Subnet mask | 255.255.255.0 |
Wildcard mask | 0.0.0.255 |
Total number of addresses | 256 |
Usable number of hosts | 254 |
CIDR notation | 192.168.86.42 /24 |
IP address - integer | 3232257578 |
IP address - hexadecimal | 0xc0a8562a |
in-addr.arpa | 42.86.168.192.in-addr.arpa |
IPv4-mapped IPv6 address | ::ffff:c0a8:562a or ::ffff:192.168.86.42 |
6to4 prefix | 2002:c0a8:562a::/48 |