Skip to content
LookupOwl

IPv4 to IPv6 converter

See every standard way an IPv4 address is written inside IPv6, from IPv4-mapped to NAT64 and 6to4.

IPv4 only. One per line to convert several. A whole number up to 4294967295 works too.

More options

Optional. Your own NAT64 prefix, like 2001:db8:64::/96. Lengths /32, /40, /48, /56, /64 and /96 work. We also show the address it gives.

What “IPv4 to IPv6” really means

No conversion turns your IPv4 address into a working IPv6 address of your own. The two protocols have separate address spaces, and your provider hands out your IPv6 addresses. What does exist is a set of standard ways to embed an IPv4 address inside an IPv6 one. Operating systems use some of them, and so do the gateways that help networks move from IPv4 to IPv6. This page shows every one for any IPv4 address you type.

FormFor 192.0.2.33What it is used for
IPv4-mapped::ffff:192.0.2.33 (::ffff:c000:221)How an IPv6 socket shows an IPv4 client
NAT64, well-known prefix64:ff9b::192.0.2.33IPv6-only devices reaching IPv4 servers through a NAT64 gateway
NAT64, local-use prefix64:ff9b:1::192.0.2.33The same job on networks that run their own translator (RFC 8215)
6to42002:c000:221::/48An old automatic tunnel, where the IPv4 address owns the whole prefix
IPv4-compatible::192.0.2.33Deprecated. Do not use it
ISATAPfe80::5efe:192.0.2.33 (fe80::5efe:c000:221)Older tunnelling inside a single site

How to use it

  1. Type an IPv4 addressAdd one or many, one per line, up to 500. If your network has its own NAT64 prefix (length /32, /40, /48, /56, /64 or /96, see RFC 6052), put it under More options to get the exact address your gateway would use.
  2. Copy the form you needTake IPv4-mapped for application logs and sockets, NAT64 for DNS64 and gateway testing, and 6to4 when you are tracing an old tunnel.
  3. Keep the limits in mindNone of these forms makes a host reachable over native IPv6. To publish a service on IPv6, you need an IPv6 address from your provider and an AAAA record, the DNS record type that holds an IPv6 address.

Which form do you need?

  • You see ::ffff:203.0.113.5 in your logs. An IPv4 client connected to a socket that listens on IPv6 as well. The client's real address is 203.0.113.5.
  • You are testing DNS64 or NAT64. A DNS64 resolver builds an AAAA answer by putting a server's IPv4 address into the NAT64 prefix. The well-known prefix is 64:ff9b::/96, and networks may use their own.
  • You are writing allow-list rules. A rule for 203.0.113.5 may not match ::ffff:203.0.113.5 in software that only sees IPv6. Check which form your software logs and matches.
  • You are reading old tunnel configs. Every public IPv4 address once implied a whole /48 under 2002::/16 (6to4). The relay system it relied on was deprecated in 2015 (RFC 7526), but old tunnels and logs still show it.

Mistakes to avoid

  • “Convert my IP to IPv6 so my server works on IPv6.” It doesn't work that way. You need real IPv6 connectivity from your provider, then an AAAA record in DNS.
  • Using IPv4-mapped addresses on the wire. They are meant for software, such as a socket API. They should never be the address in a real IPv6 packet.
  • Expecting the same address to be routable. 64:ff9b:: addresses only work inside networks that run a NAT64 translator.
  • Embedding private IPv4 addresses. Putting 192.168.1.1 into NAT64 does not make it reachable. RFC 6052 says the well-known prefix must not be used for private ranges.
  • Looking for a host's IPv6 addresses. To see which IPv6 addresses a hostname has, run an AAAA lookup.

How each form is built

Each form places the 32 bits of the IPv4 address at a fixed spot inside a 128-bit address. IPv4-mapped uses the prefix ::ffff:0:0/96 (RFC 4291). NAT64 puts the address in the last 32 bits of 64:ff9b::/96, or in the positions RFC 6052 sets for the other prefix lengths. For /40 to /64, bits 64 to 71 stay zero, so the IPv4 bytes can end up split around them. 6to4 puts it right after 2002: (RFC 3056). ISATAP uses the interface identifier ::0:5efe: (RFC 5214). The result is calculated without any DNS or network request.

To go the other way, see the IPv6 to IPv4 converter.

Questions people ask

How do I convert an IPv4 address to IPv6?

You can't make a native IPv6 address from an IPv4 one, because the two have separate address spaces. You can embed the IPv4 address inside an IPv6 one, for example as ::ffff:a.b.c.d (IPv4-mapped) or 64:ff9b::a.b.c.d (NAT64). Which one you need depends on the software or gateway involved. This page shows all of them for any address you type.

What is an IPv4-mapped IPv6 address?

It is an address in ::ffff:0:0/96 that stands for an IPv4 host, written like ::ffff:192.0.2.33. Servers show it when an IPv4 client connects to a socket that accepts both IPv4 and IPv6. It is a label that software uses, and it is not routable on the IPv6 internet.

Why does ::ffff:192.0.2.33 also show up as ::ffff:c000:221?

They are the same address written two ways. The last 32 bits can appear as a dotted IPv4 address or as two groups of hex, and c000:221 is 192.0.2.33 in hex. Some software prints the dotted form and some prints the hex form. This page shows both, so you can search your logs for either one.

What is 64:ff9b::/96?

It is the well-known NAT64 prefix. A NAT64 gateway takes IPv6 packets sent to 64:ff9b:: followed by an IPv4 address and passes them on as IPv4 traffic. That lets IPv6-only devices, such as phones on some mobile networks, reach servers that only have IPv4. It only works inside a network that runs a NAT64 gateway.

Is 6to4 still used?

Rarely. 6to4 was an automatic tunnel that gave every public IPv4 address its own /48 of IPv6 under 2002::/16. In 2015, RFC 7526 deprecated the anycast relays it depended on, because the setup was unreliable and few relays were run well. You may still meet 2002: addresses in old logs and router configs, which is why this page still shows them.

Can I use my own NAT64 prefix?

Yes. Open More options, type your prefix, and the page shows the address your gateway would synthesise. Prefix lengths of 32, 40, 48, 56, 64 and 96 are allowed, and the IPv4 bytes are placed the way RFC 6052 describes. For /40, /48, /56 and /64, bits 64 to 71 stay zero, so the IPv4 bytes can be split apart. The result is shown in hex, so it will not read like a dotted address.

How do I get a real IPv6 address for my server?

Ask your ISP or hosting provider. Most offer IPv6, and many switch it on by default. Once your server has an IPv6 address, add an AAAA record at your DNS host so people can find it, then check it with the DNS lookup. Embedding your IPv4 address in an IPv6 form will not make the server reachable over IPv6.

Use it from AI, the API or the command line

Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is ip_convert. Please be kind to the rate limits.

curl
curl "https://lookupowl.com/api/v1/tools/ip-convert?q=192.0.2.33"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp