Home of the X Library

What will you find here? Thousands of lines of cross-browser Javascript, all distributed under the terms of the GNU LGPL. I hope you have fun playing with my toys - I certainly had fun making them :-).

Mike Foster

Latest Forum Topics

X 4.23 - the latest release of the X Library.

xTableHeaderFixed and zoom

Latest Demos

Pick A Card, Demo 2 - an improved version of this demo.

xFenster rev 21 - added support for a "control menu".

xCalendar - a new X UI object.

X Library

X is a collection of loosely-bound, cross-browser, Javascript functions and objects. It is intended to be a resource from which you pick and choose - you do not have to include the entire library in your application. It contains core DOM/Style functions, unobtrusive enhancements, utility functions, objects such as menus and tab panels, and also has some experimental stuff. I've been developing this library since 2001 (I started its predecessor in 1999). Thanks to thousands of people like yourself X has been extensively tested on a wide range of operating systems and browsers. Thanks to your contributions X continues to improve and evolve.

X is distributed under the terms of the GNU LGPL - in other words it is free, even for commercial projects. However, there are a few limitations and requirements. Please read more about it.

Download the X Library

X Demos

The many X Demos on this site demonstrate how to use X in a variety of Javascript applications - from simple to complex. You'll find examples of unobtrusive Javascript in menus, event-handling demos, form enhancements, debugging tools, dynamic layouts, and much more. There are many animation demos, illustrating several different animation techniques.

X Documentation

The X Viewer provides comprehensive documentation for all X functions and objects - source, syntax, arguments, dependencies, links to demos, and more. X does not implement its own object or event models. See the X documentation.

X Tools

I now have Ant build files which automate the use of these tools. See this thread for more information.

Read more about the X Tools.


XAG is a library file aggregator. XAG scans your application files and creates a custom X library file which contains only those X variables, functions and objects (X symbols) used in your application.


XPP is a simple text preprocessor. It supports conditional output and text replacement. These features enable you to perform obfuscation and conditional compilation.

X 4.23 - 14May2011

The newest release of the X Library includes X 4.23, XAG 1.0, XPP 1.0, Ant build files 1.1, documentation and several demos.


GoneCoastal.net provides furniture, coastal art and accents for your home and patio.

GoneCoastal now has do it yourself Lifeguard Chair Plans & Kits!

GoneCoastal is an official Bear Chair dealer!

Mike's Other Stuff

Where Mike Works


HTML 4.01 Strict

I write HTML in the spirit of XHTML ;-)

Valid HTML 4.01 Strict