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're 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.
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 represents 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 quad-dotted decimal notation 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.
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|
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|
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 private addresses:
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
As well as the network class, IP addresses also historically belonged to classes. The range of IP addresses belonging to each class is defined as:
- Class A:
0.0.0.0 - 127.255.255.255
- Class B:
188.8.131.52 - 184.108.40.206
- Class C:
192.0.0.0 - 220.127.116.11
- Class D:
18.104.22.168 - 22.214.171.124
- 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.
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.
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.
The wildcard mask 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:
total number of addresses = 2(32 - CIDR)
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.
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.
This property is a special domain name, used for reverse DNS (Domain Name System) lookups (going from an IP address to a domain name). The IP address (in quad-dotted format) is reversed and prepended to the domain
in-addr.arpa. For example, for the IP address
126.96.36.199, the PTR (pointer) record for the domain name
188.8.131.52.in-addr.arpa would be looked up and found to point to
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, hybrid dual-stack IPv6/IPv4 implementations use a 96-bit prefix of 80 bits of zeros and 16 bits of ones, followed by the 32 bit IP address. For example, the IPv4 address
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:
Another IPv4 to IPv6 transition strategy is called 6to4 and allows IPv6 data to travel over IPv4 networks. A 6to4 IPv6 address always starts with
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
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
/24 subnet), let's manually calculate the network and IP properties for this IP address.
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.
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 - 184.108.40.206, so it is a Class C IP 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.
- Perform a bitwise logical
ANDoperation by reading down a column at a time. If there are two ones, write a one as the result. Otherwise, write a zero.
- Divide up the binary number into 8-bit blocks and convert it back to decimal.
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.
2(32 - CIDR)
2(32 - 24)
So, the total number of addresses is 256.
Now, we can calculate the broadcast address. Convert the network address from binary to decimal, which gives
256 - 1 to get
3,232,257,791. Then convert this back to binary, separate into 8-bit blocks, and convert to decimal.
So, the broadcast address for our example is
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
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 mask
00000000000000000000000011111111- bits are flipped
0.0.0.255- convert back to quad-dotted decimal format
The wildcard mask for our example is
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 number
3232257578- integer number
0xc0a8562a- hexadecimal number
Reverse the example IP address
192.168.86.42 to get
220.127.116.11 and put it in front of
in-addr.arpa to get
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:
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.
2002:c0a8:562a::/48is 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!
|IP class||Class C|
|First host address||192.168.86.1|
|Last host address||192.168.86.254|
|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|
|IPv4-mapped IPv6 address||::ffff:c0a8:562a or ::ffff:192.168.86.42|