Pseudo IPv4 - Supporting IPv6 addresses in legacy IPv4 applications

To support migration to IPv6, CloudFlare provides an IPv6 to IPv4 translation service. However, some older server software (usually analytics and fraud detection) expects original visitor IP addresses in IPv4 format and does not support the different IPv6 address format, which represents a vastly larger address space.

Example IPv4 address:
Example IPv6 address: 2400:cb00:f00d:dead:beef:1111:2222:3333

As a stopgap to accelerate the adoption of IPv6, CloudFlare offers Pseudo IPv4 which supports IPv6 addresses in legacy applications expecting IPv4 addresses. The goal is to provide a nearly unique IPv4 address for each IPv6 address, using Class E IPv4 address space, which is designated as experimental and would not normally see traffic.

CloudFlare launched Pseudo IPv4 for World IPv6 Day on June 6 2014, with more details in this blog post: Eliminating the last reasons to not enable IPv6

Three options for the Pseudo IPv4 service, which is found in the CloudFlare Settings tab:

1. Off Default.

2. Add header CloudFlare will automatically add a header


with a Class E IPv4 address hashed from the original IPv6 address. This Pseudo IPv4 address can then be parsed by software as needed.

3. Overwrite headers CloudFlare will overwrite the existing




headers with a Pseudo IPv4 address. The advantage of the overwrite option is that, in most cases, it won't require any software changes. If you choose the overwrite option, we'll append a new header


in order to ensure you can still find the actual connecting IP address for debugging.

The Pseudo IPv4 service, like our IPv6 gateway, is available to all customers, even those on the free plan. Our hope is that it will eliminate one of the last reasons for IPv6 holdouts. If you're already a CloudFlare customer, login to your account and make sure IPv6 is enabled on the CloudFlare Settings page. You can find more details here:

Have more questions? Submit a request


Article is closed for comments.