IPv6 ULA generator

Generate a local IPv6 /48 prefix using secure browser randomness and plan its /64 subnets.

IPv6 ULA generator

Record and reuse your production /48. This page creates a new candidate on each visit; it does not save your prefix.

Enter 1–4 hex digits, from 0000 to ffff (0–65,535)

ULA space: fc00::/7 · Locally assigned: fd00::/8 (L = 1) · Prefix length: /48 · 65,536 /64 subnets · Random source: Web Crypto

Site prefix (/48)

Generate a local IPv6 /48 prefix using secure browser randomness and plan its /64 subnets.

Site prefix (/48)

Global ID (40 bits)

Selected subnet (/64)

First subnet (/64)

Last subnet (/64)

About unique local addresses

An IPv6 ULA is intended for local networks, private interconnections and VPNs. The ULA block is fc00::/7; locally assigned prefixes use fd00::/8 with the L bit set to 1. The L = 0 allocation method is not defined by RFC 4193.

Address layout and subnet planning

The layout is fd (8 bits) + random Global ID (40 bits) + Subnet ID (16 bits) + Interface ID (64 bits). A site receives one /48 and can allocate 65,536 /64 subnets. Choose a different Subnet ID for each subnet; interface addresses are assigned separately.

This fd00 generator formats /48 and /64 output in canonical lowercase RFC 5952 notation, suppressing leading zeros and compressing the longest zero run.

Statistically unique, not guaranteed

This RFC 4193 generator uses crypto.getRandomValues with exactly five bytes. It collects no MAC address, clock value or device identifier and sends no generation request. Independent prefixes have 2^40 possible Global IDs. For N interconnected sites, collision probability is approximately 1 − exp(−N² / 2^41); check for conflicts before joining networks. The historical SHA-1 example is not the only generation method.

Routing and operational guidance

ULAs are not globally reachable by default. They are not a firewall or an inherent security boundary. Filter them at site boundaries and keep them out of public DNS. They can coexist with global unicast addresses. Record one site prefix and reuse it rather than regenerating it for a deployed network.

RFC 4193 · RFC 5952

How to use

Copy and record a generated /48, then enter a hexadecimal Subnet ID to plan a /64. Generate again only when you want a new candidate site prefix.