go-supertools
Network Tools

CIDR & IP Range Toolkit

Merge, subtract, split and expand IPv4 and IPv6 blocks and ranges, convert ranges to CIDR, and check whether an address is in a list.

Runs in your browser Your input never leaves your device.

Everything is calculated in your browser. Nothing is sent and no address is contacted.

Report a problem with this tool

About this tool

The subnet calculator answers questions about one block. This toolkit works on whole lists, which is what you meet when you are given a scope of address ranges, a firewall export or an allow-list. Merge sorts a list, removes overlaps and joins neighbours into the fewest CIDR blocks that cover exactly the same addresses. Subtract takes a second list away from the first and returns what remains as blocks. Split cuts a block into equal sub-blocks of the prefix you choose. Range to CIDR turns start-end ranges, including the short form 10.0.0.1-50, into the exact set of blocks. List every address expands blocks into single addresses, capped so the page stays responsive. The membership check tells you for each address or block whether it is inside the list, partly overlapping, or outside. The details view shows network, first and last address, size, netmask and wildcard mask (IPv4), usable hosts, the reverse DNS zone names and whether the range is private, loopback, documentation or public. IPv4 and IPv6 both work, and netmask notation such as 10.0.0.0/255.255.0.0 is accepted. A block written with host bits set, such as 10.0.0.5/24, is read as the block that contains it and you are told. Results were compared with Python's ipaddress module on fixed and random lists, including exact set arithmetic for subtraction. Leading zeros in an IPv4 address (010.1.1.1) and IPv6 zone ids are refused because tools disagree on what they mean. Everything is calculated in your browser; nothing is sent or contacted.

How to use it

  1. Choose what you want to do, such as Merge into the fewest blocks.
  2. Paste addresses, CIDR blocks or ranges, one per line. Lines after # are ignored.
  3. For subtract or membership, fill in the second box; for split, give the prefix length.
  4. Press Calculate and copy the result.

Common problems

A line is reported as not understood
Use one entry per line: an address, a CIDR block such as 10.0.0.0/24, or a range such as 10.0.0.1-10.0.0.9. Remove leading zeros and zone ids.
Split says the range is not a single block
Convert it with Range to CIDR blocks first, then split the blocks you want.
The address list is cut off
Listing is capped at 65,536 addresses and splitting at 4,096 blocks. Use a smaller block or merge instead.