WHAT IT DOES
The blocks that cover a range, and nothing outside it.
A firewall rule, a security group, and an S3 bucket policy all want CIDR blocks, while the range you were given is two addresses. Enter the range to get the shortest list of blocks that covers it exactly, or enter blocks to get the range they span. A list of blocks is aggregated into the fewest that hold the same addresses, and any that overlap each other are reported.
Why use it?
Use it when a policy expects CIDR blocks but you have inclusive address endpoints, or when a long block list may contain overlaps.
How to use this tool
- Paste a range such as 192.0.2.0 - 192.0.2.255, or list CIDR blocks on separate lines.
- Convert and review the exact covering blocks, overlap notes, and normalized network addresses.
- The example range becomes 192.0.2.0/24. For an irregular range, keep every returned block rather than replacing them with a broader parent that would admit extra addresses.
Details and limitations
- A range becomes one block only when its length is a power of two and it begins on its own boundary. Any other range needs several, and the list produced is the shortest one that covers the range exactly, with no address outside it.
- Both families are supported, and both ends of a range must be the same one. Address counts for large IPv6 blocks are shown as a power of two as well as in full.
- Ranges may be written with a hyphen, an en dash, two dots, or the word to. Blank lines and lines starting with # are ignored, so a list can carry its own comments.
- Adjacent blocks are only merged when they are the two halves of one parent: 10.0.0.128/25 and 10.0.1.0/24 touch, but no single block holds exactly those addresses and nothing else.
- A block written with host bits set, such as 10.1.2.3/24, is read as its network and the correction is reported rather than applied silently.