Browser Support

This site serves HTML 3, HTML 4, HTML 5, and WAP/WML versions, and automatically tries to pick the optimal version based on request characteristics rather than resorting to user agent sniffing.

The HTML 4 and 5 versions attempts to do dual-stack IP detection which requires some JavaScript to initiate the request and handle the response. Browsers that don't understand HTML 4 also won't support IPv6 which is why only the HTML 4 and 5 version attempts it.

HTML 3.2

HTML 3.2 is automatically served to any client that is using HTTP/1.0. Browsers started supporting HTML 4 and HTTP/1.1 at about the same time. These browsers have been tested to ensure there are no rendering problems.

Tested Browsers

Cyberdog 2.0: Mac OS 9.2
Perfect.
Internet Explorer 2.0, 3.0: Windows NT 4
Perfect.
NCSA Mosaic 3.0
Renders fine, except it doesn't understand the height and width attributes on img tags.
Netscape 3.04, Windows NT
Perfect.
Netscape 4.x: Mac OS 9.2, Windows NT
Perfect.
Opera 3.0
Perfect.

HTML 4.01

Dual-Stack Detection

Several issues arise when trying to do dual-stack IP detection. Detection requires a cross-domain request to another hostname that only resolves to an IPv4 or IPv6 address. JavaScript of some kind is required to initiate this request and do something with the response from the server. The response then needs to be parsed and the DOM manipulated to show the response.

Tested Browsers

Firefox 2: Solairs 10, Windows NT
Perfect. Dual-stack IP supported on both NT 4 and Solaris.
Firefox 12: Windows 2000
Newest version that runs on Windows 2000. Supports IPv6 and dual-stack detection. Renders perfectly. Windows 2000 uses EUI-64 IPv6 addresses, so the MAC address and vendor will be displayed.
Internet Explorer 4.01: PocketPC / Windows Mobile
Renders legibly and actually supports IPv6, but dual-stack detection doesn't work.
Internet Explorer 4: Windows NT 4
Works well. IPv6 supported* but dual-stack detection does not work.
iCab 3.0.2: Mac OS 9.2
Renders perfectly. It'll complain a bit about unknown CSS attributes though.
Internet Explorer 5 Mac OS 9.2, Windows 2000
No issues. IPv6 supported on Windows.†
Internet Explorer 6, 7
IPv6 supported natively on Windows XP. One of the interesting quirks with IPv6 in IE6 is that you can't use an IPv6 address in a URL e.g. http://[2001:db8::80]:8080.
IE6 and 7 will not allow cross-origin XMLHttpRequest and do not support CORS, so, JSONP is used for dual-stack detection instead. This works.
Internet Explorer 8.0, 9.0
IE 8 and 9 support cross-domain requests using the proprietary XDomainRequest. The HTML 4 version of will detect when XDomainRequest is available and use that instead of XMLHttpRequest which works nicely.
LG webOS Browser (Chrome)
Perfect. Dual-stack IP supported.
Mozilla 1.7: IRIX 6.2
Perfect. Dual-stack IP not supported despite the OS having IPv6 support.
Mozilla 1.7: Sun Solaris 10
Perfect. Dual-stack IP supported.
Safari 4.0: Mac OS X 10.4
Perfect. Dual-stack IP supported. Mac OS X uses EUI-64 IPv6 addresses, so the MAC address and vendor will be displayed.

* IPv6 support on Windows NT 4 requires installing the IPv6 Technology Preview. To get IPv6 support in Internet Explorer, you need to manually ugprade wininet.dll with the version from the IPv6Kit after installing IPv6:

  1. Back-up your existing file: rename c:\winnt\system32\wininet.dll wininet.old
  2. Swap-in the new file: copy c:\ipv6kit\wininet.dll c:\winnt\system32\
  3. Reboot

† IPv6 support on Windows 2000 requires installing the IPv6 Technology Preview. The installer for requires exactly Service Pack 1 and Internet Explorer 5.0 so it can overwrite wininet.dll with a patched version supporting IPv6. If you're on a later service pack or version of IE, the installer won't overwrite the DLL which will leave IE without IPv6 support. Firefox will still work though.

HTML 5

If a browser is modern enough to send Sec-Fetch-* headers, it will be served the HTML 5 version. Feature-wise it's about the same as HTML 4, but it renders more nicely on phones and tablets. The benchmark browser is PlayStation 5. It doesn't support CSS features like nesting.

Tested Browsers

PlayStation 5 (WebKit 605)
Perfect. Dual-stack IP supported.
Firefox 154
Perfect.
Chrome 150
Perfect.
Servo 0.5
Everything works except <svg> with <use>.

Test Matrix

The IPv6? indication is if both the OS and browser support it.

Browser Operating System IPv6? HTML Dual-stack
Dillo 3 Debian 13 Yes HTML 4 Not supported
iCab 3 Mac OS 9.2 No HTML 4 Not supported
Edge 18 (Legacy) Windows 10 Yes HTML 4 XMLHttpRequest
Firefox 2 Solaris 10 Yes HTML 4 JSONP
Windows NT 4 Yes HTML 4 JSONP
Firefox 12 Windows 2000 Yes HTML 4 XMLHttpRequest
Firefox 52 Windows XP Yes HTML 4 XMLHttpRequest
Internet Explorer 2 Windows NT 4 No HTML 3 N/A
Internet Explorer 3 Windows NT 4 No HTML 3 N/A
Internet Explorer 4 Windows Mobile 2003 Yes HTML 4 Not supported
Windows NT 4 Yes HTML 4 Not supported
Internet Explorer 5 Mac OS 9.2 No HTML 4 Not supported
Windows NT 4 Yes HTML 4 Not Supported
Windows 2000 Yes HTML 4 XMLHttpRequest
Internet Explorer 6 Windows 2000 No HTML 4 Not supported
Windows XP Yes HTML 4 JSONP
Internet Explorer 7 Windows XP Yes HTML 4 JSONP
Internet Explorer 8 Windows XP Yes HTML 4 XDomainRequest
Internet Explorer 9 Windows 7 Yes HTML 4 XDomainRequest
Internet Explorer 10 Windows 7 Yes HTML 4 XMLHttpRequest
K-Meleon 75 Windows XP Yes HTML 4 XMLHttpRequest
Lynx IRIX 6.2 Yes HTML 3 Not supported
Mozilla 1.7 IRIX 6.2 No HTML 4 Not supported
Solaris 10 Yes HTML 4 JSONP
NCSA Mosaic 3 Windows NT 4 No HTML 3 N/A
NetFront 3 Sony Ericsson Aino No HTML 4 N/A
Toshiba TV No HTML 4 Not supported
Windows Mobile 2003 No HTML 4 Not supported
Netscape 3 Windows NT 4 No HTML 3 N/A
Netscape 4 Mac OS 9.2 No HTML 3 N/A
Windows NT 4 No HTML 3 N/A
Netscape 6 Windows XP No HTML 4 Not supported
Opera 3 Windows NT 4 No HTML 3 Not supported
Opera 7 Windows XP No HTML 4 Not supported
Safari 4 Mac OS X 10.4 Yes HTML 4 XMLHttpRequest
Servo 0.5 Debian 13 Yes HTML 5 fetch
WebKit PlayStation 5 Yes HTML 5 fetch