How to Use This Tool
Paste your blocks, one per line. Every overlapping pair is listed with the relationship between them, so you can tell an intentional override from a real mistake.
Overlap is not automatically wrong
Routers resolve overlapping routes by longest-prefix match: the most specific block
that matches an address wins. That is a feature. A default route of 0.0.0.0/0 overlaps
everything by design, and a /24 deliberately carved out of a /16 is how you
send one subnet somewhere different.
The overlap becomes a problem in three situations, and the tool distinguishes them:
- Containment you did not intend. The narrower block silently takes precedence, so a rule you thought applied to the whole range applies only to the part outside it.
- Partial overlap — two blocks share addresses without either containing the other. In practice this cannot happen with well-formed CIDR, which is why seeing it means one entry is malformed or was written as a host address rather than a network.
- Duplicates. The same block appearing twice, sometimes written differently, which usually means two people added the same rule and neither knows the other exists.
The host-address mistake
10.1.2.3/24 is not a block starting at .3. The prefix length fixes the
first 24 bits, so the block is 10.1.2.0/24 and the .3 is discarded. Most tools
accept this silently and you end up reasoning about a network that starts somewhere other than where you
typed. This checker normalises it and tells you it did.
Where this bites in practice
The common real-world case is connecting two networks — a VPN, a VPC peering, a site-to-site
link — where both sides use a private range from the same block. Two networks that both chose
10.0.0.0/16 cannot be routed to each other, and the conflict is only discovered at the point
of connection. Checking the address plans against each other first is cheaper than renumbering one of
them afterwards.
