# How I generate an IPv6 ULA prefix for a private network

A beginner-friendly guide to IPv6 unique local addresses, private network prefixes, randomness, and documentation.

- Date: 2026-09-27
- URL: https://ilham.dev/posts/how-to-generate-an-ipv6-ula-prefix/
- Markdown: https://ilham.dev/posts/how-to-generate-an-ipv6-ula-prefix/index.md
- Tags: ipv6, networking, ula, tools
- Reading time: 2 min


IPv6 ULA prefixes are for private internal networks, similar in spirit to private IPv4 ranges but designed differently.

I use [IPv6 ULA Generator](/tools/ipv6-ula-generator/) for the quick version of this task, then I review the output before relying on it.

## The simple idea

IPv6 ULA prefixes are for private internal networks, similar in spirit to private IPv4 ranges but designed differently.

The tool is a shortcut for the mechanical work. It does not remove the need to understand what the result means.

## Step 1: Generate a random ULA prefix

Generate a random ULA prefix.

## Step 2: Document where it will be used

Document where it will be used.

## Step 3: Avoid manually choosing cute or tiny prefixes

Avoid manually choosing cute or tiny prefixes.

## Step 4: Use the prefix consistently inside the private network

Use the prefix consistently inside the private network.

## Step 5: Do not route ULA addresses on the public internet

Do not route ULA addresses on the public internet.

## Step 6: Plan subnets under the prefix

Plan subnets under the prefix.

## Step 7: Keep network documentation updated

Keep network documentation updated.

## My checklist

Before I trust the result, I check:

- Generate a random ULA prefix.
- Document where it will be used.
- Avoid manually choosing cute or tiny prefixes.
- Use the prefix consistently inside the private network.
- Do not route ULA addresses on the public internet.
- Plan subnets under the prefix.
- Keep network documentation updated.

That review step is what keeps a quick tool from becoming a quick mistake.
