Surfing Modern Web With Ancient Browsers

(note this is a guest post by Tenox)

[Update: A full HTTP Proxy version has been made in this post.]

I spend a fair amount of time working with legacy operating systems. Apart from being obsolete themselves they suffer from a common problem – the web browsers are simply unusable on a present day Internet. You start by getting JavaScript error on and it only gets worse once you go further. Try going to with IE 1.5 or with the last version of Voyager. This just doesn’t work. With rapid progression of web standards, the situation will only be getting worse in time. Something had to be done.

Quite a while ago I’ve came across Opera rendering proxy for mobile browsers. This got me thinking. If you could render a web page on a proxy server to a simplified HTML, say 3.x., this would make a lot of web browsers happy! Also, for some unrelated purposes I have been using webkit2png which allows to create a whole web page snapshot in a single png image. What if such image had an image map of clickable regions pointing to the original links?

The idea was born, but was it possible to implement and would it work? Webkit2png was quite far from having all the required functionality. Fortunately though after some additional research I have stumbled upon picidae network. To my utter surprise they actually made all or even more functionality that I wanted in their script. All that had to be done to adapt picidae to my purpose was to save the image as a GIF image, generate a simple HTML page with imagemap, an input box and strip all the unwanted stuff. came to life. It’s a cgi-bin application that resides on a machine in the middle. It renders a gif image and spits it out to the browser together with a simple web page, containing a URL and search input boxes plus the gif and image map.

After some initial debugging and massaging out few bugs the solution worked perfectly! I could finally get the old browsers happily navigate modern websites! Check out some examples:

Internet Explorer 1.5 on

Internet Explorer 1.5 on

 Yes! You can finally browse with IE 1.5 πŸ™‚

Netscape 4 visiting

Netscape 4 visiting

Or go to in Netscape 4.x browser. This was impossible just a few hours ago!

How about some other browsers:

QNX Voyager going to

QNX Voyager going to


Mozilla on UnixWare

Mozilla on UnixWare


Old Firefox on Haiku

Old Firefox on Haiku


CNN on Mosaic

CNN on Mosaic


apple-mosaic using Mac Mosaic


IBM WebExplorer on OS/2

IBM WebExplorer on OS/2


RiscOS !NetSurf on Wikipedia

RiscOS !NetSurf on Wikipedia



Netscape visiting DNA Lounge


NextStep OmniWeb on

NextStep OmniWeb on



Update: A full HTTP Proxy version has been made in this post.

49 thoughts on “Surfing Modern Web With Ancient Browsers

  1. I prefer to use opera 11 with older operating systems. Opera 11 came out in 2010 and was the last opera version to work with a variety of operation systems.

    Opera 11 compatible OS.
    Windows 95, 98, ME (Opera 10.10), 2000, XP, Vista, 7, 8

    Mac OS 7, 8, 9, X (Intel – Current versions) (OS X PPC 10.63 and below)

    • This would be very handy for those of use who still like to play around with Power PC Macs. Some of them are quite functional other than updated browser support. Interesting read.

    • Um… Various versions of Opera support those old OSes, but Opera 11 certainly doesn’t.

      To support Windows 95, you have to go all the way back to Opera 10.6. And Mac OS 7 hasn’t been supported since Opera 5!

  2. TBH, IE Does not render those sites much better still to this day.

    (Yes I know that is to harsh, but I design and build websites, Its just still bad compared to the to the others so it deserves to be trashed a bit still.)

  3. As someone who writes third-party JS and has to constantly debug IE and quirks issues, I would want this to be a proxy service and the entire web could be free from dealing with crappy browser and just give them a clickable screenshot πŸ™‚

    • Way to miss the point. Old OSs often do not have modern browsers available for them. I have an number of IRIX machines and a slow version of Firefox 3.0 is as good as it gets. Other legacy systems often do not have modern browsers available, plus modern Javascript sites need a LOT of processing power to render them. The idea of using a modern machine to do the processing/rendering and the end PC to display the simplified site means old computers can still realistically use the web. This is a very big deal!

  4. Or you can just download and run OffByOne browser. It’s fully HTML 3.2 compliant, and it barely works on the modern web. :p

  5. This is a fun thing. I’d note however that while it’s not true of most of the options you list, for NetSurf, RISC OS is still the primary target and primary reason we exist. As such, the very latest NetSurf does run on RISC OS still.

  6. Hey thats great! What about Amiga classic and iBrowse?
    That would be fantastic, having fun again in the web on Amiga πŸ™‚

  7. What a great idea. Having only just read this, I assume this only does image maps, no forms interaction?

    My workplace can only use IE8 and Firefox, Chrome from several versions ago, contrary to what our customers would use. Without going into more detail, a solution like this would be great.

    Thanks for namedropping RISC OS. It’s a great OS on Raspberry Pi.

    • No it doesn’t but it may in future. The original script actually did support form fields. I just didn’t bother implementing it. But I may add it in future. For now QT version has a priority thought.

  8. Hi!!

    I get this error every time i try to use the script

    Xlib: extension “Generic Event Extension” missing on display “”

    Any ideas?

  9. I will give you my first-born child (or, alternatively, a different first-born child of equal or lessor value) in exchange for posting the source code for this on GitHub.

    Seriously, this has the potential to change the entire web for the better.

    Do the right thing. Save the children. Save them from Internet Exploder.

  10. Hello! Thank you for developing this. I have an idea to bring Rhapsody (Mac OS X server 1.2) back to life, and I cannot do it without the use of this script. If you could please upload the source, I would be one very happy lad.

Leave a Reply to tenox Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.