IPv6 ULA Generator
NetworkGenerate IPv6 unique local addresses in the fd00::/8 range with custom subnet and EUI-64 for homelabs, internal networks and private infrastructure setups.
About IPv6 ULA Generator
IPv6 Unique Local Addresses (ULA, fc00::/7) are the IPv6 equivalent of private addresses — for internal use and never routed on the public Internet. Per RFC 4193, a proper ULA prefix sits under fd00::/8 and uses a random 40-bit Global ID so different sites almost never collide. This tool generates spec-compliant /48 ULA prefixes and splits /64 subnets locally in your browser with no network access — ideal for planning internal IPv6 addressing. Tip: Bookmark this tool for quick access during network troubleshooting. All queries are made directly from your browser — no command-line tools required.
How to Use
- Open the IPv6 ULA Generator tool page
- Enter or paste your data into the input area
- View the real-time results and use the copy button to get the output
Use Cases
- Internal addressing — Generate a stable /48 ULA prefix for a home or company network, independent of the ISP.
- Subnet planning — Carve multiple /64 subnets under a /48 for different VLANs or segments.
- Site interconnect — Produce low-collision ULAs for multi-site VPNs to avoid clashes when merging.
- Lab environments — Use local addresses that never leak to the public Internet when building an IPv6 lab.
- Dual-stack transition — Carry internal services over ULA while public traffic uses global addresses.
- Container networks — Generate a /64 per Docker or Kubernetes pod range so each tenant gets a unique local segment.
- Collision check — Compare generated ULAs against your existing site prefixes to confirm no overlap before deployment.
FAQ
How does ULA differ from link-local (fe80::)?
fe80::/10 link-local addresses are valid only on a single link and cannot cross routers; ULA (fd00::/8) routes across an entire site between subnets but, like link-local, is never routed on the public Internet.
Why do generated prefixes start with fd?
ULA spans fc00::/7; with the L bit set to 1 (i.e., fd00::/8), the Global ID is locally and randomly assigned, as RFC 4193 recommends. fc00::/8 is reserved for future central allocation and is not yet in use.
Why must the Global ID be random?
A random 40-bit Global ID makes collisions between different organizations' ULA prefixes extremely unlikely, so addresses rarely clash when sites merge or VPNs interconnect.
How many /64s fit in one /48?
From /48 to /64 there are 16 subnet bits, allowing 65,536 /64 subnets — ample for most internal networks.
Can a ULA reach the public Internet directly?
No. ULAs are designed not to be routed publicly; Internet access still needs a global unicast address (GUA) or NAT/NPT translation.
Any browser compatibility requirements?
This tool works in all modern browsers (Chrome, Firefox, Edge, Safari). No plugins or extensions required.
Can I use it offline?
After initial load, most features work offline. The core logic runs entirely in your browser with no network dependency.
Comments
Comments are stored locally in your browser. Configure Giscus for cloud-based comments.