IPv6 ULA Generator

Generate a random IPv6 unique local address (ULA) prefix for a private network, with its first /64 subnets ready to assign. This IPv6 ULA generator follows RFC 4193.

Updated
Generated in your browser with a cryptographic random source.
Your ULA prefix (/48)
–
Global ID (40 bits)
–
First /64 subnet
–
Example host address
–
/64 subnets

    How to use the IPv6 ULA Generator

    1. Open the page: a new prefix is already generated. Press Generate for another one.
    2. Set /64 subnets to list to the number of VLANs or segments you plan. The prefix stays the same while you change it.
    3. Copy Your ULA prefix (/48) into your router, and give each network one of the listed /64 subnets.

    How it works

    A unique local address has this layout (RFC 4193):

    | fd (8 bits) | Global ID (40 bits) | Subnet ID (16 bits) | Interface ID (64 bits) |
    • fd is fc00::/7 with the L bit set, meaning locally assigned.
    • The Global ID is 40 random bits, drawn here with your browser's cryptographic random source. Randomness is what makes two private networks unlikely to clash if they are ever joined.
    • The 16-bit Subnet ID gives 65,536 /64 subnets per prefix.

    RFC 4193 also describes deriving the Global ID from a SHA-1 hash of the time and a MAC address. Section 3.2.1 allows any method with good randomness, and a direct random draw is the simplest one.

    Examples

    • Global ID 12:3456:789a gives the prefix fd12:3456:789a::/48.
    • Its first subnets are fd12:3456:789a::/64, fd12:3456:789a:1::/64, fd12:3456:789a:2::/64, and so on up to fd12:3456:789a:ffff::/64.
    • A host on the second subnet might be fd12:3456:789a:1::10.

    Limitations

    • ULA addresses are not routed on the public internet. Hosts that need to reach it also need a global address or NAT66.
    • Uniqueness is statistical. With 2^40 possible Global IDs, a clash between two networks is very unlikely but not impossible.
    • The fc00::/8 half is reserved for a central registry that was never set up, so every real ULA starts with fd.

    Frequently asked questions

    What is an IPv6 ULA?

    A unique local address is IPv6's version of private address space like 192.168.0.0/16. It starts with fd and works inside a site or between sites you connect, but not on the public internet.

    Can I just use fd00::/48?

    It works, but many people pick it, so merging networks or joining a VPN later can cause overlaps. A random Global ID avoids that at no cost.

    Should I use ULA or global IPv6 addresses?

    Use global addresses for anything that talks to the internet. ULAs suit internal services, labs, and addresses that must stay stable when your ISP changes your global prefix. Many networks use both.

    Often used together with the IPv6 ULA Generator.