Subnet Brief
{{ analysis.network }}/{{ analysis.prefix }}
{{ analysis.summaryLine }}
{{ badge.label }}
{{ reserve_percent }}%
{{ panel.title }}
{{ panel.badge }}
{{ panel.value }}
{{ panel.note }}
Metric Value Copy
{{ row.key }} {{ row.value }}
{{ analysis.hostWindowLabel }} Probe: {{ analysis.hostProbeDisplay }}
Offset Address Role Copy
{{ row.row }} {{ row.address }} {{ row.role }}
Prefix Mask Wildcard Total Usable Relative size Host target fit
{{ row.prefix }} {{ row.mask }} {{ row.wildcard }} {{ row.totalAddresses }} {{ row.usableHosts }} {{ row.relativeSize }} {{ row.fitLabel }}
# Demand Planned Capacity CIDR First Last Broadcast Waste Status
{{ row.order }} {{ row.requestedDisplay }} {{ row.plannedDisplay }} {{ row.capacityDisplay }} {{ row.cidr }} {{ row.firstHost }} {{ row.lastHost }} {{ row.broadcast }} {{ row.wasteDisplay }} {{ row.status }}
Topic Value Copy
{{ row.key }} {{ row.value }}

                    
:

Introduction:

IPv4 subnetting is the practice of dividing a 32-bit address space into smaller blocks so routers, VLANs, VPNs, and server segments use addresses without overlap. A correct boundary tells you which bits identify the network and which bits remain for hosts, so a bad mask can ripple into wrong gateways, unreachable peers, and wasted address space. This calculator turns one IPv4 seed into a concrete subnet summary and, when needed, a simple variable-length split plan.

It accepts the notation administrators usually inherit rather than forcing one format. A CIDR seed such as 10.42.8.19/23 works directly, and an address plus dotted mask such as 10.42.8.19 255.255.254.0 is resolved back into the same prefix math. From there the tool rebuilds the addressing envelope: subnet mask, wildcard mask, network, first and last host, broadcast, total addresses, and usable hosts.

That makes it useful when you are checking a firewall request, documenting a VLAN cut, validating a parent allocation, or confirming that two teams are talking about the same network boundary. It also helps when you need a quick sample of usable addresses or a specific host offset without counting through the subnet by hand.

The split planner addresses a second job that often gets done on paper. When one parent block has to serve several host demands, the calculator sizes each request to an aligned subnet, adds optional reserve headroom, and shows where waste or exhaustion appears before you publish an allocation plan.

The result still needs interpretation. A class label such as Class C is only a legacy first-octet family, not a routing policy. A range label such as RFC 1918 private space or CGNAT shared space describes where the address falls, but it does not prove that the block is routed, delegated to you, or safe to deploy unchanged.

Everyday Use & Decision Guide:

A strong first pass is to paste the source notation exactly as you received it and leave Prefix override on Auto. If the handoff already includes a dotted mask, keep it that way for the first check instead of converting it in your head. That reduces transcription mistakes and lets the Subnet Ledger confirm the parent block you think you were given.

  • For a quick deployment check, read Network, Prefix, First host, Last host, and Broadcast in that order before looking at anything else.
  • When carving a parent block, enter the expected host counts in Split demand list and keep Split ordering on Largest to smallest unless rollout order matters more than packing efficiency.
  • Add Per-split reserve only when you genuinely need growth headroom. A small percentage increase can push a demand into the next larger subnet and consume more space than expected.

The most common misread is around host counts. In ordinary subnets, Usable hosts excludes the network and broadcast addresses. At /31 and /32, that rule changes: the tool exposes two point-to-point endpoints for /31 and one single address for /32. If the Host Window looks unusual, check the prefix before assuming the math is wrong.

A blank or generic range label is not a failure. It means the address did not match one of the special blocks listed in this package. Before trusting a split plan, make sure the summary line shows the intended parent Network/Prefix, then compare Previous subnet and Next subnet in Address Math with your authoritative address plan.

Technical Details:

IPv4 subnetting is bitmask arithmetic. A prefix length /p means the first p bits belong to the network and the remaining 32 - p bits belong to hosts. Changing the prefix changes every downstream field because the mask redraws the boundary between shared network identity and per-host variation.

This calculator resolves the seed into one deterministic path. It parses either CIDR or an address plus dotted mask, applies Prefix override only if you deliberately force one, builds the subnet mask from the final prefix, inverts that mask to get the wildcard, and then computes the network and broadcast addresses with standard bitwise operations. The Address Math tab exposes the same logic in binary and hexadecimal so you can audit the boundary instead of treating the result as a black box.

Address counts come directly from host-bit width. Total addresses is 2^(32 - p). For most prefixes, Usable hosts is that total minus two because the all-zero host value is the network address and the all-one host value is the broadcast address. The package keeps the modern point-to-point exception: /31 returns two usable endpoints, and /32 returns one single host.

The split planner applies practical variable-length subnet mask (VLSM) rules instead of a loose estimate. Each demand is optionally grown by the reserve percentage, rounded up, forced to at least two usable hosts, wrapped with network and broadcast overhead, and promoted to the next power-of-two block. The planner then aligns that block to its natural boundary inside the parent network. If the required child prefix would be larger than the parent can express, the row becomes Too large for parent prefix. If alignment pushes the block past the parent broadcast, the row becomes Insufficient address space.

Two labels in the summary are descriptive only. Class family is inferred from the first octet, which is historically familiar but not how modern routing policy is defined. Address range is matched against a short list of notable IPv4 blocks in the package, including RFC 1918 private space, RFC 6598 shared CGNAT space, loopback, link-local, multicast, and reserved 240.0.0.0/4. Anything outside those checks is treated as public or unclassified context, not as proof of reachability.

Formula Core:

The main subnet fields are derived from four small equations.

N = IP M W = NOT ( M ) B = N W T = 2 32 - p
IPv4 subnet symbols and output mapping
Symbol or Field Meaning Where it appears Format
p Final prefix length after optional override Prefix, Network bits | Host bits 0 to 32
M Subnet mask built from the prefix Subnet mask, Mask bits, Mask (hex) IPv4 or hex
W Wildcard mask, the inverse of the subnet mask Wildcard mask, Wildcard (hex) IPv4 or hex
N Network base address after mask application Addressing Envelope, Network bits IPv4
B Broadcast address for the subnet Broadcast, Broadcast bits IPv4
T Total addresses in the block Total addresses count

VLSM Rule Core:

How split-plan rows are derived
Stage Rule Visible effect
Demand growth Requested hosts are multiplied by the reserve factor and rounded up. Sized hosts can exceed the original request.
Block sizing The planner adds network and broadcast overhead, then rounds to the next power of two. CIDR may be larger than a rough host-only estimate.
Alignment Each child subnet is pushed up to the next valid boundary for its block size. Gaps can appear between rows even when earlier space remains below the alignment point.
Fit check The aligned block must stay inside the parent network and not require a prefix shorter than the parent. Status becomes Allocated, Too large for parent prefix, or Insufficient address space.

One quick mental check: a demand of 120 hosts with a 10% reserve becomes 132 sized hosts. After adding network and broadcast overhead, the smallest power-of-two block that fits is 256 addresses, which corresponds to /24. That is why modest reserve percentages can consume an extra bit of address space.

Step-by-Step Guide:

Start by proving the parent subnet, then move into host sampling or split planning.

  1. Enter the source address in IPv4 seed. Use CIDR if you have it, or enter an address plus dotted mask exactly as it appears in the handoff.
  2. Leave Prefix override on Auto for the first pass. Change it only when you intentionally want to test a different boundary against the same host address.
  3. Read the summary line and the Subnet Ledger. Confirm Network, Prefix, First host, Last host, and Broadcast before you trust any downstream planning.
  4. If you need host sampling, open Advanced and set Host probe index or Host window size. When the prefix is /31 or /32, expect endpoint-style results rather than the usual network and broadcast exclusion.
  5. If you need child allocations, enter counts in Split demand list, then tune Per-split reserve and Split ordering. Read the Split Plan rows from top to bottom because each allocation moves the placement cursor forward.
  6. Finish in Address Math. Verify Previous subnet, Next subnet, and the bit-boundary rows. If a row shows Too large for parent prefix or Insufficient address space, increase the parent block or reduce the demand before documenting the plan.

Interpreting Results:

Network and Prefix are the primary trust check. If those two values do not match your intended parent block, every host row, split row, and binary display is describing the wrong subnet.

  • Usable hosts follows boundary rules, not habit. Standard prefixes reserve network and broadcast, but /31 exposes two endpoints and /32 exposes one address.
  • Host probe is only meaningful relative to the current boundary. A valid offset in one prefix can become out of range after a tighter override.
  • Split Plan status answers only one question: did the requested block fit this parent subnet under these reserve and ordering rules? It does not confirm that the block is available in your wider address design.

Do not overread Class family or Address range. Those labels are quick context, not deployment approval. Before provisioning, compare Network, Broadcast, and Next subnet against the authoritative route table, IPAM entry, or design document that owns the parent allocation.

Worked Examples:

  1. One parent block, three realistic demands. Enter 10.42.8.19/23, keep Prefix override on Auto, and use Split demand list 120, 60, 30 with a 10% reserve. The summary settles on Network 10.42.8.0/23, Broadcast 10.42.9.255, and Usable hosts 510. In Split Plan, the demands become 10.42.8.0/24, 10.42.9.0/25, and 10.42.9.128/26. That is a clean example of reserve headroom turning 120 hosts into a full /24 rather than a smaller guess.
  2. Point-to-point edge case. Enter 203.0.113.10/31. The tool reports Network 203.0.113.10, Broadcast 203.0.113.11, and Usable hosts 2. The Host Window shows two endpoint rows instead of a conventional network and broadcast pair, and Host probe index 1 resolves to 203.0.113.11. The lesson is that boundary behavior matters more than habit at very short prefixes.
  3. Split plan says the parent is exhausted. Enter 192.168.50.0/26 and use Split demand list 40, 20, 20 with a 10% reserve. The first row consumes the parent as /26, so later rows show em dashes for CIDR and Status becomes Insufficient address space. The corrective path is to choose a larger parent network, reduce reserve, or lower the host demands before publishing the allocation.

FAQ:

Can I enter an address and dotted mask instead of CIDR?

Yes. The seed parser accepts either CIDR or an IPv4 address followed by a dotted mask. The mask has to be contiguous; otherwise the tool returns an error instead of guessing.

Why does the usable host count behave differently at /31 and /32?

Because the package treats /31 as a two-endpoint point-to-point subnet and /32 as a single host. Those prefixes do not lose two addresses the way ordinary LAN-style subnets do.

Why does the split planner prefer largest-first ordering?

Larger blocks are harder to place once small aligned subnets have already consumed boundary positions. Largest-first reduces that fragmentation risk. If rollout sequence matters more than packing efficiency, switch Split ordering to Keep entered order.

What does Public/Unclassified mean in the ledger?

It means the address did not match one of the special IPv4 blocks hard-coded in this package. It is not a statement about whether the subnet is reachable, announced, reserved for documentation, or available for production use.

Does this calculator call a backend service for subnet math?

No dedicated subnet-calculation endpoint is present in this package. The parsing, counting, split planning, and address math are produced in the browser from the values currently on the page.

Glossary:

CIDR
Slash notation that states how many leading bits belong to the network.
Wildcard mask
The inverse of the subnet mask, often used in access-control matching.
VLSM
Variable-length subnet mask allocation from one parent block.
Broadcast address
The all-ones host value for a subnet.