XForms Toolkit  ("Forms Library for X")

+++ 2014/06/28: New stable version xforms-1.2.4 has been released +++

The newest stable release of XForms, version 1.2.4, is now available from the "Download Area" of the Savannah project page.

What is the XForms toolkit?

XForms is a graphical user interface toolkit for X based on the X11 Xlib library. I.e., it allows you to create windows, containing all kinds of widgets (buttons, sliders, browsers, menus etc.) with a few lines of code and then attach actions to the widgets, i.e., have some function called when a button is pressed. To make this even easier XForms comes with a program called fdesign that allows you to design a GUI for a program directly on the screen and which then writes out the necessary C code for it.

XForms is written in C and has a C API, i.e., you can use it directly from a C program. It should work with X11 R4, R5, R6 & R7 and under all kinds of operating systems of the UNIX family (including MacOS X) as well as at least OpenVMS, OS/2 und Windows NT 4.0. In addition, the library is extensible and new objects can easily be created and added to the library.

Please note: the XForms toolkit has nothing to do with the W3C standardized XML XForms format which unfortunately also is called "XForms". The XForms toolkit existed long before the XML XForms format stuff was invented and those newcomers just picked the same name;-) If you're looking for this XML format you better go to e.g. www.w3.org/MarkUp/Forms/.

Where do I get it?

The source package for the XForms library (as well as a git repository going back to 2002) can be found at the XForms project page at Savannah, see the "Download Area". The newest "stable" version is 1.0.93 (but, of course, you're invited to test pre-releases for 1.0.94 when they become available).

Where do I find binaries or RPM/DEP packages?

Sorry, but there are no binaries for XForms to be downloaded from here or the XForms project page. XForms is supposed to work on a lot of different operating systems and architectures, which would make creating and distributing binaries a very difficult task - actually, it used to be necessary to do just that while XForms wasn't open source and that was a real PITA...

On the other hand, the XForms toolkit is included in a lot of Linux, BSD and other distributions, so checking if it's part of your distribution may allow you to find a RPM or DEB package (or whatever your distribution uses) which is just right for your system. But take care: many distributions still come with a rather old versions of the library, if you want a newer one it may be necessary to build and install it from the sources, which actually isn't very difficult. Here you will find a short description of the process.


If you're looking for a few very simple examples of how the XForms library can be used go here. Or just go directly to the newest version of the documentation. You can also download it in PDF format or a packed archive of the HTML version.

An older version of the documentation (for version 0.89) exists only in a PostScript version. This is the version that should be consulted for versions of the library up to version 1.0.90 of the library.

A packed archive of the HTML version 0.88 also still can be downloaded.


Since XForms is a toolkit and not a program there can't be any screenshots from XForms itself. But here you can find screenshots from programs that have been written using XForms. They may also give you an impression of what kind of applications XForms is being used for. If you have some more nice ones please don't hesitate to send them in;-)


While XForms was a closed source project at first (but with a liberal license for use in non-commercial applications) since 2002 it is open software, distributed under the GNU Lesser General Public License.

Where do I get help?

The best place to look for help, point out bugs or even send patches to is the XForms mailing list.

The mailing list has been relocated in August 2009, if you're looking for posts from before August 11, 2009 please go here.

How can I help?

You can try out development releases and report your experiences (or send patches;-) to the the XForms mailing list. Don't falsely assume that a problem you encounter is too trivial (or already known).

Is the XForms toolkit something new?

Not at all, it actually was one of the first GUI toolkits freely available, It was developed in the begining of the 1990s by Prof. Mark Overmars and Dr. T. C. Zhao. Later also Steve Lamont joined the developers. See here what the original XForms homepage said about them.

Since April 2002 XForms is open source and development has continued by a number of volunteers.

Why use XForms and not some other GUI toolkit?

Good question;-) First of all, XForms is small, thus it's relatively easy to learn how to use it. Then, when you write in C you will rather likely also want to use a toolkit with a C API (but that, of course, shouldn't keep you from using XForms with e.g. C++). That cuts down your options considerably. The most likely alternative would probably be GTK+. GTK+ is definitely quite nice and may have some advantages over XForms. On the other hand GTK+ (as well as other toolkits) can be a bit daunting to get used to. Moreover, GTK+ can't be used for setuid-ed programs (i.e. programs that run with the permissions of a different user than the one that started the program). While this is touted as a security feature it can get in the way of programs that need special permissions e.g. to be able to access devices, which typically have some access restrictions.

Last modified: June 28, 2014 by Jens Thoms Törring Valid CSS! Valid XHTML 1.0 Strict