VLSM planner
List the subnets you need and how many hosts each has. Get a gap-free plan sized to fit.
192.168.10.0/24 · 256 addresses
Enter them in any order. The planner sorts largest first.
- → /26
- → /27
- → /28
- → /30
Address map
192.168.10.0/24 drawn to scale, lowest address on the left
- Engineering 192.168.10.0/26
- Sales 192.168.10.64/27
- Mgmt 192.168.10.96/28
- WAN 192.168.10.112/30
- Free space
Allocation table
Largest first, in address order
| Name | Needed | Prefix | Network | Usable range | Broadcast | Usable | Waste |
|---|---|---|---|---|---|---|---|
| Engineering | 60 | /26 | 192.168.10.0 | 192.168.10.1 – 192.168.10.62 | 192.168.10.63 | 62 | 2 |
| Sales | 25 | /27 | 192.168.10.64 | 192.168.10.65 – 192.168.10.94 | 192.168.10.95 | 30 | 5 |
| Mgmt | 12 | /28 | 192.168.10.96 | 192.168.10.97 – 192.168.10.110 | 192.168.10.111 | 14 | 2 |
| WAN | 2 | /30 | 192.168.10.112 | 192.168.10.113 – 192.168.10.114 | 192.168.10.115 | 2 | 0 |
Free blocks
Unallocated space, as the fewest aligned blocks. Keep it for growth.
- 192.168.10.116/304 addr
- 192.168.10.120/298 addr
- 192.168.10.128/25128 addr
How VLSM works
VLSM (variable length subnet masking) means giving each subnet its own prefix length, sized to what it needs, instead of cutting the network into equal pieces. A small WAN link gets a tiny block; a big office gets a big one.
- Sort largest first. List the subnets by hosts needed, biggest at the top.
- Size each one. Find the fewest host bits h where 2ʰ − 2 ≥ hosts. The 2 is the network and broadcast addresses, which hosts cannot use. The prefix is 32 − h. For 60 hosts: 2⁶ − 2 = 62, so h = 6 and the prefix is /26 (64 addresses).
- Place it on the next boundary of its own size. A /26 (64 addresses) must start on a multiple of 64: .0, .64, .128 or .192. Take the first free one.
Why largest first? Every block size is a power of two, and every bigger size is a multiple of every smaller one. When the big blocks go first, the end of each block is automatically a valid boundary for the next, smaller block, so blocks sit back to back with no gaps. Going small first leaves odd-sized holes: a /30 at .0 forces the next /26 to skip ahead to .64, wasting .4–.63.
Waste in the table is usable addresses inside a subnet that you did not ask for, e.g. 25 hosts in a /27 (30 usable) wastes 5. Free blocks are space not given to any subnet yet.