redzilla
All tools
IP Addressing

Subnet Divider (FLSM)

Enter a base network and split it into equal-size subnets: by subnet count, by new prefix or by hosts per subnet. I list them all with mask, range, broadcast and hosts. All in your browser.

Format network/prefix, e.g. 192.168.1.0/24. If you type host bits, I align to the network.

Pick the criterion: how many subnets, which prefix, or how many usable hosts each subnet needs.

I borrow bits up to the nearest power of 2 that covers your count.

redzilla.cl — flsm
 
New prefix
mask
Subnets
0
borrowed bits
Block size
0
addresses each
Usable hosts
0
per subnet
Prefix /26
Mask 255.255.255.192
Step 64
Generated subnets
# Network / CIDR Mask 1st host Last host Broadcast Usable

FLSM splits the base network into equal-size subnets: they all share the same prefix and the same step. When you fix by subnet count I borrow bits up to the nearest power of 2, so the real count may be larger than requested. With hosts per subnet I always reserve network and broadcast.

Runs locally in your browser · no sign-up · nothing leaves your browser

How it works

The divider takes a base network in CIDR format (for example 192.168.1.0/24) and splits it into equal-size subnets (FLSM, Fixed Length Subnet Mask) according to the criterion you choose: number of subnets, new prefix, or hosts per subnet. For every subnet it lists the network with its CIDR, the mask, the first and last host, the broadcast and the usable hosts.

The math is the classic bit borrowing: if you ask for N subnets it borrows ceil(log2(N)) host bits and the new prefix is the sum (the actual count is rounded up to the next power of 2); if you ask for H hosts per subnet it uses H + 2 addresses (reserving network and broadcast) to pick the tightest prefix. Every block stays aligned and the step between subnets is 2^(32−prefix), with the /31 (RFC 3021) and /32 exceptions that skip the subtraction.

Example: splitting 192.168.1.0/24 into 4 equal subnets

  1. 4 subnets require 2 borrowed bits (2^2 = 4): the prefix goes from /24 to /26, mask 255.255.255.192.
  2. Each subnet holds 2^(32−26) = 64 addresses; the step between subnets is 64.
  3. Result: 192.168.1.0/26, .64/26, .128/26 and .192/26, each with 62 usable hosts.

Frequently asked questions

How many subnets do I get if I request a number that is not a power of 2?
The tool rounds up to the next power of 2, because borrowed bits can only produce counts of 2, 4, 8, 16… If you ask for 5 subnets, it borrows 3 bits and you get 8: five to use and three spare. The panel warns you when the actual count exceeds the requested one.
What is the difference between FLSM and VLSM?
FLSM splits the network into identical blocks: same prefix, same step and same host count in every subnet. VLSM assigns different prefixes based on what each segment needs, using the space more efficiently. FLSM is simpler to manage; VLSM wastes fewer addresses. For variable sizes, use the VLSM planner on this site.
What happens if I type an IP with host bits, like 192.168.1.50/24?
The tool automatically aligns it to the network address (192.168.1.0/24), discarding the host bits, and shows a note about it. That way the plan always starts on a valid block boundary.
Why do I get a /27 when I ask for 30 hosts per subnet?
Because the network address and the broadcast are reserved: 30 hosts need 32 addresses (30 + 2), and 32 is exactly 2^5, that is 5 host bits, prefix /27. If you asked for 31 hosts they no longer fit in 32 addresses and the prefix drops to /26 with 62 usable.
Was this tool useful?
Disclaimer We take great care to keep every tool accurate and review it thoroughly; even so, we can't guarantee it is free of errors or take responsibility for how the results are used. We recommend double-checking anything critical.
Found an error? Let us know →