🌐 IPv6 Subnet Planner – Design & Document Your IPv6 Network
Planning an IPv6 network requires a different mindset from IPv4. With a 128-bit address space, even the smallest ISP allocation contains enough subnets to number every device on Earth millions of times over. The IPv6 Subnet Planner helps network engineers, administrators, and students translate that vast space into a structured, documented allocation plan — without manual bit-math or spreadsheet juggling.
Why IPv6 Subnetting Is Different
IPv4 subnetting fights scarcity: administrators squeeze every last address out of a /24 to avoid waste. IPv6 subnetting embraces abundance. A typical organization receives a /48 site prefix from their ISP, which contains 65,536 individual /64 LAN subnets — enough for every department, VLAN, IoT zone, and guest network imaginable, with room to spare for years of growth.
IPv6 addressing follows a strict three-tier hierarchy:
| Tier | Typical Prefix | Assigned To | Subnets Available |
|---|---|---|---|
| Regional Internet Registry | /23 – /12 | ISPs and large carriers | Billions of /48s |
| ISP / LIR Allocation | /32 | Internet service providers | 65,536 × /48 sites |
| Site / Organization | /48 | Enterprises, campuses | 65,536 × /64 LANs |
| LAN Segment | /64 | Individual subnets (SLAAC) | ~1.8 × 10¹⁹ host addresses |
How the Planner Works
Enter a parent IPv6 prefix in CIDR notation — for example 2001:db8::/32 — and choose the subnet prefix length you want to carve out, such as /48. The planner uses 128-bit BigInt arithmetic to precisely compute each subnet's network address, first and last host addresses, and suggested gateway (::1 convention per subnet).
Key formulas used internally:
- Number of subnets =
2^(child_prefix − parent_prefix) - Subnet size =
2^(128 − child_prefix)addresses - Nth subnet base address =
parent_network + N × subnet_size - Last address =
base_address + subnet_size − 1
Allocation Strategies
Sequential Allocation
The default strategy. Subnets are allocated consecutively starting from the parent block. For example, a /32 subdivided into /48 blocks produces: 2001:db8:0::/48, 2001:db8:1::/48, 2001:db8:2::/48, and so on. This is the simplest approach and the easiest to document.
Sparse (Gap) Allocation
Set a sparse spacing value greater than 1 to leave intentional gaps between allocated subnets. With a spacing of 4, the tool allocates slots 0, 4, 8, 12, … The gaps are reserved for future splits: each gap can later be divided into smaller subnets without disrupting existing allocations. This technique is common in large enterprise networks with multi-tier prefix delegation.
Named Department Allocation
Provide subnet labels (one per line or comma-separated) to generate a documentation-ready allocation table. Each allocated subnet is named — HQ-LAN, Guest-WiFi, IoT, Servers, DMZ — making the output immediately usable for IPAM imports, network diagrams, or change management records.
Starting Offset
Use the starting offset to begin allocation partway through a parent block. This is useful when some subnets are already in use and you want to continue from a known boundary. For example, setting an offset of 10 on a /48 → /64 plan starts at ::a:0:0:0:0/64 instead of the first address.
The /64 Boundary Rule
Address Types Supported
The planner automatically detects and labels the parent block type:
- Global Unicast (GUA) —
2000::/3— publicly routable addresses used on the internet - Unique Local Address (ULA) —
fc00::/7— private addresses analogous to RFC 1918 (10.x.x.x, 192.168.x.x) - Link-Local —
fe80::/10— auto-assigned addresses only valid on a single network segment - Documentation —
2001:db8::/32— reserved for use in RFCs, examples, and technical documentation (not routable) - Multicast —
ff00::/8— one-to-many delivery
Compressed vs. Expanded Notation
IPv6 addresses can be written in compressed form (RFC 5952 canonical, e.g., 2001:db8:1::/48) or in expanded/exploded form showing all 32 hex nibbles (e.g., 2001:0db8:0001:0000::/48). Toggle "Show Expanded Notation" to switch between formats in the allocation table — useful when configuring devices that require the full address form.
Exporting Your Allocation Plan
The planner generates a structured allocation table that can be exported in two ways:
- Copy Table — copies the entire table as tab-separated text suitable for pasting into spreadsheets or documentation
- Download CSV — downloads a comma-separated file with all columns (index, compressed CIDR, expanded CIDR, first host, last host, gateway, label, status) compatible with IPAM tools like NetBox, phpIPAM, and Infoblox
Common Use Cases
- ISP address delegation — plan how to distribute a
/32allocation to enterprise customers as/48site blocks - Campus network design — subdivide a
/48into per-building or per-VLAN/64segments with named departments - CCNA/CCNP exam practice — verify manual IPv6 subnetting calculations and learn the addressing hierarchy
- Lab and home networking — plan ULA (
fd00::/8) allocations for private IPv6 test environments - IPAM pre-population — generate a CSV allocation plan to bulk-import into network management software