Free GUI Libraries and Source Code

Graphical User Interface libraries/source code for a more portable application

Free GUI Libraries and Source Code

The libraries and source code listed here allow you to design a graphical user interface, or GUI, for your application at a high level, and perhaps non-operating system specific, manner. This eases your coding, and might make your application portable between different platforms, useful if you plan to port it later. Some of the libraries here may also come with a GUI builder, which allow you to design the appearance of your application visually.

If you are looking for 3D or 2D engines, image or drawing libraries, animation libraries, and the like, please check out the Free Graphics Libraries, 3D Engines, 2D Engines, Animation Libraries, Image Drawing Libraries page as well as the Free Games Programming Libraries and Source Code, instead. Libraries to handle sound, music, digitized voice, and other audio related functions may be found on the Free Audio, Sound, Music, Digitized Voice Libraries and Source Code page.

Related Pages

Free GUI Libraries and Source Code

Dear ImGui New

Dear ImGui is a graphical user interface library for C++, intended to be bloat-free and have minimal dependencies. Among other things, it aims to minimize state storage on the user side as well as state synchronization. It has backends for GLFW, SDL2 and SDL3, Win32, Glut, macOS, Android, with renderers for DirectX 9, 10, 11 and 12, Metal, OpenGL/ES/ES2, SDL_Renderer, Vulkan, and WebGPU. This open source library is licensed under the MIT licence.


IUP is a cross-platform library for C, Lua and LED. It provides the facility to create and manipulate a large number of GUI primitives like dialog boxes, labels, buttons, text, multi-line boxes, list boxes, toggles, menus, submenus, file selection dialog boxes, and so on. Platforms supported include Windows (using the Win32 API), Linux (using GTK+), FreeBSD (using GTK+), SunOS (using Motif), IRIX (using Motif) and AIX (using Motif). This library is licensed under the MIT licence.

FLTK (Fast Light Tool Kit)

This C++ GUI toolkit, Fast Light Tool Kit, works under Unix-type systems (like Linux), Windows and Mac OS X, making it very useful if you have to write a program that works on a variety of platforms. It supports 3D graphics by using OpenGL. The source code is released under GNU Library Public License (also known as the LGPL) with exceptions that allow static linking. There is also an interface builder that generates a human-readable, editable C++ code for you. If you write C++ GUI programs for a number of platforms, and want a portable high level library that takes care of the lower level details of each platform for you, you might want to check this out.


A free multi-platform GUI library for C++, Python, Perl, and C#. Platforms supported include Win32, Mac OS X, Unix-based systems (like Linux, FreeBSD, etc) and WinCE. The Unix-based versions require either GTK+ or Motif. The library uses the operating system's native controls rather than redrawing its own, thus giving your application the look and feel of an application native to the system it is running on.


MGui, or the MORELLO Graphic User Interface, is a cross-platform GUI written in ANSI C. It has the usual widgets like menus, push buttons, editable fields, lists. It comes with a code generation tool so that you can design and maintain your interface visually. Platforms supported include Windows 3.1, 95, 98, NT, X Window, DOS. The GUI may not be used for commercial purposes. Only binaries are supplied. The library does not appear to have been updated for quite a long time.


If you need a lightweight cross-platform GUI for real-time embedded devices and an embedded graphics middleware, you may want to check out MiniGUI. It runs on Linux/uClinux, eCos, VxWorks, pSOS, ThreadX, Nucleus, uC/OS-II, Win32. Hardware platforms tested with it include Intel x86, ARM (ARM7, ARM9, StrongARM, xScale), PowerPC, MIPS, and M68K (DragonBall, ColdFire). You can run it with support for threads, processes or compile it to run standalone. It has support for built-in resources like bitmaps, icons, fonts. It has a multi-window and messaging mechanism, commonly used controls like labels, buttons, multi-line edit boxes, list boxes, combo boxes, progress bars, property sheets, toolbars, track bar, tree view, list view, month calendar, grid view, animation, etc, as well as support for dialog boxes and message boxes. You can also use menus, accelarator keys, the caret, timers, Windows resource files, popular image file formats (GIF, JPEG, PNG, Windows BMP, etc), multiple character sets, fonts, etc. The graphics API allows you to do raster operations such as create complex regions, draw and fill ellipses, arcs, polygons, etc. There is also special support for embedded systems such as common I/O operations, byte-order functions, touch screen calibration, etc. The library is released under the GPL. Be sure to select the GPL open source package when you download.


SmartWin is a C++ abstraction of the Windows API. It is designed to by type safe and be as thin a layer over the Windows API as possible. It currently requires you to either have the free Microsoft Visual C++ compiler.

Fox Toolkit

Fox is a C++ graphical class library that allows you to develop portable GUI applications that run on numerous platforms. It has a number of controls, icons, images, status line help, tooltips, supports drag and drop, selection as well as OpenGL widgets for 3D graphical manipulation. Among the platforms supported are Linux, FreeBSD, SGI IRIX, HP-UX, IBM AIX, Sun Solaris, DEC/Compaq Tru64 Unix, Windows 9x/ME, and Windows NT/2000.

Nano-X Window System

The Nano-X Window System (formerly MicroWindows) is an Open Source project that allows you to add a graphical windowing environment to your applications that are designed for smaller devices and platforms. It does not require any operating system or graphics system support and writes directly to the display hardware. Very handy if you're developing for the portable handheld and pocket PCs (Palm, etc). They support the Win32 API as well as the Nano-X API, so you should probably be able to port your Windows programs more easily. If you are a PDA developer, you might want to check this out.


Motif is a GUI toolkit for building software to run under X Window. It was the toolkit used for the Common Desktop Environment, used in commercial versions of Unix. The source code is now available under the LGPL.

Graphics Vision For The Free Pascal Compiler

This is a free implementation of Borland's Turbo Vision which provides an object oriented user interface. Unlike Turbo Vision, this is graphics based, and has support for TrueType, vector and VGA fonts, etc. This particular version is designed for the Free Pascal Compiler (see the Free Pascal and Delphi Compilers page). It works not only on the MSDOS platform, but also on Linux as well (using SVGALIB).


Whisper is a general purpose C++ application framework, which takes advantage of templates, multiple inheritance, STL and exceptions and design by contract. It is portable to Windows, POSIX systems (like Linux and the BSD systems), and Mac OS X and Classic.

VCF Visual Component Framework

VCF is a C++ application framework designed for Rapid Application Development (RAD). It has various graphics classes, including support for anti-aliased vector graphics; image loading support for various graphic formats (TIFF, TGA, PSD, PNG, SGI, MNG, RAS, PBM, PPM, etc); facilities for drawing graphics; application classes for handling resources, loading windows or forms, saving application state; Undo/Redo support; GUI controls; etc. It uses modern C++ features like exceptions, templates, STL, and name spaces. It is intended to be portable across systems, although at the time this was written, it has only released versions for Windows; the Linux and Mac OSX ports are not yet available. The framework is licensed under the BSD License.

TOAD C++ GUI Class Library

[Update: this library seems to be gone. For the record, it used to be located at] A C++ GUI frameworks for use with X Windows systems. Requires the GNU C compiler or EGCS.


[Update: this library seems to be gone.] Windows++ is a C++ application framework that has a small footprint. It works with Win32 and Windows 3.1. The framework is the one described in the book of the same name (in the Andrew Schulman Programming Series).

Related Pages

Newest Pages

Popular Pages

How to Link to This Page

It will appear on your page as:

Free GUI Libraries and Source Code Free Webmaster Tutorials, Scripts and Articles Free How-To Guides Free Programmers, Webmasters and Security Resources
If you find this site useful, please link to us.