IPv6 ULA Prefix Generator

Generate locally assigned fd00::/8 ULA /48 prefixes from random 40-bit Global IDs and derive /64 networks with a chosen 16-bit subnet ID.

Generate a local /48 and a /64

Each result begins with fd and contains a randomly selected 40-bit Global ID, followed by the 16-bit subnet field. The generator uses crypto.getRandomValues for those five random bytes. It outputs the Global ID, canonical /48 prefix and the selected /64 subnet.

For example, a Global ID of abcdef0123 produces fdab:cdef:123::/48. Decimal subnet ID 258 produces fdab:cdef:123:102::/64. The tool generates prefixes, not host interface identifiers, router advertisements or DNS configuration.

Uniqueness and routing boundaries

This implements the locally assigned ULA layout: fd00::/8 with the local-assignment bit set. Random selection reduces collision risk, but a 40-bit space is not an absolute uniqueness guarantee. The current batch is deduplicated; check existing assignments before joining sites or VPNs.

ULA prefixes are intended for local communication and are not expected to be routed on the global Internet. They are not a firewall rule, encryption scheme or security boundary. Request up to 1,000 prefixes, and enter a subnet ID between 0 and 65,535 in decimal. Your input and generated prefixes stay in the browser.

Reference

Questions & answers

Why fd instead of fc?

The locally assigned portion sets the L bit to 1, producing fd00::/8. The broader ULA range is fc00::/7, but this tool does not allocate its other half.

Can I use one prefix at every site?

Independent random Global IDs help avoid collisions when networks are connected later. Deliberate reuse can create routing conflicts.

Is my input uploaded?

No. Parsing and generation run in your browser. Engines and datasets load from this site; the tool does not store input or send it to a processing API.

Other Languages