IPv6 ULA Calculator
Build an RFC 4193 unique local address prefix from a global ID and see how many subnets it yields.
About IPv6 ULA Calculator
A ULA prefix is fd followed by 40 randomly chosen bits, which produces a /48 that is almost certainly unique without registration. The next 16 bits give 65,536 /64 subnets for internal use. ULAs give stable internal addressing that survives an ISP change, but only if the global ID is genuinely random — sequential IDs collide the first time two networks merge.
Formula
IPv6 ULA
prefix = fd (fc00::/7 with the local bit set) + a 40-bit pseudo-random global ID, leaving 16 bits of subnet ID inside a /48.
- fd
- fc00::/7 with the L bit set to 1, the only ULA form in use
- global ID
- 40 bits that must be randomly chosen, not sequential
Worked example
With the default values below, IPv6 ULA Calculator returns ULA Prefix of fda1:b2c3:d4e5::/48. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Global ID (10 hex digits)
- a1b2c3d4e5
- Subnet ID (hex)
- 0001
- Subnets neededaccepts 1–65,536 subnets
- 500 subnets
Results
- ULA Prefix
- fda1:b2c3:d4e5::/48
- Example /64 Subnet
- fda1:b2c3:d4e5:0001::/64
- /64 Subnets Available
- 65,536
- Subnet Space Used
- 0.76%
Step by step
- 1Values used
- 2IPv6 ULA
- 3ULA Prefix= fda1:b2c3:d4e5::/48
- 4Example /64 Subnet= fda1:b2c3:d4e5:0001::/64
- 5/64 Subnets Available= 65,536
- 6Subnet Space Used= 0.76
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
How is IPv6 ULA calculated?
prefix = fd (fc00::/7 with the local bit set) + a 40-bit pseudo-random global ID, leaving 16 bits of subnet ID inside a /48. A ULA prefix is fd followed by 40 randomly chosen bits, which produces a /48 that is almost certainly unique without registration. The next 16 bits give 65,536 /64 subnets for internal use.
Why does IPv6 ULA matter?
ULAs give stable internal addressing that survives an ISP change, but only if the global ID is genuinely random — sequential IDs collide the first time two networks merge.
What values do I need to enter?
This calculator takes 3 inputs: Global ID (10 hex digits), Subnet ID (hex), Subnets needed. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
