Embed this tool on your site
About this tool
IPv4 to IPv6 Converter on UtilityKit turns a dotted-decimal IPv4 address into its IPv4-mapped IPv6 form in your browser. Type an address like 192.168.1.1, click Convert, and the tool validates each octet (0-255) and shows ::ffff:192.168.1.1, the notation defined in RFC 4291 for representing an IPv4 address inside the IPv6 address space. A Copy IPv6 button copies the result. That is the only output: the tool does not produce the fully expanded hexadecimal form, a 6to4 (2002::/16) prefix, ip6.arpa names, or convert IPv6 back to IPv4. The mapped form is what dual-stack servers print when an IPv4 client connects to a socket bound to ::, so it is handy for developers matching log entries to IPv4 firewall rules, writing socket code that handles both address families, or debugging mixed-mode networking in Docker, Kubernetes and cloud environments.
Why use it
Dual-Stack Debugging: Modern operating systems and containers report IPv4 connections as ::ffff: addresses in logs and socket APIs. Convert an IPv4 address to search logs or correlate IPv4 firewall rules with IPv6 socket output.
Standard Notation: The output uses the RFC 4291 IPv4-mapped prefix ::ffff:0:0/96 written in the mixed form ::ffff:a.b.c.d accepted by inet_pton and most networking libraries.
Socket Code Reference: When writing cross-family socket code in Python, Go, or C, you need the exact ::ffff: form to bind or connect to IPv4 addresses via an IPv6 socket. Verify the format instantly.
Input Validation: Each octet is checked to be 0-255, so typos like 192.168.1.300 are caught before they end up in a configuration file.
No Server Required: The conversion runs entirely in your browser — no internal IP addresses are transmitted to external services.
How to use
- Enter a dotted-decimal IPv4 address (e.g. 203.0.113.45) into the IPv4 address field. Private, public, loopback, and multicast addresses are all accepted.
- Click Convert. The IPv4-mapped IPv6 form appears below: ::ffff: followed by the original dotted-quad (e.g. ::ffff:203.0.113.45).
- If any octet is outside 0-255 or the address is not four dotted numbers, the output shows Invalid IPv4 address and a hint explains the expected format.
- Click Copy IPv6 to copy the mapped address for a config file, test or log search.
When it helps
- When your application logs show ::ffff: addresses and you want the exact mapped string for an IPv4 client to search for.
- When writing IPv6 socket code that needs to accept IPv4 connections and you need the exact ::ffff: syntax for bind() or connect() calls.
- When writing tests or fixtures for dual-stack code that must handle both 10.0.0.5 and ::ffff:10.0.0.5.
- When migrating an application from IPv4-only to dual-stack and you need to document IPv4 addresses with their IPv6-mapped equivalents for firewall rule updates.
- When studying IPv6 addressing and you want to see how an IPv4 address is written inside the IPv6 address space.
Examples
01Public IPv4 to IPv4-mapped IPv6
Expected result::ffff:203.0.113.45
02Private LAN address conversion
Expected result::ffff:192.168.1.1
Expected resultInvalid IPv4 address (hint: Use dotted IPv4 format like 192.168.1.10 with each octet 0-255.)
Tips
- When a Node.js or Python server bound to '::' reports a client address of ::ffff:10.0.0.1, strip the ::ffff: prefix to get the real client IPv4 for logging and access-control purposes.
- 6to4 addresses only work with public IPv4 addresses — if you are behind NAT with a 192.168.x.x address, 6to4 tunnelling will not route correctly and native IPv6 or a configured tunnel broker is needed instead.
- In Docker networks, container-to-container communication can surface ::ffff: addresses depending on whether the daemon and bridge are dual-stack. Use this tool to verify address mappings when debugging container networking.
- IPv6 has no concept of broadcast — the IPv4-mapped form is useful for representing addresses in dual-stack code but does not grant broadcast behaviour on the IPv6 side.
- When writing iptables or nftables rules for a dual-stack host, remember that ip6tables rules on ::ffff: mapped addresses are separate from ip4tables rules on the same IPv4 address — both sets of rules may need updating.
Frequently Asked Questions
What is an IPv4-mapped IPv6 address?⌄
An IPv4-mapped IPv6 address embeds a 32-bit IPv4 address in the last four bytes of a 128-bit IPv6 address, preceded by 80 zero bits and 16 one-bits. Written as ::ffff:x.x.x.x, it allows IPv6 sockets to accept IPv4 connections transparently on dual-stack systems.
What is the difference between IPv4-mapped and IPv4-compatible IPv6 addresses?⌄
IPv4-mapped (::ffff:x.x.x.x, RFC 4291 §2.5.5.2) is used by the OS for representing IPv4 socket connections in IPv6 APIs and is still current. IPv4-compatible (::x.x.x.x, RFC 4291 §2.5.5.1) was a deprecated automatic tunnelling mechanism and should not be used in new deployments.
Does the tool show the expanded hex form, a 6to4 prefix or an ip6.arpa name?⌄
No. The only output is the ::ffff:a.b.c.d mapped form. For reference, ::ffff:192.168.1.1 expands to 0000:0000:0000:0000:0000:ffff:c0a8:0101, because each IPv4 octet becomes two hex digits (192=c0, 168=a8, 1=01, 1=01).
Does this tool support private (RFC 1918) IPv4 addresses?⌄
Yes. Private addresses like 192.168.x.x, 10.x.x.x, and 172.16–31.x.x are converted to the mapped form exactly like public ones. The mapped address only describes the IPv4 address inside IPv6 APIs; it does not make a private address reachable over IPv6.
Why does my web server log show ::ffff:127.0.0.1 instead of 127.0.0.1?⌄
Your server is listening on an IPv6 socket (possibly bound to :: or [::]) and the OS is mapping the IPv4 loopback connection to its IPv6-mapped form. This is normal dual-stack behaviour. The addresses are equivalent — ::ffff:127.0.0.1 represents the same loopback as 127.0.0.1.
Can I convert IPv6 addresses back to IPv4?⌄
Not with this tool; it only accepts dotted IPv4 input. For an IPv4-mapped address, the IPv4 address is simply the part after ::ffff:. Pure IPv6 addresses that are not mapped forms have no equivalent IPv4 address.
Is my IP address sent anywhere?⌄
No. Validation and conversion are a few lines of JavaScript that run in your browser; nothing you type is sent to a server.
Glossary
- IPv4-Mapped IPv6 Address
- A 128-bit IPv6 address that embeds a 32-bit IPv4 address in its lower bytes, preceded by ::ffff:. Written as ::ffff:x.x.x.x. Used by dual-stack operating systems to represent IPv4 connections in IPv6 socket APIs.
- 6to4
- An IPv6 transition mechanism (RFC 3056) that tunnels IPv6 packets over IPv4 infrastructure by embedding the public IPv4 address in the 2002::/16 prefix range. Largely superseded by native IPv6 deployment.
- Dual Stack
- A network configuration where a host, interface, or application supports both IPv4 and IPv6 simultaneously. The OS maps IPv4 connections to IPv6 socket APIs using ::ffff: addresses.
- Compressed IPv6 Notation
- The abbreviated IPv6 text format defined in RFC 5952, where one or more consecutive groups of all-zero bits are replaced by :: and leading zeros in each group are omitted. For example, 0000:0000:0000:0000:0000:ffff:c0a8:0101 compresses to ::ffff:192.168.1.1.
- ip6.arpa
- The DNS zone used for IPv6 reverse lookups. An IPv6 address is expanded to its full 32-nibble form, reversed, and appended with .ip6.arpa to form the PTR record name.
- RFC 4291
- The IETF standard defining IPv6 addressing architecture, including address types, scopes, and special-purpose prefixes such as ::ffff:0:0/96 (IPv4-mapped) and ::1/128 (loopback).
A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities