Necessary cookies and storage support sign-in and learning. Optional Vercel analytics and campaign measurement stay off unless you accept. Rejecting won't affect courses or checkout.
Global Privacy Control is on. Optional analytics stays off.
FREE TOOL
Paste a list of IPv4 prefixes or address ranges, one per line. The checker compares every pair and labels each overlap as a duplicate, a containment or a partial overlap, with the addresses the two entries share. Add an address to see which entries hold it. The check runs in this page, and the page does not send what you enter to a server. No account is required.
This checker runs in your browser and needs JavaScript turned on. The boxes stay locked until the page script loads, so the page cannot send anything you enter. If they stay locked, the script did not load. Turn on JavaScript or reload the page to use the checker.
The checker is ready. It runs in this page, and the page does not send what you enter to a server.
None. No two entries share an address.
One row for each pair of entries that share at least one address, in the order of your list.
| Entry | Relation | Other entry | Shared addresses | Shared as prefixes |
|---|
| Entry | Holds the address |
|---|
Each step shows the 32 bits in binary and dotted decimal. Network bits are shown in bold and host bits in normal weight where a prefix applies.
Every entry is reduced to its first and last address. A prefix runs from its network address, with every host bit 0, to its last address, with every host bit 1. A range already states both ends. Two entries overlap when each one starts no later than the other one ends. If one entry starts after the other has ended, they share no address and the checker does not list the pair.
An overlapping pair is labeled in one of three ways. A duplicate covers exactly the same addresses as an earlier entry, even if it is written differently, such as 10.20.1.0/24 and 10.20.1.0-10.20.1.255. A containment means one entry holds every address of the other and more. A partial overlap means the two share some addresses and each also has addresses the other does not.
A prefix holds a power-of-two number of addresses and starts on a multiple of that number. Take two prefixes of different sizes. The larger size is a multiple of the smaller one, so the larger prefix is made of whole blocks of the smaller size, and the smaller prefix is either one of those blocks or lies entirely outside the larger prefix. Two prefixes therefore either share no address, are the same, or one contains the other. A partial overlap needs at least one range, such as a DHCP pool written as two addresses that does not start or end on a prefix boundary.
To practice, decide on paper how 10.20.0.0/22 relates to 10.20.1.0/24, and how 10.20.0.0/22 relates to the range 10.20.3.200-10.20.4.20. Then paste the three entries here and compare your answers with the table.
When an entry covers the same addresses as an earlier one, the checker reports it once, as a duplicate of the earlier line, and leaves it out of every other comparison. Comparing it again would only repeat the findings for the first copy. A duplicate still counts as an entry, and the address test still reports it on its own line. A prefix written with host bits set, such as 10.20.1.5/24, is read as its network, 10.20.1.0/24, and the result says so.
Every result on this page depends on the whole list you pasted. The overlaps are between its entries, and the address test reports which of them hold the address. A link with only the address in it would reproduce nothing, and this checker does not put the list in a link. So it has no share link, and it never writes your list or your address to the page's URL. Use Copy results to keep a record of a check.
The checker compares IPv4 addresses only, as numbers. It does not know what an entry is used for, so it cannot say whether an overlap is a mistake: a route for 10.20.0.0/22 that contains a route for 10.20.1.0/24 is normal, while two DHCP pools that overlap are not. It does not check IPv6 and does not flag special-purpose ranges. The working shows the first 6 overlapping pairs and the first 4 entries of an address test step by step, and the tables list every result.
Sources: RFC 4632, section 3.1, for prefixes as power-of-two blocks.