IPv4 Allocation Planner
Plan IPv4 subnet allocations from a parent CIDR, size each host request, and catch alignment gaps, fit issues, and headroom before rollout.IPv4 Capacity Snapshot
Plan status
| Metric | Value | Signal | Detail | Copy |
|---|---|---|---|---|
| {{ row.metric }} | {{ row.value }} | {{ row.signal }} | {{ row.detail }} |
| {{ col.label }} | Copy |
|---|---|
|
No allocation rows exported
{{ allocationEmptyMessage }}
|
|
| {{ row[col.key] }} |
| Check | Finding | Impact | Action | Copy |
|---|---|---|---|---|
| {{ row.check }} | {{ row.finding }} | {{ row.impact }} | {{ row.action }} |
Introduction:
IPv4 allocation turns a single parent block into child subnets that can actually be routed, documented, and handed to device owners. Host counts matter, but binary boundaries decide where each subnet is allowed to begin.
An IPv4 address is a 32-bit value, usually written as four decimal octets. Classless Inter-Domain Routing, or CIDR, adds a slash and prefix length to show how many bits identify the network part. A shorter prefix such as /20 covers more addresses; a longer prefix such as /28 covers fewer addresses. Subnet allocation is the job of carving a parent CIDR block into smaller child blocks that are large enough for planned hosts and still aligned to legal boundaries.
The planning step shows up before VLAN rollouts, firewall zone changes, site migrations, lab builds, and cloud network designs. It answers whether the parent block is large enough, how much spare capacity remains, which requests should be placed first, and whether a future subnet still has room to grow. The answer changes when host demand changes, when the parent prefix changes, or when the row order changes.
| Planning Term | Meaning | Why It Changes the Plan |
|---|---|---|
| CIDR prefix | The slash length that fixes the network bits. | It sets the total size of the parent or child block. |
| Usable hosts | The addresses normally available for devices inside a subnet. | Ordinary IPv4 subnets exclude network and broadcast addresses; /31 point-to-point links are different. |
| Alignment gap | A skipped address span caused by the next child subnet boundary. | Smaller subnets placed too early can force a later larger block to jump forward. |
| Headroom | Capacity left after the proposed child blocks are placed. | It shows whether growth, spare VLANs, and later migration stages still have space. |
| Special-purpose range | An address block reserved for private, documentation, loopback, link-local, or other defined uses. | Arithmetic may work even when routing policy or address purpose makes a range unsuitable. |
A common planning mistake is comparing requested hosts directly with parent capacity. A 50-host requirement normally becomes a /26, which consumes 64 addresses and provides 62 usable host addresses. A 20-host requirement becomes a /27, not a 20-address slice. These rounded blocks make the plan easier to route and summarize, but they also create overhead that must be visible before operations teams reserve the ranges.
Address arithmetic does not prove that a range is unused, routed, or acceptable for production. Private ranges, documentation ranges, carrier-grade NAT space, loopback, link-local, multicast, and other special-purpose blocks each carry their own rules. A subnet plan still needs checks against IP address management records, DHCP leases, routing tables, firewall policy, cloud-provider reservations, naming policy, and monitoring conventions.
How to Use This Tool:
Start with the containing IPv4 block, then add allocation rows in the order you expect to place them. Largest host demands usually belong near the top because larger child subnets have stricter start boundaries.
- Enter the Network address and Prefix. The prefix selector and slider cover /8 through /31. Use Update root block after typing, or press Enter in the address field. If an error appears, check that the address is a dotted IPv4 address such as 10.0.0.0 and that the prefix is in range.
- Review the IPv4 Capacity Snapshot and the allocation bar. They should show the normalized parent CIDR, planned utilization, usable hosts assigned, remaining hosts, total usable hosts, and any rows that need space.
- Add one Allocation entries row for each subnet requirement. Enter usable hosts needed and a short note such as office users, guest Wi-Fi, management, or WAN links. The row's number field accepts exact host counts; the slider is useful for quick sizing.
- Move larger rows upward when the Allocation Fit Audit warns about order. A row can be mathematically valid but still create an avoidable Alignment gaps finding because a later block has to jump to its next legal boundary.
- Use Filter plan only to narrow the visible worksheet by CIDR, address, note, host count, or status. Filtering does not remove saved allocation rows from the plan.
- Open Advanced when you need to choose which allocation columns appear in the worksheet and exported table data. Leave the defaults on when first checking fit, because CIDR, first IP, last IP, notes, and status carry the main planning signal.
- Check Capacity Brief for totals, Allocation Worksheet for row-level ranges, Allocation Fit Audit for fixable risks, Address Space Map for gaps and tail space, and Host Share Chart for the usable-host share by row.
Before sending a URL, copied CSV, downloaded worksheet, DOCX brief, chart, or JSON file to someone else, remove internal notes that should not leave the network planning group. The current plan can be carried in the page URL, including allocation notes and selected columns.
Interpreting Results:
The planned utilization percentage compares allocated usable hosts with the parent block's usable host count. It is a design estimate, not a measurement of live device usage. A low percentage can still hide poor packing if the address-space view shows large alignment gaps, and a high percentage can be acceptable when the remaining tail is intentionally reserved for later growth.
- Capacity Brief is the summary to read first: parent block, usable host pool, requested hosts, address footprint, and largest allocation.
- Allocation Worksheet is the handoff view: each row's CIDR, usable count, first IP, last IP, selected columns, notes, and status.
- Allocation Fit Audit is the correction view: fit check, largest-first order, alignment gaps, and remaining headroom.
- Address Space Map shows full address spans, so it can reveal gaps that a host-count summary makes easy to miss.
- Host Share Chart compares usable host capacity across allocated rows and the unallocated host pool.
A row status of Allocated means the proposed child subnet fits inside the parent at the current order. Not enough space for that subnet means the row would cross the parent boundary, and Waiting for earlier row means a prior failure prevented later rows from being placed. The fix is usually to reduce a host demand, shorten the parent prefix to make a larger parent, or move the largest rows earlier.
A clean fit audit does not prove that the addresses are unused or routable. Confirm the final CIDRs against address records, router interfaces, DHCP scopes, static assignments, firewall objects, cloud network limits, and any provider-specific reserved-address rules before applying the plan.
Technical Details:
CIDR allocation is governed by powers of two. A child subnet cannot be an arbitrary number of addresses because the prefix length fixes how many host bits remain. The address span is always 2 raised to the number of host bits, and the network address must be aligned to that same span.
Usable host capacity is smaller than the full span for ordinary IPv4 subnets because the all-zero host value names the network and the all-one host value is the directed broadcast address. A /31 point-to-point link is the important exception: both addresses are treated as usable endpoints. A /32 is a single host route. When a parent block is only a container for smaller prefixes, compare both usable host counts and full address spans so /31 and /32 rows are not misread.
Formula Core
For each requested row, the host demand is first converted into the smallest legal address span. That span gives the child prefix length and the next aligned start address.
| Symbol | Meaning | Output Connection |
|---|---|---|
| H | Usable hosts requested for the row. | Comes from Hosts needed. |
| M | Minimum total address count before power-of-two rounding. | Accounts for network and broadcast addresses except /31 and /32 cases. |
| b, S, p | Host bits, full address span, and resulting child prefix. | Produce the row's CIDR and Usable values. |
| C | The next address after the previous allocated child block. | Changes when row order changes. |
| Astart, Aend | The aligned start and ending address of the child block. | Become First IP, Last IP, network, and broadcast after prefix rules are applied. |
| Prefix Case | Usable Count Rule | Planning Note |
|---|---|---|
| /32 | 1 usable address | Single-host route or one-address assignment. |
| /31 | 2 usable addresses | Point-to-point convention where both addresses can be link endpoints. |
| /30 and shorter prefixes | Total span minus 2 | Network and broadcast addresses are not counted as hosts. |
For example, a 50-host request uses M = 52, so b = 6, S = 64, and the child prefix is /26. If the current cursor is 10.20.0.128 inside a 10.20.0.0/24 parent, the aligned child block is 10.20.0.128/26, with first usable address 10.20.0.129, last usable address 10.20.0.190, and broadcast address 10.20.0.191.
Alignment gaps are calculated from full address spans, not usable host counts. If a /27 row ends at .31 and the next row needs a /26, the next /26 boundary may be .64, leaving .32 through .63 as skipped address space. That gap is not assigned to either row, even though it still sits inside the parent CIDR block.
Accuracy and Privacy Notes:
The output is deterministic CIDR arithmetic based on the parent block, row order, host counts, notes, filters, and selected columns. It does not perform network discovery or check any live inventory source.
- Host counts are rounded down to whole numbers and kept at a minimum of 1 per allocation row.
- The parent address is normalized to the selected CIDR boundary, so an address typed inside the block can display as the network address.
- Special-purpose IPv4 blocks may be valid for arithmetic but not for the network role you have in mind.
- Provider networks can reserve gateway, DNS, broadcast, platform, or service addresses beyond the generic CIDR rules shown here.
- The page URL can contain the current plan state. Treat shared URLs, copied rows, JSON, CSV, DOCX, and chart downloads as sensitive when they include internal ranges or notes.
Worked Examples:
Office VLANs inside a /24
A parent block of 10.20.0.0/24 with host requests of 110, 50, 20, and 8 produces child blocks of /25, /26, /27, and /28 when the rows stay largest-first. The Allocation Worksheet should show 10.20.0.0/25, 10.20.0.128/26, 10.20.0.192/27, and 10.20.0.224/28. The Capacity Brief shows 232 usable hosts allocated, 22 usable hosts still remaining, and no alignment-gap addresses before the allocated rows.
Smaller row placed before a larger row
Inside 10.30.0.0/25, placing a 20-host row before a 60-host row gives the first row 10.30.0.0/27. The 60-host row needs a /26 and must start at 10.30.0.64, so the Allocation Fit Audit can report an Alignment gaps finding for the skipped .32 through .63 span. Moving the 60-host row first usually removes that internal gap and leaves a cleaner tail for later requests.
Point-to-point link sizing
A two-host request can become a /31. In an example parent such as 198.51.100.0/30, the Allocation Worksheet may show 198.51.100.0/31 with Usable equal to 2, first IP 198.51.100.0, and last IP 198.51.100.1. That is useful for router links only when the devices and routing policy support /31 point-to-point addressing.
A row that cannot fit
A parent of 192.168.10.0/29 can hold one 5-host request as a /29. Adding a later 2-host request crosses the parent boundary, so the row status becomes Not enough space for that subnet and later rows can show Waiting for earlier row. Increase the parent size, remove the extra row, or split the requirements across another parent block before using the worksheet.
FAQ:
Why did the parent address change after I entered it?
CIDR blocks start on fixed binary boundaries. If you enter 10.0.0.17 with a /24 prefix, the parent block is normalized to 10.0.0.0/24.
Should I enter usable hosts or total addresses?
Enter usable hosts needed. Ordinary rows add room for network and broadcast addresses before choosing the CIDR size, while one-host and two-host requests use the /32 and /31 rules.
Why does largest-first order help?
Larger child blocks have fewer legal start positions. Placing a smaller block first can push a later larger block to the next boundary and create an alignment gap.
Can the plan confirm that a subnet is unused?
No. The fit status only checks the requested arithmetic. Verify actual use in IP address management records, DHCP leases, router interfaces, firewall objects, and cloud inventories.
Why is the URL long after I edit rows?
The current plan can be saved in the URL so it reloads with the same parent, rows, selected columns, filter, and active tab. Do not share that URL if the ranges or notes are sensitive.
What should I do when the root block error appears?
Check that the address is a valid dotted IPv4 address and that the prefix is between /8 and /31. A known-good first test is 10.0.0.0 with prefix /24.
Glossary:
- CIDR
- Classless Inter-Domain Routing notation, written as an IPv4 address followed by a slash and prefix length.
- Parent block
- The containing IPv4 range from which smaller allocation rows are placed.
- Prefix length
- The number of fixed network bits. A larger prefix number means a smaller address block.
- Usable hosts
- Addresses counted as assignable endpoints after network, broadcast, /31, or /32 rules are applied.
- Alignment gap
- Unused address space skipped because the next child subnet must start on a valid CIDR boundary.
- Address footprint
- The full address span consumed by allocated child blocks, including addresses that are not counted as usable hosts.
References:
- RFC 4632: Classless Inter-domain Routing (CIDR), RFC Editor, August 2006.
- RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links, RFC Editor, December 2000.
- RFC 1918: Address Allocation for Private Internets, RFC Editor, February 1996.
- RFC 5737: IPv4 Address Blocks Reserved for Documentation, RFC Editor, January 2010.
- IPv4 Special-Purpose Address Space, IANA, last updated 2025-10-09.