How Many IP Addresses Are In A /16? | CIDR Math Made Simple

A /16 IPv4 block contains 65,536 total addresses, with 65,534 usable on most standard subnets.

You’ve seen “/16” in VPN setups, corporate LAN plans, cloud VPCs, and router configs. It looks small, but it’s a lot of space. If you’re sizing a network, building an IP plan, or reading someone else’s, you want one number you can trust.

Let’s get that number, then make it easy to repeat for any CIDR prefix without doing long math every time.

What “/16” Means In Plain Terms

IPv4 addresses are 32 bits long. A CIDR prefix like “/16” says: “The first 16 bits describe the network.” The remaining bits describe the host part (the part that changes for devices inside that network).

So a /16 splits the address into two equal halves: 16 network bits + 16 host bits. Once you know the host bits, the count is straight math.

How Many IP Addresses Are In A /16? The Straight Count

A /16 leaves 16 bits for hosts. Each host bit can be 0 or 1. That’s 2 choices per bit, multiplied across 16 bits.

So the total number of addresses in a /16 is:

  • 216 = 65,536 total IPv4 addresses

That’s the full block size, including special addresses that some setups reserve.

Usable Hosts In A /16

On many IPv4 subnets, two addresses are treated as reserved:

  • The first address in the block (host bits all 0) is used as the network address.
  • The last address in the block (host bits all 1) is used as the broadcast address.

When that model applies, usable host addresses are:

  • 65,536 − 2 = 65,534 usable addresses

Some networks don’t use broadcast at all, and some platforms reserve different addresses for their own reasons. Still, for classic IPv4 subnetting on routers and switches, “minus two” is the number people expect.

What A /16 Looks Like As A Subnet Mask

A /16 means the first 16 bits are 1s in the subnet mask. In dotted decimal, that mask is:

  • 255.255.0.0

If you’ve ever heard “a /16 is like a Class B,” this is where that comes from. Old classful networks used 255.255.0.0 for Class B. CIDR keeps the mask idea, but drops the rigid classes and lets you pick the prefix you need.

Fast Mental Math For Any CIDR Prefix

If you only remember one trick, make it this: total addresses = 2(32 − prefix). The part in parentheses is the number of host bits.

For /16, that’s 32 − 16 = 16 host bits, so 216 addresses.

Two Shortcut Patterns That Save Time

Once you know one prefix, you can jump to nearby prefixes without recalculating from scratch.

  • Each step toward /0 doubles the block size. Moving from /17 to /16 doubles addresses. Moving from /16 to /15 doubles again.
  • Each step toward /32 halves the block size. Moving from /16 to /17 cuts addresses in half. Move to /18, it halves again.

This “double/half” rule is handy when you’re comparing options in an IP plan and want to see the scale right away.

Where The Math Comes From

CIDR is defined and used across the Internet’s routing system. If you want the official background and the reasons CIDR exists, the IETF’s documentation is the place to start. The core idea is the prefix length, written as “/n,” and the way it supports flexible allocation and route aggregation. RFC 4632 (CIDR) is a solid reference.

Common /16 Questions That Trip People Up

Is A /16 Always “One Big Subnet”?

Not always. “/16” describes an address block size. You can keep it as one subnet (255.255.0.0), or you can split it into smaller subnets, like /20s or /24s, and route between them.

Splitting a /16 is normal in real networks. It makes broadcast domains smaller, makes troubleshooting cleaner, and gives you room to assign ranges by building, floor, service, or security zone.

Does “65,534 Usable” Always Hold?

It holds for the classic broadcast model, where the network and broadcast addresses are not assigned to hosts. That’s the default expectation for IPv4 subnetting in many routers and operating systems.

Some environments reserve more than two addresses. Some allow unusual cases where broadcast is not used. Cloud providers often document their own reservation rules per subnet size. When you’re in one of those environments, treat “65,536 total” as the hard truth, then apply the platform’s reservation rules on top.

What’s The Range Inside A Typical /16?

A /16 range is two full “/24 worlds” stacked 256 times. In other words, you get 256 different values for the third octet, and 256 values for the fourth octet.

Take 192.168.0.0/16 as a familiar example. It spans from 192.168.0.0 through 192.168.255.255. If you carve that into /24s, you’d get 192.168.0.0/24, 192.168.1.0/24, all the way up to 192.168.255.0/24.

Address Counts For Popular Prefixes

When you’re planning, you rarely evaluate /16 in isolation. You compare it to “one notch bigger” and “one notch smaller,” then you check a few standard sizes people use for VLANs, sites, and point-to-point links.

The table below gives you fast reference points. Total addresses are always powers of two. Usable counts assume the classic network/broadcast reservation model.

Prefix Total IPv4 Addresses Usable Hosts (Common Model)
/8 16,777,216 16,777,214
/12 1,048,576 1,048,574
/15 131,072 131,070
/16 65,536 65,534
/17 32,768 32,766
/20 4,096 4,094
/24 256 254
/30 4 2
/32 1 1

When A /16 Is A Good Fit

A /16 is big. That’s a feature when you need room to grow, want to keep summarization clean, or want an address plan that stays stable for years.

Large Internal Networks With Many Segments

Think of a campus network with many VLANs, a company with multiple buildings, or a lab setup with lots of short-lived devices. A /16 gives you space to assign a clean block per segment without painting yourself into a corner.

A common pattern is to allocate one /24 per VLAN. A /16 contains 256 /24s. That alone explains why /16 shows up so often in internal address plans.

Simple Route Summaries

Route summarization is easier when your blocks align neatly. If a site owns one /16, it’s easy to advertise a single summary route upstream, then handle all the smaller subnets inside the site.

That clean boundary is part of what CIDR made possible, and it’s one reason it replaced the old classful system described in early subnetting standards. RFC 950 (subnetting procedure) describes the subnetting idea that many network tools still reflect today.

Private Address Space Planning

In private IPv4 space, /16 blocks are common because they map neatly to how teams think about sites and departments. Still, a large block can invite sloppy assignments if no one owns the plan.

If you run DHCP across a /16, scope design matters. Shorter lease times and clear reservations help avoid odd conflicts, especially when devices appear and disappear all day.

How To Split A /16 Into Smaller Subnets

Most real networks split /16 into smaller chunks. You still keep the /16 as your “parent” block, but you allocate children beneath it. Here’s how to do that without losing track of ranges.

Step 1: Decide Your Subnet Size

Pick a target size based on how many hosts you need per segment. Common choices:

  • /24 for office VLANs (254 usable hosts)
  • /23 when you want about double that (510 usable hosts)
  • /20 when you want a few thousand addresses in one segment (4,094 usable hosts)

Step 2: Work Out How Many Subnets You Get

The number of child subnets inside a parent block is also a power of two. The math is:

  • subnets = 2(childPrefix − parentPrefix)

Inside a /16:

  • /24 gives 2(24 − 16) = 28 = 256 subnets
  • /20 gives 2(20 − 16) = 24 = 16 subnets
  • /18 gives 2(18 − 16) = 22 = 4 subnets

Step 3: See The “Jump Size” In The Octets

This is where subnetting gets concrete. The child prefix determines where the boundaries fall inside the dotted-decimal address.

Inside a 192.168.0.0/16 parent:

  • /24 boundaries jump by 1 in the third octet (0, 1, 2, …, 255)
  • /20 boundaries jump by 16 in the third octet (0, 16, 32, …, 240)
  • /18 boundaries jump by 64 in the third octet (0, 64, 128, 192)

Once you spot the jump size, you can list subnets fast and avoid off-by-one mistakes.

Compare /16 With Nearby Sizes

Sometimes /16 is too big. Sometimes it’s too small. These quick comparisons help when you’re balancing growth room against routing and management overhead.

Block Total Addresses What Changes
/15 131,072 Double the size of /16; one fewer prefix bit
/16 65,536 256 separate /24s fit inside cleanly
/17 32,768 Half the size of /16; tighter plan, less spare space
/18 16,384 Often used per large site; easier to keep DHCP scopes smaller
/20 4,096 Good for big segments without being huge
/24 256 Classic VLAN size; fast to reason about
/30 4 Point-to-point links in older designs
/32 1 Single host route; common for loopbacks

Practical Tips So Your /16 Doesn’t Turn Into A Mess

A /16 gives a lot of freedom. Freedom can turn into chaos if ranges get handed out ad hoc. A few habits keep it clean.

Assign By Function, Not By Mood

Reserve blocks for roles: user VLANs, servers, voice, printers, guest Wi-Fi, management, and lab. Leave gaps between major categories so you can grow without reshuffling.

Keep A Simple IP Plan Document

A one-page table in your docs or ticket system is enough. List each subnet, its purpose, its gateway, and who owns it. When someone asks for “just one more /24,” you can say yes or no with confidence.

Watch Broadcast Domains

A /16 as one flat Layer 2 domain is rare for good reasons. Broadcast and ARP traffic grow with the number of devices sharing the same segment. Use routing between smaller subnets to keep noise down.

Make Room For Infrastructure Addresses

Even in a /24, addresses get consumed by gateways, firewalls, load balancers, VPN concentrators, and static reservations. Plan that from day one so you don’t cram everything into the first few IPs and regret it later.

Recap For Your Notes

A /16 means 16 host bits. That gives 216 = 65,536 total IPv4 addresses. In the common network/broadcast model, 65,534 are usable for hosts.

If you want to repeat the calculation for any prefix, use 2(32 − prefix). Then use the double/half rule to sanity-check your math when you move one prefix step at a time.

References & Sources

Please use a real email you check. If it's fake or mistyped, your message won't reach us and we can't reply — wrong addresses are rejected automatically.