Skip to content

IPv6 ULA Generator

Generate unique local IPv6 addresses (ULA) per RFC 4193 with cryptographically random prefixes.

IPv6 ULA Generator tool

Loading...

Example

Input: Click Generate New ULA

Result: A random /48 prefix such as fd30:9f9d:792f::/48, plus an example /64 subnet, a full example address, the 40-bit Global ID and a 16-bit Subnet ID

Every ULA starts with fd (the fc00::/7 block with the local bit set), followed by a 40-bit random Global ID. The result is different each time, which keeps collisions between networks unlikely.

How a ULA Address Is Built

FieldBitsExample
Prefix7fc00::/7
L bit (local)11, so the first byte is fd
Global ID (random)4030:9f9d:792f
Subnet ID160001, chosen by you
Interface ID64Set per device

Bit layout from RFC 4193, using the prefix fd30:9f9d:792f::/48 as the example.

  1. A random ULA /48 prefix is created when the page loads. Click "Generate New ULA" for a different one.
  2. Read the prefix in standard IPv6 notation (for example fd12:3456:789a::/48).
  3. Check the breakdown: the 40-bit random Global ID and a random 16-bit Subnet ID.
  4. Use the example /64 subnet and example full address as a template for a VLAN or network segment.
  5. Copy the prefix into your router, DNS or firewall configuration.

IPv6 Unique Local Addresses Under RFC 4193

A unique local address (ULA) is the IPv6 version of a private range like 192.168.0.0/16. This generator creates a random /48 prefix inside fd00::/8, such as fd30:9f9d:792f::/48. You can use it for a home lab, an office or a VPN without asking anyone for address space.

Why random? With IPv4, everyone reuses the same few private ranges, so merging two networks often means renumbering one of them. RFC 4193 avoids this by adding a 40-bit random Global ID after the fd prefix. That gives about 1.1 trillion possible prefixes. Two networks that each pick one at random are very unlikely to clash. The tool draws those bits from the Web Crypto API, the secure random source built into your browser.

A /48 leaves 16 bits for subnets, which is 65,536 separate /64 networks. The tool picks one random Subnet ID to show an example /64, and adds a random 64-bit interface ID to show a full address. In practice you number the subnets yourself, such as 1, 2 and 10. The host part is then filled in by DHCPv6 or by SLAAC, the automatic address setup built into IPv6.

ULAs are not routed on the public internet, so they suit internal DNS, file servers and management networks. Devices that need internet access usually get a global address alongside the ULA. Generate a prefix once, write it down and keep using it: the idea is one stable prefix per site. If you are also planning the IPv4 side of the network, the IPv4 Subnet Calculator covers that.

Sources

Frequently Asked Questions

RFC 4193 reserves fc00::/7 for unique local addresses and splits it with one bit, the L bit. With L set to 1 you get fd00::/8, which is for locally chosen prefixes like the ones this tool makes. The fc00::/8 half was left for a central assignment scheme that was never defined, so in practice every ULA starts with fd.
It is possible but very unlikely. The Global ID has 40 random bits, so there are about 1.1 trillion possible prefixes. Even if you later connect dozens of sites that each picked one at random, the chance that any two match stays tiny. That is the whole point of RFC 4193: private addresses that rarely need renumbering after a merger or a new VPN link.
Use a global address for anything that must reach, or be reached from, the internet. Use a ULA for internal-only services, or as a stable internal address that stays the same if your ISP changes your global prefix. Many networks run both on the same devices. A ULA is not a firewall, though: you still need normal security rules.
Your /48 has 16 bits of subnet space, which gives 65,536 /64 subnets. Keep the first three groups from the generator and change the fourth group for each network, for example fdXX:XXXX:XXXX:1::/64 for servers and fdXX:XXXX:XXXX:2::/64 for clients. The last 64 bits of each address are the host part, which SLAAC or DHCPv6 assigns.

Related Tools

IPv4 Address Converter

Convert IPv4 addresses between decimal, binary, hexadecimal, and integer representations instantly.

Network Tools

IPv4 Subnet Calculator

Calculate network address, broadcast address, host range, subnet mask, and wildcard mask from any IP and CIDR prefix.

Network Tools

MAC Address Generator

Generate random MAC addresses with optional OUI prefix in colon, hyphen, or dot notation formats.

Network Tools

UUID Generator

Generate random UUIDs in v4 and v7 formats with bulk generation and one-click copy support.

Developer Tools

Random Port Generator

Generate random port numbers within specified ranges for development, testing, and network configuration.

Network Tools

IPv4 Range Expander

Expand CIDR notation or IP address ranges into a complete list of individual IP addresses.

Network Tools