IPv4 CIDR Set Analyzer

Paste one IPv4 address or CIDR per line; bare addresses become /32. The tool performs address math without querying live routing systems.

Runs locally in your browser
This tool processes all data locally in your browser.
IPv4 CIDR listOne IPv4 address or CIDR block per line; an address without a prefix is treated as /32.
Local route mathValidate policy before publishingIPv4 only

This performs address arithmetic only. It does not query BGP, DNS, firewalls or cloud route tables.

Input blocks
No valid IPv4 blocks to display yet.
Aggregate blocks
No aggregate routes to display yet.

How to summarize an IPv4 CIDR list

This tool reads a list of IPv4 addresses and CIDR blocks, normalizes every line to its network address, flags duplicates and blocks that are already inside a broader route, and then merges what can be merged exactly into the shortest possible list. Host bits are cleared, so 10.0.0.77/24 is reported as 10.0.0.0/24, and an address without a prefix is treated as /32.

Everything is calculated in the browser: the list is not uploaded and the tool never queries BGP, DNS, firewalls or cloud route tables. It works on IPv4 only.

  1. Paste one IPv4 address or CIDR block per line into the list; Load example fills the box with a six-line sample.
  2. Press Analyze & summarize to normalize the list and produce the aggregate routes.
  3. Read the set summary: input blocks, distinct blocks, redundant entries, routes out and covered addresses.
  4. Check the Input blocks table for the per-line status (usable, duplicate, covered) and the Aggregate blocks table for the summarized result.
  5. Press Copy to put the summarized routes on the clipboard as a plain list.

What the numbers mean

How the summarizer decides

Every line is parsed as an IPv4 network: the address is masked to its prefix, so 10.0.0.77/24 and 10.0.0.0/24 become the same block. A block that repeats a block already seen is labelled duplicate. A block that fits inside a broader block from the same list is labelled covered and its containing route is named in the table.

Aggregation is exact: two blocks merge only when they have the same prefix length, are adjacent, and together fill a larger aligned block. The merge repeats on the result, so 10.0.0.0/25 + 10.0.0.128/25 becomes 10.0.0.0/24 and 192.168.20.0/24 + 192.168.21.0/24 becomes 192.168.20.0/23. No route is invented that the input did not already cover.

Worked examples

The built-in example holds six lines: 10.0.0.0/25, 10.0.0.128/25, 10.0.1.0/24, 10.0.2.42, 192.168.20.0/24 and 192.168.21.0/24. It comes out as three routes — 10.0.0.0/23, 10.0.2.42/32 and 192.168.20.0/23 — covering 1,025 addresses.

0.0.0.0/0 is reported as the whole IPv4 space, 4,294,967,296 addresses, and a bare address such as 10.1.2.3 becomes 10.1.2.3/32, a single address. Three adjacent /25 blocks collapse only as far as the data allows: 10.0.0.0/25, 10.0.0.128/25 and 10.0.1.0/25 become 10.0.0.0/24 plus 10.0.1.0/25.

Input rules and limits

One address or block per line; a bare address is treated as /32. Prefix lengths run from /0 to /32. A # starts a comment, so full-line notes and trailing notes such as 10.0.0.0/24 # office are ignored. Anything that is not an IPv4 address or block is reported with its line number and left out of the result; if no line parses, the previous result is cleared.

The tool does exact prefix arithmetic and nothing else. It does not validate routing policy, does not query BGP, DNS, firewalls or cloud route tables, does not accept IPv6, and does not send the list anywhere.

Recent tools: