Skip to main content

IPv4 to IPv6 Converter

Convert an IPv4 address to its IPv6 representations: the IPv4-mapped address (::ffff:a.b.c.d and the ::ffff:HHHH:HHHH hex form), the derived 6to4 prefix (2002:HHHH:HHHH::/48), and the deprecated IPv4-compatible form.

Input

Dotted-decimal IPv4 address — four octets from 0 to 255, e.g. 8.8.8.8.

Output

IPv6 Representations
TypeAddress
No data yet
Was this helpful?

Guides

What this tool does

Enter any IPv4 address and instantly see how it is represented inside the IPv6 world. A 32-bit IPv4 address doesn't disappear in a dual-stack network — it gets embedded into a 128-bit IPv6 address in a few well-defined ways. This converter shows the ones you actually meet in practice: the IPv4-mapped address (in both readable and pure-hex form), the 6to4 prefix derived from the address, and the deprecated IPv4-compatible form.

How to use it

  1. Type or paste a dotted-decimal IPv4 address (four octets, each 0255) into the IPv4 Address field, e.g. 192.168.1.1.
  2. The results table updates instantly with every IPv6 representation.
  3. Copy any row you need.

The representations explained

IPv4-Mapped IPv6 (::ffff:a.b.c.d) — Defined in RFC 4291, this is how a dual-stack socket represents an IPv4 peer. The last 32 bits hold the IPv4 address; the group before them is ffff. The same address also has a pure-hex form, ::ffff:HHHH:HHHH, where the two IPv4 halves are written as hexadecimal groups.

6to4 Prefix (2002:HHHH:HHHH::/48) — RFC 3056 assigns every public IPv4 address a /48 of IPv6 space under the 2002::/16 prefix, formed by placing the IPv4 address (in hex) directly after 2002:. It let early adopters reach the IPv6 Internet over an IPv4-only network.

IPv4-Compatible IPv6 (::a.b.c.d) — An older embedding (:: followed by the IPv4 address) that has been deprecated; it is shown for completeness and for reading legacy configuration, not for new deployments.

How the conversion works

Each octet is a byte, so a pair of octets forms one 16-bit IPv6 group. For 192.168.1.1: 192 = 0xC0, 168 = 0xA8, so the first group is c0a8; 1 = 0x01 twice gives 0101, written in shorthand as 101. That yields ::ffff:c0a8:101 and 2002:c0a8:101::/48. The output follows the RFC 5952 canonical style — leading zeros within a group are dropped and the run of zero groups is collapsed to :: — which matches what standard tools such as inet_ntop and Python's ipaddress module produce.

FAQ

Which addresses are valid? Any dotted-decimal IPv4 address with four octets from 0 to 255. Octets with a leading zero (like 08) are rejected to avoid octal ambiguity.

Why does 192.168.1.1 become ::ffff:c0a8:101 and not ::ffff:c0a8:0101? Both mean the same thing. The canonical IPv6 form drops leading zeros inside each group, so 0101 is written 101.

Is 6to4 still used? 6to4 is largely historical now that native IPv6 is common, but the mapping is still useful for understanding older documentation and address plans.

Privacy

This converter runs entirely in your browser. The address you enter is never sent to a server or stored anywhere.

ipv4ipv6ipnetwork6to4ipv4-mapped

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.