I recently installed Windows Server 2012 on my desktop. I changed my connection settings to hardcode my internal IP address as (IPv4). Windows Server 2012 warned me that I should also set my IPv6 address to a static address, but I'm not sure what the equivalent address is in IPv6 format. I've attempted to google this, however after visiting a few websites that "convert IPv4 to IPv6" they each give me different values. I'm not sure which one is the correct one.

How does one go about translating an IPv4 address to and IPv6 address appropriately? Specifically, I'd like to know what is in IPv6 format. Thanks!

  • Tell your OS to use unique local addresses. These are the real replacement for private addresses. They cannot be fixed, because they have to be unique even when LAN are merged, but under normal condition, they should stay the same if there is no conflict.
    – BatchyX
    Commented Jan 5, 2013 at 13:28
  • 2
    the 192.168.*.* * (reusable/unrouted addresses) addresses are a work around for ipv4 to be able to continue to work while running out of address space. ipv6 is the solution. Commented Jan 5, 2013 at 14:25

5 Answers 5


IPv6 has an equivalent of IPv4 "private range" addresses – called Unique Local Address (RFC 4193) – it uses the fd00::/8 range. Pick a random /48 or /64 prefix within that range (see Wikipedia article for examples) and use it for your network.

A direct translation of your internal IPv4 addresses wouldn't make much sense, however. (If you did that, you'd also have the same limits as with IPv4, don't you think?)

However, with IPv6 it is not necessary to use local addresses. There are several ways you can get a global address range for yourself, even if your ISP doesn't offer native IPv6 yet:

  • You can sign up at Tunnelbroker or similar services; most of them will give you a globally-reachable /64 block – that's one subnet – and many will even provide /48 or /56 blocks upon request (64k and 256 subnets respectively). The same tunnel also lets you access the global IPv6 internet.

  • Or you can use the 6to4 address range based on your global IP address. For example, if your ISP assigns you (C0 00 7B EA in hexadecimal), then you're allowed to use 2002:c000:7bea::/48. Such addresses are reachable from the Internet as well.

  • Good advise. If you want to run IPv6 on your LAN this is the way to do it. Commented Jan 6, 2013 at 14:23

To expand grawity's answer (the equivalent to private ranges are Unique Local Addresses, RFC 4913), here is how to pick the actual address to use.

With IPv4 private ranges like 192.168.X., you randomly pick the value for X, but only get a few values to choose from (you picked 192.168.0.), and then pick a random number for the machine (you picked 99). You can have multiple networks, e.g. 192.168.1., but can't really combine two existing sets of networks together as they will likely clash. Using the private range 10.X.Y. gives you more options, but is still limited.

With IPv6, start with 'fd', followed by ten hex digits for your unique allocation (x), and four hex digits for your network (y). Each machine then have a number up to 16 hex digits (z).

This will give you a value like 'fdxx:xxxx:xxxx:yyyy:zzzz:zzzz:zzzz:zzzz', although if you put a lot of zeros in it will be a lot shorter to write out.

e.g. Pick '12:3456:789a' as your first random ten (x), and then use network '0001' inside that (y), then for your machine pick '0000:0000:0000:0063' (because hex 63 is the same as decimal 99).

This would give your machine the IPv6 address 'fd12:3456:789a:0001:0000:0000:0000:0063'. (For your specific network use different, random, values for the 12:3456:789a part.)

As you can collapse zeros in shorthand notation, this becomes just 'fd12:3456:789a:1::63'.

Your entire allocation would be 'fd12:3456:789a::/48', and subnet you are using would be 'fd12:3456:789a:1::/64'.

Note that the above examples happen to have the same number (99 decimal, 0x0063 hex) for the machine in both the IPv4 and IPv6 ranges, but they don't have to match (it just might be easier).


Firstly, there is no use in using a IPv6 address on a home network but still if you want to you then you should set it to automatic (just for IPv6), also your router must support DHCPv6 or Windows server will convert IPv4 to IPv6 automatically. As you want to try out into for static IPv6 Address then...

There are multiple types of IPv6 addresses that can be used, frankly speaking, even I don't know about them all. Below is a conversion table for the IPv4 specified. This is one of the best tool I can trust.

Conversion Table

As far as I can say, you should use 2002:C0A8:63:0:0:0:0:0 as your static IPv6 Address. (I was using another format earlier but someone commented that the format should never be used on wire. I have myself switched to this format now.)

There is a similar ServerFault Question, I think this would help you a bit.

  • 2
    Addresses link 0:0:0:0:0:ffff:c0a8:0063 are so that software can use the IPv6 APIs even when communicating over IPv4. They must never be used on the wire (and therefor also not as an interface address)! Commented Jan 6, 2013 at 14:22
  • Okay, I have changed the IPv6 to 2002:C0A8:63:0:0:0:0:0, its the 6-to-4 format Commented Jan 7, 2013 at 10:47

Yes if you are using NAT you don't have to move to IPv6 but 1) NAT is problematic, especially for Voice over IP services 2) NAT does not allow for incoming connections without setuo for each incoming connection and even then you are limited 3) NAT adds complication and increases routing time/effort

To answer the actual question asked you can encode an IPv4 address into an IPv6 address in the form ::FFFF:

So the IPv4 address of can be represented in IPv6 as 0:0:0:0:0:FFFF: which is abreviated to ::FFFF:

each section of the IPv4 address will be sent in Hex of course so a network trace will show ::FFFF:C0E1:9815 as 192=C0 in hex, 225=E1,152=98 in hex etc

This will be converted to the IPv4 address when leaving an IPv6 network and entering an IPv4 network

See this page has some info on this



There is no real need and probably no point to setting an IPv6 address on your internal network. Just stick with the IPv4 address and ignore the warning. The warning would be relevant for use on a public server so unless you have good reason for running IPv6 on your internal network I wouldn't worry about it.

On your other point, there is no IPv6 'translation' of an IPv4 address. They are separate systems.

In order to assign an IPv6 on your desktop, you would need to configure your internal router to manage an IPv6 network.

If you did want to run a home IPv6 network, then there are some helpful comments in the following questions:

  • 9
    I'd still like to, for correctness, even if it is optional.
    – myermian
    Commented Jan 5, 2013 at 13:19
  • You would need to also configure your router for IPv6 if you wanted to run an IPv6 network internally. There are some useful comments here: superuser.com/questions/43853/…
    – harunahi
    Commented Jan 5, 2013 at 13:29
  • 1
    IPv6 is used in a lot more places than you think. Every interface has a link-local IPv6 address by default these days. Setting a global IPv6 address is usually only useful when your ISP provides it to you, but you can run a local IPv6 network using ULA (Unique Local Addresses). Commented Jan 6, 2013 at 14:20
  • 7
    This was a mediocre answer in 2013; today it's dangerously out of date. Commented Mar 11, 2017 at 23:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .