Visual IPv4 Subnet Calculator / Splitter
Split an IPv4 parent block into visual CIDR leaves, rejoin aligned siblings and verify each range, usable count and complete address coverage.{{ summaryTitle }}
{{ summaryAnnouncement }}
| Field | Value | Operational meaning | Copy |
|---|---|---|---|
| {{ row.label }} | {{ row.value }} | {{ row.detail }} |
| Check | Status | Detail | Copy |
|---|---|---|---|
| {{ row.label }} | {{ row.status }} | {{ row.detail }} |
| # | Leaf CIDR | First usable | Last usable | Broadcast | Addresses | Usable | Network bits | Broadcast bits | Note | Copy |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ leaf.id }} | {{ leaf.cidr }} | {{ leaf.first_usable }} | {{ leaf.last_usable }} | {{ leaf.broadcast }} | {{ count(leaf.total_addresses) }} | {{ count(leaf.usable_hosts) }} | {{ binary(leaf.network_int) }} | {{ binary(leaf.broadcast_int) }} | {{ noteMap[leaf.key] || '' }} |
Dividing one IPv4 allocation is a boundary problem before it is a labeling problem. Every child subnet must start on an address aligned to its prefix, stay inside the parent block, and leave no gap or overlap when the plan is meant to cover the parent completely.
One split takes a selected block, adds one network bit, and creates two equal children. Splitting a /24 produces two /25 blocks; splitting only the second child again produces one /25 followed by two /26 blocks. Repeating this process creates variable-length subnet masks (VLSM) while preserving a contiguous left-to-right allocation.
| Leaf order | CIDR | Share of parent | Addresses |
|---|---|---|---|
| 1 | 10.0.0.0/25 | 50% | 128 |
| 2 | 10.0.0.128/26 | 25% | 64 |
| 3 | 10.0.0.192/27 | 12.5% | 32 |
| 4 | 10.0.0.224/27 | 12.5% | 32 |
The address shares always sum to 100% when the leaf plan completely covers the parent. Usable-host totals need more interpretation. Each ordinary child reserves its own network and broadcast boundary, so repeated splitting can reduce the sum of ordinarily usable host addresses even though no address disappears.
At the narrowest prefixes, the host rules change. A /31 uses both addresses as point-to-point endpoints under RFC 3021, and a /32 represents one host-route address. These exceptions can make the leaf usable total change differently from ordinary subnet arithmetic.
A mathematically complete plan is not proof that the CIDRs are unassigned or deployable. Confirm intended host demand, gateways, redundancy, DHCP reservations, routing policy, firewall scope, and IPAM ownership before using the leaves in a live network.
How to Use This Tool:
Choose the parent allocation first; changing its address or prefix resets the current split plan.
- Enter the Parent IPv4 address and select a prefix from
/0through/32. Host bits are masked to produce the normalized parent network. - Select a leaf in Leaf split controls. Choose Split selected to replace it with two equal children, or Join sibling when an aligned sibling of the same size is present.
- Use the allocation rail and address-space map to compare relative sizes, then inspect Planning review for alignment, complete coverage, deepest prefix, and special-prefix counts.
- Check the exact CIDR, usable range, broadcast boundary, and address count in Leaf plan. Enable Binary boundaries only when a 32-bit audit view helps the handoff.
Interpreting Results:
The normalized parent CIDR is the fixed outer boundary. If Input alignment says Normalized, the entered address had host bits and was moved down to the network start before any leaves were built.
Parent coverage should remain Complete. The leaf address total must equal the parent address total, and every leaf must be contiguous with the next. The visual map helps compare proportions, but the exact leaf rows are the values to carry into routing, DHCP, firewall, or IPAM work.
A change in Leaf usable is not an overlap or loss of address space. It reflects the boundary reservations of the current leaves and the special semantics of /31 and /32. Review host demand separately because this workflow does not assign requested host counts automatically.
Technical Details:
The parent address and every leaf are represented as unsigned 32-bit integers. Applying the parent prefix clears host bits, which establishes the only address interval the split plan may cover.
Formula Core:
For parent prefix p, the block contains 232−p addresses. A split creates children at prefix p + 1 with half the parent's size.
For ordinary prefixes through /30, usable hosts equal total addresses minus two. A /31 reports two point-to-point endpoints and a /32 reports one host-route address.
Mechanism Core:
The plan is an ordered, complete list of leaf prefixes. It is expanded from left to right against the remaining parent space, which makes alignment and coverage deterministic.
- Start with one queue entry containing the normalized parent network, parent prefix, and full parent size.
- For each requested leaf prefix, take the next queued block and split its left child repeatedly until the requested prefix is reached. Return each right sibling to the queue.
- Accept the plan only when every requested leaf fits and no queued address space remains.
| Action | Requirement | Result |
|---|---|---|
| Split selected | Selected leaf is shorter than /32 and the plan has fewer than 256 leaves | Two adjacent children, each one prefix bit longer |
| Join sibling | An aligned adjacent sibling has the same prefix | One parent leaf, one prefix bit shorter |
| Reset plan | At least one custom split exists | One leaf equal to the normalized parent |
A supplied split state is rejected when its prefix list is malformed, contains more than 256 leaves, uses a prefix shorter than the parent or longer than /32, extends beyond the parent, or fails to cover the parent completely. Binary display changes only the leaf table presentation.
Limits and Privacy Notes:
- The planner does not query routers, firewalls, DHCP servers, cloud networks, or IPAM systems.
- It does not allocate leaves from host-demand requests or reserve gateway and appliance addresses automatically.
- A valid plan proves complete mathematical coverage only; ownership, policy, reachability, and conflicts still require external checks.
- The parent address and split choices are processed in the browser and do not trigger a network probe.
Worked Example:
Building unequal leaves from one /24
Entering 10.0.0.1 with parent prefix /24 first normalizes the parent to 10.0.0.0/24. Splitting the first leaf once, the second leaf once, and its final child once can produce 10.0.0.0/25, 10.0.0.128/26, 10.0.0.192/27, and 10.0.0.224/27. Their 128, 64, 32, and 32 addresses cover all 256 parent addresses, while ordinary boundary reservations leave 248 usable hosts across the four leaves.
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.
- How to configure a static IP address in Linux, Simplified Guide.
- How to configure a static IP address on Windows, Simplified Guide.