Copied!
Sign In
Access your IPWhois.net account
No account? Create one

Random IPv6 Address Generator

Prefix (only used in range mode)

About the IPv6 Address Generator

This tool works in two modes. In random mode (leave the Base IPv6 field blank) it generates the requested number of random IPv6 addresses using PHP's random_bytes() function, which reads from the operating system's cryptographically secure pseudorandom number generator. Each address is a valid 128-bit IPv6 address returned in compressed notation.

In range mode (enter a Base IPv6 address) the tool applies the selected prefix mask to calculate the network address, then lists the first N addresses starting from that network. For example, entering 2001:db8::1 with a /64 prefix produces a sequential list starting from 2001:db8::. This is useful for planning IPv6 address allocations or testing IPv6-aware applications with specific address sets.

All output addresses are returned in compressed RFC 5952 notation, collapsing consecutive zero groups with :: and removing leading zeros from each group.

IPv6 Address Space

IPv6 uses 128-bit addresses, giving a total address space of 2^128, which is approximately 3.4 x 10^38 addresses. This number is so large that even if the entire earth's surface were covered in computers each receiving a unique IPv6 address, we would have barely made a dent in the available space. IPv6 was designed with this abundance intentionally to eliminate the need for NAT and allow every device on earth to have a unique globally routable address.

The most common subnet size for end networks is a /64 prefix, which contains 2^64 (about 18 quintillion) addresses. This is the standard allocation for a single LAN segment and is required for SLAAC (Stateless Address Autoconfiguration). Residential customers typically receive a /56 or /48 prefix from their ISP, allowing them to subnet further within their allocation.

IPv6 Address Types

Understanding IPv6 address types helps interpret generated addresses correctly. Global unicast addresses start with 2000::/3 and are routable on the public internet. Link-local addresses start with fe80::/10 and are automatically configured on every IPv6 interface but are not routed beyond the local network segment. Unique local addresses start with fc00::/7 and are the IPv6 equivalent of private ranges, intended for internal use within an organisation.

Loopback is represented as ::1 (equivalent to 127.0.0.1 in IPv4). Documentation and example addresses use the 2001:db8::/32 range and should appear in all documentation and examples, including this tool when demonstrating range mode.

Frequently Asked Questions

What is the difference between compressed and expanded IPv6 notation?

An IPv6 address is 8 groups of 4 hexadecimal digits separated by colons. The expanded form of the loopback address is 0000:0000:0000:0000:0000:0000:0000:0001. In compressed notation this becomes ::1, where :: replaces one or more consecutive all-zero groups. This tool always outputs compressed notation, which is standard for display and configuration purposes.

Why is the /64 prefix the default for range mode?

A /64 is the standard prefix size for a single subnet in IPv6 networking. It is also the smallest prefix that is compatible with SLAAC auto-addressing. Most real IPv6 deployments assign a /64 to each LAN segment, making it the most relevant default for testing scenarios.

Can I generate addresses in a specific range like link-local?

Yes. Enter fe80:: as the Base IPv6 with a /64 prefix to list addresses in the link-local range. For documentation addresses use 2001:db8::.

Can I generate IPv4 addresses instead?

Yes, visit our Random IPv4 Address Generator for 32-bit address generation.