Subnet Calculator — IPv4 & IPv6
A subnet calculator for IPv4 and IPv6 that reads a CIDR or an address and mask as you type. Network and broadcast, mask and wildcard, usable host range, plus ip6.arpa and EUI-64 for v6.
Usable range
Split into smaller blocks
Where the prefix cuts
11000000 10101000 00000001 | 10000010
Read as IPv4 — the family comes from what you type, and a colon means IPv6.
Divide
A /31 or a /32 has nothing smaller to cut into.
One segment per line — a name, then the hosts it needs. One or two hosts get a /30.
Historic · not operative
How to use
- Type the address, with the prefix attached like 192.168.1.130/24 or 2001:db8::1/64, or with the prefix in the second box.
- Read the usable range at the top and the facts beneath it; copy one fact with its own button, or every fact with Copy all.
- Use Divide for a plan: Equal blocks with a size from Split into, or By need with one segment and its host count per line.
- Press Share to copy a link that reopens the same address, prefix and plan.
About this tool
Type 192.168.1.130/24 and the answer is on screen before you finish the last digit: the usable range, 192.168.1.1 to 192.168.1.254, with the count beside it. The family is decided by whether the text contains a colon, and the field says which it read. The second box is optional and reads what engineers paste: a prefix like 24, a net mask like 255.255.255.0, a wildcard like 0.0.0.63, or a host count such as 52 hosts, and it says how it read it. Leave both the box and the slash off and the address is read as one address, a /32.
Under the range sit six facts with a copy button each: the network with its prefix, the broadcast, the subnet mask, the wildcard an access list wants, the total, and the block the address belongs to, named from the IANA special-purpose registries with its RFC: Private under RFC 1918, Carrier-grade NAT under RFC 6598, Link-local, Documentation, Loopback, Multicast and the rest, or Public when it sits in none of them. A /31 is two usable addresses with no network or broadcast, as RFC 3021 point-to-point links work, and a /32 is a host route. A strip of the 32 bits shows where the prefix cuts, and the classful letter is kept below, labelled as history.
IPv6 runs on 128-bit BigInt arithmetic and shows the block itself, 2001:db8::/64, with its endpoints and the full address count in the line under it. The facts are the address type from the IPv6 registry, including the newer 3fff::/20 documentation block, the compressed and expanded forms, the prefix mask, the interface ID and the total. Below them come the names derived from the address: the solicited-node multicast group, the ip6.arpa reverse name, a MAC recovered from an EUI-64 identifier and an embedded IPv4 address when there is one.
Divide plans the block for you. Equal blocks cuts it into the next eight prefix lengths and lists each piece with its range; By need takes one segment per line, Sydney Sales 73, and hands out blocks largest first, with what each leaves unused and where the free space starts.
Good to know
- Supernetting is not here. It cuts one block into smaller ones, equally or by need, but folding a list of ranges up into one covering prefix is a job for another tool.
- By need hands out blocks largest first from the start of the range and does not reuse gaps, which is the usual VLSM order but not the only one.
Frequently asked questions
Why does a /30 only leave me two usable addresses?
Four addresses live in a /30 and two of them are already spoken for. The first is the network address and the last is the broadcast, which leaves two for real interfaces, and that is why a /30 was the classic router-to-router link before /31 was permitted. A /31 drops both reservations under RFC 3021 and the page shows its two addresses as usable. IPv6 reserves neither end of a block.
What does the Scope card mean for 169.254.1.1 or 100.64.0.1?
It names the special-purpose block the address falls in, from the IANA registry. 169.254.0.0/16 is Link-local under RFC 3927 and 100.64.0.0/10 is Carrier-grade NAT under RFC 6598; neither is RFC 1918 private space and neither is routable on the internet, so both carry a caution. Private ranges read Private with an RFC 1918 pill, and an address in no special block reads Public.
How do I get the ip6.arpa name for a PTR record?
Enter the address and read the Reverse DNS card under the facts. All 32 nibbles of the expanded form come back reversed, dotted and finished with .ip6.arpa, and the copy button on the card puts the lot on your clipboard. It always builds the name for the whole address rather than truncating to your prefix.
Where does the Embedded MAC card come from?
From the interface ID, when that identifier was built with EUI-64. The calculator hunts for the ff:fe pair sitting in the middle of the last 64 bits, lifts out the six bytes around it, and flips the universal/local bit back in the first one to recover the original 48-bit MAC. If those two bytes are anything else the card stays greyed, because a privacy-extension or hand-assigned address has no MAC buried in it.
Missing something in Subnet Calculator — IPv4 & IPv6? Suggest a feature →
Tell someone who needs this.