Network Subnet Splitter
Visualise IPv4 subnet boundaries and calculate precise network splits interactively using a dense, terminal-style component.
Run Subnet Splitter
Inputs stay in this browser and results are not saved.
CIDR Subnet Calculator
| Subnet | Usable Range | Usable IPs |
|---|---|---|
| 10.0.0.0/24 | 10.0.0.1 - 10.0.0.254 | 254 |
| 10.0.1.0/24 | 10.0.1.1 - 10.0.1.254 | 254 |
| 10.0.2.0/24 | 10.0.2.1 - 10.0.2.254 | 254 |
| 10.0.3.0/24 | 10.0.3.1 - 10.0.3.254 | 254 |
| 10.0.4.0/24 | 10.0.4.1 - 10.0.4.254 | 254 |
| 10.0.5.0/24 | 10.0.5.1 - 10.0.5.254 | 254 |
| 10.0.6.0/24 | 10.0.6.1 - 10.0.6.254 | 254 |
| 10.0.7.0/24 | 10.0.7.1 - 10.0.7.254 | 254 |
| 10.0.8.0/24 | 10.0.8.1 - 10.0.8.254 | 254 |
| 10.0.9.0/24 | 10.0.9.1 - 10.0.9.254 | 254 |
| 10.0.10.0/24 | 10.0.10.1 - 10.0.10.254 | 254 |
| 10.0.11.0/24 | 10.0.11.1 - 10.0.11.254 | 254 |
| 10.0.12.0/24 | 10.0.12.1 - 10.0.12.254 | 254 |
| 10.0.13.0/24 | 10.0.13.1 - 10.0.13.254 | 254 |
| 10.0.14.0/24 | 10.0.14.1 - 10.0.14.254 | 254 |
| 10.0.15.0/24 | 10.0.15.1 - 10.0.15.254 | 254 |
| 10.0.16.0/24 | 10.0.16.1 - 10.0.16.254 | 254 |
| 10.0.17.0/24 | 10.0.17.1 - 10.0.17.254 | 254 |
| 10.0.18.0/24 | 10.0.18.1 - 10.0.18.254 | 254 |
| 10.0.19.0/24 | 10.0.19.1 - 10.0.19.254 | 254 |
| 10.0.20.0/24 | 10.0.20.1 - 10.0.20.254 | 254 |
| 10.0.21.0/24 | 10.0.21.1 - 10.0.21.254 | 254 |
| 10.0.22.0/24 | 10.0.22.1 - 10.0.22.254 | 254 |
| 10.0.23.0/24 | 10.0.23.1 - 10.0.23.254 | 254 |
| 10.0.24.0/24 | 10.0.24.1 - 10.0.24.254 | 254 |
| 10.0.25.0/24 | 10.0.25.1 - 10.0.25.254 | 254 |
| 10.0.26.0/24 | 10.0.26.1 - 10.0.26.254 | 254 |
| 10.0.27.0/24 | 10.0.27.1 - 10.0.27.254 | 254 |
| 10.0.28.0/24 | 10.0.28.1 - 10.0.28.254 | 254 |
| 10.0.29.0/24 | 10.0.29.1 - 10.0.29.254 | 254 |
| 10.0.30.0/24 | 10.0.30.1 - 10.0.30.254 | 254 |
| 10.0.31.0/24 | 10.0.31.1 - 10.0.31.254 | 254 |
| 10.0.32.0/24 | 10.0.32.1 - 10.0.32.254 | 254 |
| 10.0.33.0/24 | 10.0.33.1 - 10.0.33.254 | 254 |
| 10.0.34.0/24 | 10.0.34.1 - 10.0.34.254 | 254 |
| 10.0.35.0/24 | 10.0.35.1 - 10.0.35.254 | 254 |
| 10.0.36.0/24 | 10.0.36.1 - 10.0.36.254 | 254 |
| 10.0.37.0/24 | 10.0.37.1 - 10.0.37.254 | 254 |
| 10.0.38.0/24 | 10.0.38.1 - 10.0.38.254 | 254 |
| 10.0.39.0/24 | 10.0.39.1 - 10.0.39.254 | 254 |
| 10.0.40.0/24 | 10.0.40.1 - 10.0.40.254 | 254 |
| 10.0.41.0/24 | 10.0.41.1 - 10.0.41.254 | 254 |
| 10.0.42.0/24 | 10.0.42.1 - 10.0.42.254 | 254 |
| 10.0.43.0/24 | 10.0.43.1 - 10.0.43.254 | 254 |
| 10.0.44.0/24 | 10.0.44.1 - 10.0.44.254 | 254 |
| 10.0.45.0/24 | 10.0.45.1 - 10.0.45.254 | 254 |
| 10.0.46.0/24 | 10.0.46.1 - 10.0.46.254 | 254 |
| 10.0.47.0/24 | 10.0.47.1 - 10.0.47.254 | 254 |
| 10.0.48.0/24 | 10.0.48.1 - 10.0.48.254 | 254 |
| 10.0.49.0/24 | 10.0.49.1 - 10.0.49.254 | 254 |
| 10.0.50.0/24 | 10.0.50.1 - 10.0.50.254 | 254 |
| 10.0.51.0/24 | 10.0.51.1 - 10.0.51.254 | 254 |
| 10.0.52.0/24 | 10.0.52.1 - 10.0.52.254 | 254 |
| 10.0.53.0/24 | 10.0.53.1 - 10.0.53.254 | 254 |
| 10.0.54.0/24 | 10.0.54.1 - 10.0.54.254 | 254 |
| 10.0.55.0/24 | 10.0.55.1 - 10.0.55.254 | 254 |
| 10.0.56.0/24 | 10.0.56.1 - 10.0.56.254 | 254 |
| 10.0.57.0/24 | 10.0.57.1 - 10.0.57.254 | 254 |
| 10.0.58.0/24 | 10.0.58.1 - 10.0.58.254 | 254 |
| 10.0.59.0/24 | 10.0.59.1 - 10.0.59.254 | 254 |
| 10.0.60.0/24 | 10.0.60.1 - 10.0.60.254 | 254 |
| 10.0.61.0/24 | 10.0.61.1 - 10.0.61.254 | 254 |
| 10.0.62.0/24 | 10.0.62.1 - 10.0.62.254 | 254 |
| 10.0.63.0/24 | 10.0.63.1 - 10.0.63.254 | 254 |
| 10.0.64.0/24 | 10.0.64.1 - 10.0.64.254 | 254 |
| 10.0.65.0/24 | 10.0.65.1 - 10.0.65.254 | 254 |
| 10.0.66.0/24 | 10.0.66.1 - 10.0.66.254 | 254 |
| 10.0.67.0/24 | 10.0.67.1 - 10.0.67.254 | 254 |
| 10.0.68.0/24 | 10.0.68.1 - 10.0.68.254 | 254 |
| 10.0.69.0/24 | 10.0.69.1 - 10.0.69.254 | 254 |
| 10.0.70.0/24 | 10.0.70.1 - 10.0.70.254 | 254 |
| 10.0.71.0/24 | 10.0.71.1 - 10.0.71.254 | 254 |
| 10.0.72.0/24 | 10.0.72.1 - 10.0.72.254 | 254 |
| 10.0.73.0/24 | 10.0.73.1 - 10.0.73.254 | 254 |
| 10.0.74.0/24 | 10.0.74.1 - 10.0.74.254 | 254 |
| 10.0.75.0/24 | 10.0.75.1 - 10.0.75.254 | 254 |
| 10.0.76.0/24 | 10.0.76.1 - 10.0.76.254 | 254 |
| 10.0.77.0/24 | 10.0.77.1 - 10.0.77.254 | 254 |
| 10.0.78.0/24 | 10.0.78.1 - 10.0.78.254 | 254 |
| 10.0.79.0/24 | 10.0.79.1 - 10.0.79.254 | 254 |
| 10.0.80.0/24 | 10.0.80.1 - 10.0.80.254 | 254 |
| 10.0.81.0/24 | 10.0.81.1 - 10.0.81.254 | 254 |
| 10.0.82.0/24 | 10.0.82.1 - 10.0.82.254 | 254 |
| 10.0.83.0/24 | 10.0.83.1 - 10.0.83.254 | 254 |
| 10.0.84.0/24 | 10.0.84.1 - 10.0.84.254 | 254 |
| 10.0.85.0/24 | 10.0.85.1 - 10.0.85.254 | 254 |
| 10.0.86.0/24 | 10.0.86.1 - 10.0.86.254 | 254 |
| 10.0.87.0/24 | 10.0.87.1 - 10.0.87.254 | 254 |
| 10.0.88.0/24 | 10.0.88.1 - 10.0.88.254 | 254 |
| 10.0.89.0/24 | 10.0.89.1 - 10.0.89.254 | 254 |
| 10.0.90.0/24 | 10.0.90.1 - 10.0.90.254 | 254 |
| 10.0.91.0/24 | 10.0.91.1 - 10.0.91.254 | 254 |
| 10.0.92.0/24 | 10.0.92.1 - 10.0.92.254 | 254 |
| 10.0.93.0/24 | 10.0.93.1 - 10.0.93.254 | 254 |
| 10.0.94.0/24 | 10.0.94.1 - 10.0.94.254 | 254 |
| 10.0.95.0/24 | 10.0.95.1 - 10.0.95.254 | 254 |
| 10.0.96.0/24 | 10.0.96.1 - 10.0.96.254 | 254 |
| 10.0.97.0/24 | 10.0.97.1 - 10.0.97.254 | 254 |
| 10.0.98.0/24 | 10.0.98.1 - 10.0.98.254 | 254 |
| 10.0.99.0/24 | 10.0.99.1 - 10.0.99.254 | 254 |
Who this Lab is for
Designed for
- Network Engineers
- Cloud Architects
- DevOps Engineers
Use it when
- Planning VPC networks
- Designing IP allocations
- Splitting large blocks into smaller subnets
A complete run, step by step
Input Base CIDR
Provide an IPv4 block in CIDR notation (e.g. 10.0.0.0/16).
Select Target Prefix
Use the slider to choose how many bits to allocate to the new subnets.
Review Split Table
Examine the generated subnets, usable IP ranges, and total network capacity.
Export the result
Export the calculation for your own documentation.
What you will need
Prepare the following information before starting. Use measured evidence where possible; defaults are examples and should not be treated as recommendations.
What the result tells you
Your report includes
- Network and Broadcast Addresses
- Subnet Mask
- Total Usable IPs
- Split Network Table
- Truncation status for very large splits
How it is determined
Calculates IP boundaries and steps using standardized IPv4 arithmetic via ipaddr.js, iterating efficiently without heavy bitwise overhead in JavaScript.
Canonical IPv4 parsing and subnet boundaries are calculated deterministically and covered by edge-case tests.
Model assumptions
- • All calculations follow IPv4 standard prefix and mask definitions.
- • Broadcast addresses are correctly calculated as the final IP in the range.
- • Usable-host conventions depend on prefix and use case; /31 point-to-point links follow RFC 3021.
Authoritative references
VPC Subnet Planning
Situation
You have a /16 block and need /24 subnets for application tiers.
Result
The tool instantly renders all 256 /24 subnets with precise start/end usable IPs, ready for configuration.
Use the result with engineering judgement
- Currently supports only IPv4 blocks.
- Large splits (>256 subnets) are truncated in the UI to prevent browser freezing.
- Does not validate overlapping allocations against your existing cloud environment.
Questions before you begin
Why does it truncate the output?
Splitting a /8 into /30s produces over 4 million subnets. Rendering this many DOM nodes will crash any browser, so the UI is capped to safely display the first 100 rows of very large splits.
Does it handle IPv6?
Currently, this calculator focuses specifically on IPv4 subnetting. For IPv6, use our CIDR Planner utility.
How are the broadcast addresses calculated?
The broadcast address is always the last IP in the given subnet block, calculated using bitwise OR against the inverse of the subnet mask.
Ready to run Subnet Splitter?
Open the interactive utility without an account. Inputs and results are not saved.
Open toolGet practical engineering references
A useful digest about twice a week with new error references, tools, integration notes and production lessons. No daily noise.