Network · Developer

IPv6 ULA prefix generator.

Make a random private IPv6 prefix (a unique local address, fd00::/8) for your home lab or company network. You get a /48, the first /64 subnets, and every address in compressed form.

Advertisement

Inputs

Result

Press Generate prefix.

How it's calculated

A unique local address (ULA) is the IPv6 counterpart of private address space. RFC 4193 section 3.1 lays it out as a 7-bit prefix fc00::/7, an L bit, a 40-bit Global ID, a 16-bit Subnet ID and a 64-bit Interface ID. L is set to 1 for a prefix you generate yourself, so every locally generated ULA starts with fd and your site gets a /48. The 16-bit Subnet ID gives you 65,536 subnets of /64 each.

The Global ID must be pseudo-random, never sequential or a well-known number (section 3.2). The sample algorithm in section 3.2.2 is: take the time of day in 64-bit NTP format, add an EUI-64 or other identifier unique to the machine, join them into a key, compute the SHA-1 digest (160 bits), and use the least significant 40 bits as the Global ID. This tool does exactly that with your browser's WebCrypto SHA-1. A web page cannot read a hardware EUI-64, so the identifier is 8 random bytes, which is the "suitably unique identifier" the RFC allows. The key, digest and Global ID are shown in the result so you can check the work. The second method skips the hash and uses 40 random bits from crypto.getRandomValues, which the RFC also permits because it asks only for a pseudo-random Global ID. If your browser has no WebCrypto SHA-1 (some non-HTTPS contexts), the tool falls back to random bits and says so.

Addresses are written in the RFC 5952 section 4 form: no leading zeros, lowercase, and the longest run of zero groups replaced by :: (the first run if two tie, and never a single zero group).

Collisions. Two sites can pick the same Global ID, because nobody coordinates. RFC 4193 section 3.2.3 gives the chance as P = 1 - exp(-N² / 241) for N interconnected Global IDs: about 1.81 in 1012 for 2, 4.54 in 109 for 100 and 4.54 in 105 for 10,000. That is unlikely, not impossible. RFC sources read 2026-09-30.

Frequently asked questions

Can a ULA be reached from the internet?

No. ULAs are not designed to be routed globally (RFC 4193 section 3.2), so internet routers are not expected to carry them. Devices that only have a ULA need a globally routable address or a translation setup to reach the internet.

Why not just use fd00::/48?

The RFC says Global IDs must not be well-known or sequential. A random one keeps your network from clashing with another site's when the two are joined later by a VPN or merger.

Is the result guaranteed to be unique?

No. A 40-bit random ID makes a clash statistically unlikely, not impossible, and nothing checks other networks' prefixes.

Is anything sent to a server?

No. The prefix is generated in your browser and is not stored.

Private address space only

A ULA prefix is not globally routable and is not registered to you anywhere. Keep the prefix you choose in your own network documentation. Collisions with another site's prefix are statistically unlikely, not ruled out.

Advertisement
Advertisement
Listening…