libextractor  1.11
About: GNU libextractor is a library used to extract meta-data from files of arbitrary type.
  Fossies Dox: libextractor-1.11.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

libextractor Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies libextractor-1.11.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).


GNU libextractor is a library used to extract meta data from files of arbitrary type. It is designed to use helper-libraries to perform the actual extraction, and to be trivially extendable by linking against external extractors for additional file types. Common use-cases for GNU libextractor include detail-views in file managers, detailed search results in file-sharing networks and general information gathering in forensics investigations and penetration testing.

GNU libextractor is a simple C library with a small API. Bindings for GNU libextractor exists for many languages in addition to the standard C/C++ API (we know about bindings for Java, Perl, PHP, Mono, Python, Ruby).

libextractor uses a plugin mechanism to enable developers to quickly add extractors for additional formats. Plugins are executed out-of-process and can thus bugs in them (or the libraries that they use) cannot crash the main application. libextractor typically ships with a few dozen plugins that can be used to obtain keywords from common file types.

More detailed documentation is available in the GNU libextractor manual. libextractor is an official GNU package and available from


extract is a simple command-line interface to GNU libextractor.


  • GNU C/C++ compiler
  • libltdl 2.2.x (from GNU libtool)
  • GNU libtool 2.2 or higher
  • GNU gettext

The following dependencies are all optional, but should be available in order for maximum coverage:

  • libarchive
  • libavutil / libavformat / libavcodec / libswscale (ffmpeg)
  • libbz2 (bzip2)
  • libexiv2
  • libflac
  • libgif (giflib)
  • libglib (glib)
  • libgtk+
  • libgsf
  • libgstreamer
  • libjpeg (v8 or later)
  • libmagic (file)
  • libmpeg2
  • libmp4v2
  • librpm
  • libsmf
  • libtidy
  • libtiff
  • libvorbis / libogg
  • libz (zlib)

When building libextractor binaries, please make sure all of these dependencies are available and configure detects a sufficiently recent installation. Otherwise the build system may automatically build only a subset of GNU libextractor resulting in mediocre meta data production.

Finally, 'zzuf' is a fuzzing tool that can optionally be detected by the build system and be used for debugging / testing. It is not required at runtime or for normal builds.