CIDR Deaggregator
Expand a CIDR block into smaller blocks
Deaggregated Subnets
About Deaggregation
Deaggregation (or disaggregation) splits a larger CIDR block into smaller subnets. For example, a /16 can be split into 256 /24s. This is useful for distributing address space or creating more specific routes.
The CIDR Deaggregator breaks down a larger CIDR block into a complete list of smaller subnets at a specified prefix length. Enter a source like 10.0.0.0/16 with a target prefix of /24 to get all 256 /24 subnets within that range, or split a /22 into four /24 blocks for VLAN assignment.
Understanding CIDR Deaggregation
Deaggregation is the reverse of route aggregation. Where aggregation combines multiple small blocks into fewer large blocks, deaggregation takes one large block and divides it into many smaller blocks of a uniform size. This is one of the most common operations in IP address management, and it comes up every time you need to subdivide an allocated address range into usable pieces.
Consider a typical scenario. Your organization receives a /16 allocation from a regional internet registry (RIR). That is 65,536 addresses in a single block -- far too large to use as a single subnet. You need to break it into /24 blocks for individual office locations, /28 blocks for DMZ segments, and /30 blocks for point-to-point links. Each of these subdivisions is a deaggregation operation. The math is always the same: a /16 contains exactly 2^(24-16) = 256 subnets of size /24, or 2^(28-16) = 4,096 subnets of size /28.
In cloud environments, deaggregation is equally common. When you create a VPC with a /16 CIDR range, you need to carve out subnets for different availability zones, application tiers, and services. Each subnet is a deaggregated piece of the parent VPC block. The deaggregator gives you the complete list of available subnets at your chosen size, which you can then assign according to your architecture.
How to Deaggregate a CIDR Block
- Enter the source CIDR block (e.g.,
10.0.0.0/16) - Specify the target prefix length (e.g.,
/24) - The tool generates all subnets of the target size within the source block
- Copy the resulting list for use in subnet allocation plans, routing configurations, or infrastructure provisioning
CIDR Deaggregation Examples
| Source CIDR | Target Prefix | Number of Subnets | First Subnet | Last Subnet |
|---|---|---|---|---|
10.0.0.0/16 | /24 | 256 | 10.0.0.0/24 | 10.0.255.0/24 |
192.168.0.0/22 | /24 | 4 | 192.168.0.0/24 | 192.168.3.0/24 |
172.16.0.0/16 | /20 | 16 | 172.16.0.0/20 | 172.16.240.0/20 |
10.0.0.0/24 | /28 | 16 | 10.0.0.0/28 | 10.0.0.240/28 |
10.0.0.0/8 | /16 | 256 | 10.0.0.0/16 | 10.255.0.0/16 |
Detailed Example: Splitting a /22 into /24s
Source: 192.168.0.0/22
Output:
192.168.0.0/24 (192.168.0.0 - 192.168.0.255)
192.168.1.0/24 (192.168.1.0 - 192.168.1.255)
192.168.2.0/24 (192.168.2.0 - 192.168.2.255)
192.168.3.0/24 (192.168.3.0 - 192.168.3.255)
A /22 contains 2^(32-22) = 1,024 addresses. Each /24 contains 256 addresses, so the /22 divides evenly into 4 subnets.
When to Use the CIDR Deaggregator
- ISP address allocation -- break a large allocated block (e.g., a
/16from a RIR) into customer-sized assignments like/24or/28 - VPC subnet planning -- subdivide a VPC CIDR range into subnets for different availability zones, tiers, or services
- Traffic engineering -- create more-specific routes to override less-specific ones and steer traffic along preferred paths
- BGP deaggregation -- announce more-specific prefixes to influence inbound traffic routing from upstream providers
- DHCP scope definition -- break a large allocation into individual DHCP scope sizes for different VLANs or building floors
- Address space inventory -- enumerate all possible subnets of a given size within a parent allocation for planning purposes
How CIDR Deaggregation Works
Deaggregation is the mathematical inverse of aggregation. The number of resulting subnets is always 2^(target_prefix - source_prefix).
Subnet Count Formula
Number of subnets = 2^(target - source)
Example: /16 to /24
Subnets = 2^(24 - 16) = 2^8 = 256
How Subnets Are Calculated
Each resulting subnet is generated by incrementing through the address space in steps equal to the size of the target prefix:
Source: 10.0.0.0/16, Target: /18
Step size = 2^(32 - 18) = 16,384 addresses
10.0.0.0/18 (addresses 0 - 16,383)
10.0.64.0/18 (addresses 16,384 - 32,767)
10.0.128.0/18 (addresses 32,768 - 49,151)
10.0.192.0/18 (addresses 49,152 - 65,535)
Common Deaggregation Sizes
| Source | Target | Subnets | Typical Scenario |
|---|---|---|---|
/16 to /24 | 256 | Standard office-per-subnet allocation | |
/16 to /20 | 16 | Site-level blocks within a campus | |
/24 to /28 | 16 | DMZ or small department segments | |
/24 to /30 | 64 | Point-to-point links within a site | |
/8 to /16 | 256 | Regional allocations within a large block |
IPv6 Deaggregation
The same process applies to IPv6 but with 128-bit addresses. Deaggregating 2001:db8::/32 into /48 subnets produces 2^(48-32) = 65,536 subnets, a common operation for regional internet registries allocating address space to organizations.
Practical Advice for Deaggregation
When planning your subnet layout, resist the temptation to use the smallest possible subnet for each purpose. A /28 with 14 usable hosts might seem perfect for a DMZ with 8 servers today, but adding a load balancer, monitoring appliance, and a few test machines will quickly exhaust it. Start with at least 50% headroom: if you need 8 addresses, use a /27 (30 usable) rather than a /28 (14 usable). The cost of re-addressing a subnet is always higher than the cost of allocating a few extra addresses upfront.
For hierarchical address plans, deaggregate in stages. Start with your largest allocation and break it into site-level blocks, then break each site block into building-level blocks, then break those into VLAN-level subnets. This hierarchical approach keeps your routing tables clean because you can summarize all the subnets within a site back to the site-level block at the edge of your network. If you deaggregate directly from a /16 to /28 blocks without intermediate grouping, you lose the ability to summarize cleanly.
Be cautious with very large deaggregations. Splitting a /8 into /32 blocks produces over 16 million entries, which is rarely useful and can overwhelm your browser. In practice, deaggregating more than two or three prefix lengths at a time (e.g., /16 to /24, which is 8 bits of difference) is the most you will typically need for a single operation.
Frequently Asked Questions
What happens if the target prefix is smaller than the source prefix?
The tool will return an error. The target prefix must be a larger number (more specific) than the source prefix. You cannot deaggregate a /24 into /16 blocks -- that would be aggregation, the reverse operation.
Can the output be very large?
Yes. Deaggregating a /8 into /32 blocks would produce over 16 million entries. The tool provides warnings for large output sizes and may offer pagination or output limits to keep results manageable.
Is deaggregation the same as subnet splitting?
They are closely related. Deaggregation specifically breaks a block into subnets of a uniform target prefix length. Subnet splitting can also refer to dividing into a specific number of equal parts or into subnets with a target host count, which may not require specifying the exact prefix.
Can I deaggregate into non-uniform subnet sizes?
This tool produces uniform subnets of a single target prefix. If you need different-sized subnets (e.g., one /24, two /25s, and four /28s from a /22), use the Subnet Allocation Planner which handles variable-size requests.
Does deaggregation work with IPv6?
Yes. Enter any IPv6 CIDR block and a target prefix length between the source prefix and /128. The same formula and enumeration logic applies to 128-bit addresses.
Related Tools
- CIDR Aggregator - Aggregate multiple CIDR blocks into summarized routes (the reverse operation)
- Subnet Splitter (/x to /y) - Split a subnet into smaller subnets of a specific prefix
- Subnet Splitter (N Equal Subnets) - Split a subnet into N equal-sized subnets
- Subnet Allocation Planner - Plan subnet allocations to fit requested blocks
- CIDR to IP Range Converter - Convert CIDR notation to IP address range