VLSM Calculator
Give each planned subnet a host requirement and the allocator will place the largest blocks first. Every result stays inside the parent IPv4 network.
One count per line, optionally named: Office: 100
Include gateway addresses in each host requirement. This planner reserves network and broadcast positions for every allocated LAN.
Unallocated parent addresses
32
Allocation within 192.168.10.0/24
- Office
- 192.168.10.0/25 (100 requested, 126 usable)
- Lab
- 192.168.10.128/26 (50 requested, 62 usable)
- Guest
- 192.168.10.192/27 (20 requested, 30 usable)
| Subnet | CIDR | Host range | Broadcast |
|---|---|---|---|
| Office | 192.168.10.0/25 | 192.168.10.1 – 192.168.10.126 | 192.168.10.127 |
| Lab | 192.168.10.128/26 | 192.168.10.129 – 192.168.10.190 | 192.168.10.191 |
| Guest | 192.168.10.192/27 | 192.168.10.193 – 192.168.10.222 | 192.168.10.223 |
Budget for hosts before allocating
Variable-length subnet masking lets departments use different block sizes. Enter one requirement per line, optionally preceded by a name and colon, such as Office: 50. Count gateways and other addressed interfaces in that requirement, and add growth room yourself.
This planner uses conventional LAN addressing. It adds two reserved positions to each request, rounds up to a power of two, and places blocks at aligned boundaries. Even a one-host request receives a /30. Point-to-point /31 allocations and /32 routes are deliberately excluded from this host-planning model.
Three networks inside a /24
Requests for 100, 50, and 20 hosts require blocks of 128, 64, and 32 addresses. Starting with 192.168.10.0/24, their prefixes are .0/25, .128/26, and .192/27. The remaining 32 addresses begin at .224.
Unused capacity inside an assigned subnet is different from unallocated parent space. The table reports each subnet’s usable capacity so you can see that distinction. If a request cannot fit, the tool reports an error instead of returning a partial plan that appears complete. Existing reservations or occupied subnets are not imported; use an unallocated parent block.