Visual IPv4 Subnet Calculator / Splitter
Plan IPv4 subnets from a parent CIDR, split or rejoin leaf blocks, and verify usable ranges, broadcasts, size maps, and exports.Subnet Overview
Current result
Visual Splitter
| # | Subnet Address | Usable Range | Hosts | Split / Join |
|---|---|---|---|---|
| {{ row.id }} | {{ row.cidr }} | {{ row.first }} - {{ row.last }} | {{ row.usable }} |
|
| Field | Value | Copy |
|---|---|---|
| {{ row.key }} | {{ row.value }} |
| Check | Status | Detail | Copy |
|---|---|---|---|
| {{ row.key }} | {{ row.status }} | {{ row.detail }} |
| ID | Subnet | CIDR | First usable | Last usable | Broadcast | Usable hosts | Copy |
|---|---|---|---|---|---|---|---|
| {{ subnet.id }} | {{ subnet.network }} | {{ subnet.cidr }} | {{ subnet.first }} | {{ subnet.last }} | {{ subnet.broadcast }} | {{ subnet.usable }} |
An IPv4 subnet plan is both a number exercise and an operating promise. The prefix has to leave enough addresses for hosts, gateways, reservations, monitoring, and growth, while the boundaries have to stay exact enough for routing, firewall rules, DHCP scopes, and documentation. Classless Inter-Domain Routing, or CIDR, writes that boundary as a slash prefix such as /24, where the slash number says how many of the 32 IPv4 bits belong to the network portion.
Subnet splitting is easiest to trust when the range is treated as a set of binary halves, not as a spreadsheet of arbitrary start and end addresses. A /24 splits into two /25 blocks. Either /25 can split into two /26 blocks. Those child ranges can merge only when they are true siblings and still fill the parent they came from. That rule is why a mixed design can be valid even when the rows have different prefix lengths.
| Term | Meaning | Planning consequence |
|---|---|---|
| Parent block | The larger CIDR range being divided. | Every leaf subnet must stay inside this boundary. |
| Leaf subnet | A current end block after the active split decisions. | Leaf rows are the ranges usually copied into IPAM, DHCP, route, or firewall work. |
| Sibling pair | Two adjacent child blocks with the same prefix and the same parent. | Only sibling pairs can join back into one larger CIDR block. |
| Usable endpoint | An address counted as assignable under the prefix's host rule. | /31 and /32 need different reading from ordinary LAN prefixes. |
Capacity mistakes usually come from treating every row as if it behaved like a normal LAN subnet. Prefixes from /0 through /30 reserve the network and broadcast addresses, so splitting one block into many ordinary leaves can reduce the total usable host count. A /31 is commonly used for point-to-point links and counts both addresses as endpoints. A /32 names one exact address, often for a host route or loopback.
Address policy still sits outside the arithmetic. Private ranges, documentation ranges, cloud VPC space, VPN pools, loopbacks, and provider-assigned blocks may all calculate cleanly while carrying different reachability rules. A good split plan proves the boundaries and sizes first, then checks the result against the systems that will actually use the addresses.
Before a design becomes a change record, compare the leaves with existing leases, static reservations, route advertisements, NAT pools, access lists, monitoring targets, and reserved growth space. The math can prevent off-boundary ranges; it cannot prove that a chosen address is unused or approved.
How to Use This Tool:
Start with the parent CIDR you intend to divide. Shape the leaf rows only after the parent network, host rule, and usable count match the address space you meant to plan.
- Enter a dotted address in IP address and choose the parent value in CIDR prefix. The summary masks host bits to the network boundary, so
192.0.2.37with/24becomes192.0.2.0/24. - Check Subnet Overview for the parent CIDR, netmask, wildcard mask, usable-host count, and current leaf count before using the splitter.
- Fix any IPv4 format warning before reading the tables. An address needs four decimal octets from
0through255, and the prefix must stay between/0and/32.When an address is invalid, the result panels are not a reliable handoff source until the warning clears. - Use Visual Splitter to click a leaf bar and divide that leaf into two equal child subnets. The selected row follows the new child so repeated splits stay easy to track.
- Join ranges only when they are valid siblings. Shift-click a leaf or click a parent segment to merge covered children back into their parent; incomplete or mismatched ranges stay unchanged.
- Open Network Fields for the parent network, broadcast, first host, last host, and host semantics. Use Allocation Review to check input normalization, current split depth, usable-capacity change, and the next possible split.
Host semantics is important for
/31and/32; those prefixes do not follow the ordinary network-plus-broadcast reservation pattern. - Use Subnet Size Map to compare address share by leaf, then use Split Allocation or JSON when you need exact rows for review notes, IPAM, DHCP, routing, or firewall work.
Interpreting Results:
Trust the normalized parent first. If Subnet Overview shows a different network base than you expected, the entered address contained host bits or the prefix does not describe the parent block you had in mind. The leaf rows then show how that parent is currently divided.
| Output | What it answers | What not to overread |
|---|---|---|
| Network Fields | Parent CIDR, mask values, broadcast address, first and last host, and host semantics. | It does not confirm that the chosen range is unused or routable. |
| Allocation Review | Alignment, special host rules, deepest split, capacity change, and next split. | A positive capacity check does not include future growth, static reservations, or policy overhead. |
| Subnet Size Map | Relative address share for each current leaf subnet. | Area means address count only, not traffic, importance, or security priority. |
| Split Allocation | Exact CIDR, first usable, last usable, broadcast, and usable-host count for every leaf. | Valid CIDR rows still need comparison with DHCP scopes, route tables, and firewall objects. |
The common false-confidence case is a clean-looking split that conflicts with another system of record. Before copying rows into a change plan, compare the Split Allocation table with DHCP pools, static addresses, VPN ranges, cloud networks, and existing route or ACL entries.
Technical Details:
IPv4 arithmetic starts by turning the dotted address into a 32-bit integer. The prefix mask keeps the network bits and clears the host bits. That normalized network address is the start of the block, and the block size is a power of two determined by the number of host bits left after the prefix.
Every split fixes one additional network bit. The left child keeps the parent network address, and the right child starts halfway through the parent block. A join reverses that operation only when the two child blocks have the same prefix, are adjacent, and align to the shallower parent boundary.
Formula Core
The parent summary and each leaf row use the same bit-mask and address-count rules.
| Symbol | Meaning | Visible result |
|---|---|---|
IP |
The entered IPv4 address as a 32-bit value. | IP address |
p |
The selected prefix length from /0 through /32. |
CIDR prefix |
N |
The network address after the prefix mask is applied. | Network |
S |
The total number of addresses in the block. | Total addresses |
B |
The final address in the block. | Broadcast |
C0 and C1 |
The left and right child CIDRs created by one split. | Split Allocation |
For 198.51.100.0/24, the block size is 2^(32 - 24) = 256, so the broadcast address is 198.51.100.255. One split creates 198.51.100.0/25 and 198.51.100.128/25. Splitting the upper half again creates 198.51.100.128/26 and 198.51.100.192/26.
| Prefix case | Usable-host rule | How to read it |
|---|---|---|
/0 through /30 |
usable = total addresses - 2 |
The network and broadcast addresses are not counted as host endpoints. |
/31 |
usable = 2 |
Both addresses are treated as point-to-point endpoints. |
/32 |
usable = 1 |
The single address is treated as a host route or exact endpoint. |
Split and Join Rules
| Action | Required condition | Result to inspect |
|---|---|---|
| Split a leaf | The leaf prefix is shallower than /32. |
One leaf becomes two adjacent leaves at the next deeper prefix. |
| Join sibling leaves | Two adjacent leaves share the same prefix and parent boundary. | The pair collapses into one shallower parent row. |
| Join a parent segment | The child leaves inside that segment cover the parent completely. | The covered child rows are replaced by the parent range. |
| Normalize a host address | The entered IPv4 address is valid for the chosen prefix. | The parent network displays the masked network boundary. |
Limits and Privacy Notes:
The calculation covers IPv4 subnet math and the split structure shown on the page. It does not query routers, DHCP servers, IPAM records, cloud networks, firewall policies, DNS, or live hosts.
- Address math, split rows, chart data, copied values, and downloads are produced in the browser from the visible values.
- Only IPv4 dotted-decimal addresses and CIDR prefixes are accepted; IPv6 subnet planning is outside this calculator.
- Private, public, special-purpose, and documentation ranges can all be calculated, so ownership and routing policy still need review.
- Shared URLs may include the current IP address, prefix, and split layout. Treat those links as address-plan data.
Worked Examples:
These cases show the difference between valid math, useful capacity, and operational readiness.
Host address inside a parent block
Enter 192.0.2.37 and choose /24. Network Fields reports Network as 192.0.2.0 / 24, Broadcast as 192.0.2.255, and Usable hosts as 254. That confirms the parent boundary; it does not reserve .37 as a separate leaf.
Mixed leaf sizes from one /24
Start with 198.51.100.0 and /24. Split once, then split the upper half. Split Allocation lists 198.51.100.0/25, 198.51.100.128/26, and 198.51.100.192/26. The Subnet Size Map shows the /25 taking half the parent and each /26 taking one quarter.
Point-to-point and host-route edges
Use 203.0.113.8 with /31. Network Fields shows two usable endpoints and describes point-to-point host semantics. Change the prefix to /32, and Usable hosts becomes 1, which fits a host route or exact endpoint instead of a multi-host LAN subnet.
Invalid address recovery
If IP address contains 192.0.2.999, the error state tells you the IPv4 address is invalid. Correct the octet, confirm the parent in Subnet Overview, and rebuild any split layout if the corrected parent changed.
FAQ:
Can I enter a host address instead of the subnet base?
Yes. The summary masks the entered address to the selected prefix and shows the resulting parent network. For handoff records, entering the exact network base is easier to audit.
Why did splitting reduce the usable-host total?
Ordinary prefixes reserve network and broadcast addresses in each leaf. More leaves can mean more reserved addresses, even though the total parent address span has not changed.
Why does a /31 show two usable hosts?
A /31 is treated as a point-to-point prefix, so both addresses count as endpoints instead of reserving separate network and broadcast addresses.
Can the splitter create a non-CIDR size?
No. Every split halves a valid CIDR leaf, and every join restores a valid parent. The layout may mix sizes, but each leaf remains a CIDR block.
What should I check after the leaf rows look correct?
Compare Split Allocation with DHCP scopes, static reservations, route tables, firewall objects, VPN pools, cloud networks, and any reserved growth ranges.
Do the calculations leave my browser?
The subnet math, split layout, chart data, copied rows, and downloads are produced in the browser. Shared links may still expose the current IP, prefix, and split layout.
Glossary:
- CIDR prefix
- The slash number that says how many leading bits identify the network portion of an IPv4 address.
- Parent block
- The larger CIDR range being divided into one or more leaf subnets.
- Leaf subnet
- A currently visible end block after the active split and join choices.
- Sibling pair
- Two adjacent child subnets of the same size that can merge into one parent block.
- Wildcard mask
- The inverse of the subnet mask, often used in access-control and routing notation to mark bits that may vary.
- Host semantics
- The rule that decides which addresses inside a prefix count as usable endpoints.
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.
- How to configure a static IP address in Linux, Simplified Guide.
- How to configure a static IP address on Windows, Simplified Guide.