IPv6 ULA Generator (RFC 4193)
Generate a random RFC 4193 IPv6 unique local address /48 prefix with a crypto-strong Global ID, plus an example /64 subnet and host. Free, no upload.
Click Generate to create a random RFC 4193 unique local /48 prefix — or load the RFC example.
🔒 The 40-bit Global ID is drawn from your browser's cryptographic RNG (WebCrypto). Nothing is uploaded.
What an IPv6 ULA is
A Unique Local Address is the IPv6 counterpart to RFC 1918 private ranges like 192.168.0.0/16. RFC 4193 reserves fc00::/7 for these addresses, and locally generated prefixes set the L bit to 1, so every prefix this tool produces begins with fd — the fd00::/8 range. A ULA gives a home lab, VPN, or private site network a stable address space that is unique by probability and never routed on the public internet.
How this generator works
The heart of a ULA is its 40-bit Global ID, which RFC 4193 requires you to choose randomly rather than sequentially — random IDs are what make two independently generated /48 prefixes almost never collide when two networks are merged. This tool draws that Global ID from your browser's cryptographic random number generator (WebCrypto), prepends the fd prefix to form a /48, and shows an example /64 subnet and host address so you can see how to carve up the space. Everything runs client-side and nothing is uploaded.
Frequently asked questions
Why does every generated prefix start with "fd"?
RFC 4193 splits the fc00::/7 block with an 8th "local" bit. A prefix you generate yourself sets that bit to 1, which forces the first byte to 0xfd. The fc00::/8 half (L bit 0) is reserved and unused today, so a self-assigned ULA is always in fd00::/8.
Can I route a ULA on the public internet?
No. ULAs are for private, internal use, like RFC 1918 IPv4 addresses. ISPs drop them, so they are ideal for lab, VPN, and site-internal networks but cannot reach the global internet.
Do I need to register the Global ID anywhere?
No. The point of the random 40-bit Global ID is that no registry or coordination is needed — a cryptographically random value collides with someone else's only with negligible probability, so you generate one and use it.