IPv6 subnet calculator
IPv6 Subnet Calculator
Free, no sign-up. We only fetch the public URL you enter.
Short answer
Enter an IPv6 prefix such as 2001:db8::/48. The calculator shows the expanded address (2001:0db8:0000:0000:0000:0000:0000:0000), the compressed form, the network, the first and last address of the range, the number of addresses and the number of /64 subnets the block contains — a /48 holds 65,536 of them. If the hosts behind the prefix serve websites, monitordefend can watch those sites for downtime.
- Accepts any IPv6 prefix from /0 to /128.
- Expanded and compressed notation side by side.
- Address range, address count and number of /64 subnets.
Expanded 2001:0db8:0000:0000:0000:0000:0000:0000 Compressed 2001:db8:: Network 2001:db8::/48 First 2001:db8:: Last 2001:db8:0:ffff:ffff:ffff:ffff:ffff Addresses 2^80 · /64 subnets: 65,536
This free IPv6 subnet calculator takes an IPv6 address with its prefix length and shows the whole picture: the address in full expanded and in compressed form, the network prefix, the first and last address of the range, the total number of addresses and how many standard /64 subnets fit into the block. Paste a prefix such as 2001:db8::/48 from your provider, router or cloud console and get the answer instantly — without counting hexadecimal digits by hand.
What is an IPv6 subnet calculator?
An IPv6 subnet calculator takes a 128-bit address and a prefix length and works out the boundaries of the network the prefix describes. It tells you where the range starts and ends, how many addresses it holds and how it can be divided. Because IPv6 addresses are written in hexadecimal and can be shortened, even reading them correctly is error-prone, and the calculator removes that step.
Network engineers use it to plan an address scheme for sites, VLANs and point-to-point links. DevOps teams and developers need it when they enable IPv6 in a cloud network, assign prefixes to subnets in infrastructure-as-code templates, write firewall rules or configure dual-stack load balancers, where a single misplaced digit sends traffic into the wrong network.
How to use the IPv6 subnet calculator
Enter an IPv6 address followed by a slash and the prefix length, for example 2001:db8::/48 or 2001:db8:abcd:12::/64. You may type the address compressed or expanded and in upper or lower case; the calculator normalises it. If you enter an address with host bits set, such as 2001:db8::1/64, it determines the network the address belongs to.
- Global prefix 2001:db8:1234::/48 from the provider
- Subnet ID 16 bits → 65,536 subnets
- Interface ID 64 bits per host
The result shows the address in both notations, the network prefix, the first and the last address of the range, the total number of addresses and the number of /64 subnets inside the block. For prefixes longer than /64 the last value is zero, because the block is smaller than a single standard subnet; that is the normal case for point-to-point links and single-host routes.
- Expanded address — all eight groups with four hex digits each
- Compressed address — shortest valid form following RFC 5952
- Network — the prefix with all host bits set to zero
- First and last address — the address range of the block
- Number of addresses — 2 to the power of the host bits
- Number of /64 subnets — how many standard LANs fit inside
How IPv6 addresses are structured
An IPv6 address has 128 bits, written as eight groups of four hexadecimal digits separated by colons. Each group, sometimes called a hextet, carries 16 bits. The prefix length after the slash counts the bits that belong to the network, exactly as in IPv4 CIDR notation — but over a far bigger space.
In a typical unicast address, the first 48 bits are the global routing prefix assigned by a provider or registry, the next 16 bits form the subnet ID you choose for your own networks, and the last 64 bits are the interface ID of the individual device. That fixed split is why a /48 is so convenient: the subnet ID gives you 65,536 subnets, each with the standard /64 size.
Compressed and expanded notation
Two rules shorten IPv6 addresses. First, leading zeros inside a group may be dropped, so 0db8 becomes db8 and 0000 becomes 0. Second, one run of consecutive all-zero groups may be replaced by a double colon. 2001:0db8:0000:0000:0000:0000:0000:0001 therefore becomes 2001:db8::1.
2001:0db8:0000:0000:0000:ff00:0042:8329 2001:db8:0:0:0:ff00:42:8329 leading zeros dropped 2001:db8::ff00:42:8329 longest zero run → ::
The double colon may appear only once, otherwise the address would be ambiguous. RFC 5952 also recommends lowercase letters and shortening the longest zero run, which is what the calculator shows as the compressed form. The expanded form is useful when you compare addresses character by character, sort them in a spreadsheet or write reverse DNS zones, where every nibble counts.
Number of subnets per prefix
The most common planning question is how many subnets a prefix gives you. The answer is 2 to the power of the difference between the target prefix and your prefix. Splitting a /48 into /64 subnets gives 2 to the power of 16, 65,536 subnets. Splitting a /56 into /64 gives 256, a /60 gives 16.
| Prefix | /64 subnets | Addresses | Typical holder |
|---|---|---|---|
| /32 | 4,294,967,296 | 2^96 | Internet provider or large organisation (registry allocation) |
| /40 | 16,777,216 | 2^88 | Large enterprise or hosting provider |
| /44 | 1,048,576 | 2^84 | Regional network |
| /48 | 65,536 | 2^80 | Site of a business, standard end-site assignment |
| /52 | 4,096 | 2^76 | Larger branch or department |
| /56 | 256 | 2^72 | Home or small business connection |
| /60 | 16 | 2^68 | Small home connection |
| /64 | 1 | 2^64 | One LAN or VLAN, standard subnet size |
| /127 | 0 | 2 | Point-to-point link between routers (RFC 6164) |
| /128 | 0 | 1 | Single address, loopback, host route |
Difference between IPv4 and IPv6 subnetting
Both versions split networks into smaller parts with a prefix, but the goal is different. IPv4 has only 32 bits and about four billion addresses, so subnetting is about economy: you choose a /27 or /28 to waste as few addresses as possible, and you subtract network and broadcast addresses from every block.
IPv6 has no shortage. A single /64 holds more addresses than the entire IPv4 internet many billions of times over, and there is no broadcast address to subtract. Subnetting becomes a question of structure: one /64 per LAN, nibble-aligned prefixes such as /52 or /56 per site or building, and a scheme that is easy to read and to aggregate in routing tables. Stateless address autoconfiguration, SLAAC, also expects 64-bit interface IDs, which is the main reason not to make LANs smaller than /64.
IPv6 address types to recognise
Not every IPv6 address is meant for the internet. Global unicast addresses start with 2 or 3 and are publicly routed. Unique local addresses in fc00::/7, in practice fd00::/8, are the private counterpart for internal networks. Link-local addresses in fe80::/10 exist on every interface and only work on the local link, which is why they appear in neighbour discovery and routing protocols.
The prefix 2001:db8::/32 is reserved for documentation and examples, so you can use it safely in tutorials and test configurations. Multicast lives in ff00::/8 and replaces broadcast in IPv6.
Best practices for planning an IPv6 address scheme
A good IPv6 plan is boring on purpose: predictable, aligned and generous. These habits keep it that way as the network grows.
- Use /64 for every LAN and VLAN, even small ones
- Align boundaries on nibbles (/48, /52, /56, /60) so prefixes stay readable
- Encode site, building or environment in the subnet ID consistently
- Use /127 for router-to-router links and /128 for loopbacks
- Keep the plan in version control next to your infrastructure code
- Document the expanded form where tools compare addresses as text
IPv6 subnetting in the cloud and in infrastructure as code
Cloud platforms usually hand out IPv6 space in fixed sizes: a virtual network receives a /56 or a /48 from the provider’s pool, and each subnet inside it is a /64. You do not choose how many addresses a subnet gets, only which /64 it is, so planning is about assigning subnet IDs per availability zone, tier and environment in a way your team can read at a glance.
In Terraform and similar tools, derive the /64 subnets from the parent prefix with a function instead of typing each one, and keep the parent prefix in a variable. Check the result with the calculator before applying: the first and last address of each subnet must lie inside the parent range, and no two environments should share a prefix. For dual-stack setups, remember that firewall and security-group rules exist separately for IPv4 and IPv6 — a service that is locked down over IPv4 can be wide open over IPv6 if the second rule set is forgotten.
Common IPv6 subnetting mistakes
Most IPv6 problems in practice come from habits carried over from IPv4 or from misreading the hexadecimal notation.
- Making LANs smaller than /64 to “save” addresses
- Using :: twice in one address or dropping a needed zero group
- Splitting prefixes off nibble boundaries, which makes them hard to read and to delegate in reverse DNS
- Forgetting IPv6 rules in firewalls and security groups
- Using documentation addresses (2001:db8::/32) in production
Keep the websites behind your prefixes online
A clean address plan does not tell you whether the websites on those hosts actually answer. monitordefend checks each website’s homepage every five minutes and emails you when it goes down, confirmed by a second attempt. Plans start with a 7-day free trial.
Frequently asked questions
How many /64 subnets are in a /48?
A /48 contains 2 to the power of 16, that is 65,536 subnets of size /64.
Why is /64 the standard IPv6 subnet size?
The interface ID of a device is 64 bits long, and stateless address autoconfiguration (SLAAC) relies on that. Smaller LAN subnets break autoconfiguration and some neighbour-discovery features.
Is there a broadcast address in IPv6?
No. IPv6 uses multicast instead, so the first and last addresses of a range are not reserved the way network and broadcast addresses are in IPv4.
How do I write an IPv6 address correctly?
Drop leading zeros in each group, replace the longest run of zero groups with :: once and use lowercase letters. The calculator shows this compressed form next to the expanded one.
Can I calculate IPv4 subnets here too?
This page is for IPv6. For IPv4 blocks such as 192.168.1.0/24, use the IPv4 subnet calculator.
Related pages
Monitor the websites in your network
Start for free and set up your first check in minutes.
Start for free