libconfig – C/C++ Configuration File Library

If you find this software useful, please consider making a donation in the amount of your choice. At the very least, such donations can go toward paying for the hosting of this website.


Libconfig is a simple library for processing structured configuration files, like this one: test.cfg. This file format is more compact and more readable than XML. And unlike XML, it is type-aware, so it is not necessary to do string parsing in application code.

Libconfig is very compact — a fraction of the size of the expat XML parser library. This makes it well-suited for memory-constrained systems like handheld devices.

The library includes bindings for both the C and C++ languages. It works on POSIX-compliant UNIX and UNIX-like systems (GNU/Linux, Mac OS X, Solaris, FreeBSD), Android, and Windows (2000, XP and later).


Documentation is included in the distribution in the form of a texinfo manual. The documentation is also available in the following formats:



Libconfig is distributed under the terms of the GNU Lesser General Public License. This license was chosen over the standard GNU license to allow libconfig to be used with non-free programs.


Download libconfig now! Source code and full documentation are included. Windows users may build the package using either gcc in the MinGW environment or with Visual Studio 2008 or later using the provided solution file.


Libconfig is on GitHub.

GNU/Linux Mac OS X Darwin Android FreeBSD OpenBSD NetBSD Windows GitHub