The /25 subnet

A /25 subnet uses the mask 255.255.255.128 and holds 128 addresses, 126 of them usable.

Reference data last reviewed:

/25
Prefix length
255.255.255.128
Subnet mask
0.0.0.127
Wildcard mask
126
Usable hosts

The /25 mask is 25 network bits followed by 7 host bits, for a total of 32 bits.

25 network bits (the 1s)7 host bits (the 0s)

A /25 splits a /24 into smaller pieces: 128 addresses and 126 usable hosts, with the mask 255.255.255.128. It is a tidy size for a small VLAN, a DMZ, or a rack of servers.

Right-sizing a subnet to a /25 avoids wasting a full /24 on a handful of hosts. The wildcard mask 0.0.0.127 is the form you use in access lists and firewall rules to match this range.

Below you can see the exact network, broadcast, and host range for any /25 you enter, calculated instantly in your browser.

Calculate a /25 network

Accepts CIDR (192.0.2.0/24), IP + mask (192.0.2.0 255.255.255.0), or a bare IP (defaults to /24).

Network address192.0.2.0
Usable host range192.0.2.1 - 192.0.2.126
Broadcast address192.0.2.127
Usable hosts126
Subnet mask255.255.255.128
Wildcard mask0.0.0.127
CIDR notation192.0.2.0/25
Total addresses128
IP (binary)11000000.00000000.00000010.00000000
Mask (binary)11111111.11111111.11111111.10000000
Try:

Example: 192.0.2.0/25

Taking 192.0.2.0/25 as a worked example, the block breaks down like this:

Network address192.0.2.0
Usable range192.0.2.1 - 192.0.2.126
Broadcast address192.0.2.127
Total addresses128
Usable hosts126
Size1/2 of a class C block

A note on the example: 192.0.2.0 is in 192.0.2.0/24, documentation (test-net-1) space under RFC 5737. Reserved for examples and documentation. Safe to print, never routed. Every example on this site uses reserved space on purpose, so nothing here points at somebody's real network.

Splitting a /25 into smaller subnets

Borrowing bits from the host part doubles the number of subnets and halves the size of each one. This is what a /25 looks like at the next 4 prefix lengths.

How a /25 block divides into longer prefixes
Split intoSubnetsMaskUsable hosts each
/262255.255.255.19262
/274255.255.255.22430
/288255.255.255.24014
/2916255.255.255.2486

Each subnet has to start on a multiple of its own size, which is what keeps the blocks from overlapping. Working the other way, from a host count back to a prefix, is what subnet by host count is for.

Do this from the terminal

The same numbers are available as keyless JSON, and there are good local tools that need no network at all. Naming them costs nothing and is more useful than pretending this page is the only option.

curl -s https://subnetkit.dev/api/cidr/25.json | jq

# or locally, with no network at all:
ipcalc 192.0.2.0/25
sipcalc 192.0.2.0/25

ipcalc ships in most Linux distributions and sipcalc handles IPv4 and IPv6. The SubnetKit API is the one to reach for in a build step or a script that wants the same values this page shows.

Frequently asked questions

What is the subnet mask for a /25?

A /25 uses the subnet mask 255.255.255.128. Its wildcard mask, used in access lists, is 0.0.0.127.

How many hosts are in a /25 subnet?

A /25 has 128 total addresses and 126 usable hosts (the total minus the network and broadcast addresses, except for /31 and /32).

What is a /25 used for?

Small subnet. It is equivalent to 1/2 of a class C block.

How do I calculate a /25 network?

Set the host bits to zero for the network address and to one for the broadcast address. The calculator on this page does it for any /25 block you enter.

How many /26 subnets fit in a /25?

2, each with 62 usable hosts and the mask 255.255.255.192. Every extra bit you borrow doubles the number of subnets and halves the size of each one.

Opening a port on a /25

A firewall rule needs two halves: the range and the port. The wildcard mask 0.0.0.127 matches this whole block in an access list. For the other half, the port number reference lists what each TCP and UDP port carries and whether it is encrypted by default, so you can tell what you are about to expose to 126 addresses.

Sources

The arithmetic on this page follows the documents below. Every number is computed from the prefix length rather than stored, and the calculation is covered by tests over all 33 prefixes.

Spotted something wrong? Tell us and it gets corrected. How the data is maintained is described on the about page.