MDF4 Lib
Function Library for Reading and Writing MDF3 and MDF4 Files

Powerful function library for accessing MDF3 and MDF4 files.

The MDF4 Lib is a powerful and easy-to-use function library for validating, sorting, reading and writing MDF files.  The library provides a convenient interface to access signal data and additional information in an MDF file. The ASAM standard MDF4 and the older format MDF3 are supported. 

Graphic MDF4 Lib
Function library MDF4 Lib integrates measurement data formats like MDF3 and MDF4 easily and quickly in your applications


  • Easy-to-use function library for creating*, validating**, sorting** and importing MDF files
  • Version-independent access to MDF3 and MDF4 formats
  • Fast and memory-optimized opening of multiple MDF files
  • Efficient reading of signal data for sorted files
  • Easy creation of MDF objects and writing of signal data in offline use case*
  • Convenient access to various additional MDF information
  • Seamless data transfer from Vector Tools and data loggers offering MDF as output or export format
  • The use of a tested and field-proven standard component reduces the effort for training, development, testing and maintenance

* functionality of the optional "write" option
** currently only available under Windows

Highlights Version 1.7

  • Comfortable access to all library methods with the popular programming language Python (Windows and Linux, Python 3.4 and higher) via a new interface
  • Convenient conversion of an existing MDF 4.x file into an MDF 4.1 file with packed or unpacked signal data (zip/unzip)
  • To store nested structures with arrays as members in a compact way, the function library now supports "Arrays of Structures".
  • Reading and writing of time synchronization information (name and class of the timer source)
  • Support for new flags and data types introduced in ASAM MDF version 4.2 
  • Performance optimizations when reading multiple physical signal values with only one call (MultiRead methods) if a linear conversion rule is used.


  • When accessing the objects and methods in the MDF files, you do not have to consider the MDF version. The access takes place via interface pointer
  • Several MDF files can be opened or created at the same time
  • For fast access to signal values, the MDF files can be sorted before opening. When writing, sorted MDF files are always generated. One measurement grid is always written at the same time (offline use case).
  • MDF files can also be validated with MDF4 Lib, i.e. checked for possible format errors or inconsistencies, e.g. before import into an archiving system. Thanks to the object orientation and hierarchical structure of the interface (API), the available functionality can be quickly grasped and intuitively used. A detailed online help and sample projects with documented source code allow a quick familiarization without detailed knowledge of the MDF format. IntelliSense, which is available in modern development environments such as MS Visual Studio, also supports you in coding quickly and conveniently.
  • The creation of objects "on demand" and their management by means of "reference counting" allow an efficient and resource-saving implementation. In C++, when using the supplied "Smart-Pointer" class, it is also possible to dispense with an explicit release of the objects. This makes it easier to avoid resource leaks. In addition, the size and complexity of your code is reduced, which usually also improves its maintainability and readability.
  • All calls to the library are thread-safe. Additional optimizations can be activated for the optional multi-threading use case. This allows parallel processing of tasks, e.g. for the evaluation of each MDF file in a separate thread.
  • For error diagnosis, any error and warning messages or optionally all library calls can be logged to a file via the logging options. Alternatively, the messages themselves can also be recorded via CallBack, e.g. for your own evaluation or display.
  • If an unexpected abort occurs while writing an MDF file, e.g. due to power failure or tool crash, the file may not be completed correctly. The MDF4 Lib marks such an MDF file as "unfinalized" according to ASAM COMMON MDF 4.1.1. When reading in, the MDF4 Lib recognizes MDF files marked as unfinalized. Depending on the generating tool or the type of missing finalization steps, the MDF4 Lib can be used to subsequently finalize such a file.
  • The MDF4 Lib is available in both Unicode and multi-byte string (MBCS) variants. Use the variant according to your project settings and save yourself time-consuming and cumbersome string conversions.


The basic version can be extended by a "write option", so that the creation of MDF files is also possible. As with reading, all MDF versions are also supported for writing.

Product Descriptions

Fact Sheet:

Product Information:


Show more

System Requirements for Windows:

  • C++ Interface: Microsoft Visual C++ Version 6.0 or higher
  • .NET Interface: Microsoft .NET 4.0 framework or higher and respective .NET language (e.g. Microsoft Visual C#)
  • Windows 10/8.1/8/7
  • For access to XML features with MDF4, in addition the Microsoft MSXML Parser V6 is required

System Requirements for Linux:

  • C++ Interface: GNU Compiler GCC C/C++ Version 4.8.3 or higher
  • Linux system with x86_64 architecture
  • Required system libraries: libc6, libstdc++6, libpthread, libdl
  • For access to XML features in MDF4, the XML Parser libxml2 is also required
Show more