Book a demo

Comparison · Measurement

asammdf alternative

asammdf is free, open source, and good. The question is not which is better — it is whether you need a library or an instrument.

By , Founder & Lead Engineer

In short

asammdf is an open-source Python library and GUI for reading ASAM MDF v3 and v4 files, and it is the standard way to work with MDF in Python. It is free, actively maintained, and for scripted extraction it is the right tool — MDX uses it internally for file parsing. The case for an alternative is not that asammdf is deficient; it is that a library is not an instrument. Where asammdf gives you a programmatic interface, MDX adds a persistent channel index so signal search is instant on reopen, an oscilloscope surface with independent signal lanes and dual cursors, run alignment and comparison, event detection by rule, GPS route overlays, and an MCP server so an AI agent can query the measurement directly. If your work is a script that pulls three channels out of a file, asammdf is the answer and you should use it.

01

What asammdf does well

It reads MDF3 and MDF4 correctly, including the parts that are easy to get wrong: compressed data blocks, variable-length signal data, bus-logging channels and the conversion rules that turn raw samples into physical values. It exports to pandas and NumPy, which puts the whole Python ecosystem within reach. It is free, and the source is there to read when behaviour surprises you.

For a script, a notebook, or a CI job that extracts a known set of channels, that is the complete answer. Reaching for a commercial tool to do it would be a worse decision, not a better one.

02

Where a library stops

A library hands you data. It does not hold state between runs, so every session re-parses. It has no view, so comparing two runs sample by sample means writing the plotting yourself. It has no notion of an event, so finding every tip-in above a threshold across forty recordings is a program you maintain rather than a query you ask.

None of that is a criticism of asammdf. It is the difference between a parser and a workbench, and which you need depends on whether the file is an input to a script or the thing you are actually investigating.

  • Persistent indexChannels catalogued on import; signal search is instant on reopen rather than a re-parse.
  • Oscilloscope surfaceIndependent signal lanes, dual cursors, hold-last-sample reads at a time point.
  • Run comparisonSeveral recordings aligned on one time base, each channel at its own raster.
  • Event detectionRules rather than eyes, applied across a batch.
  • Agent accessAn MCP server, so an assistant queries the measurement without the file leaving the machine.

03

They are not mutually exclusive

MDX exposes a REST API and a Python SDK that mirrors it, so the scripted half of the work stays scripted. A team can keep its asammdf notebooks and use the instrument for the part that is interactive, which is usually the honest arrangement rather than a migration.

MDX also reads what asammdf does not: Vector BLF and ASC CAN logs, CSV and Excel, with DBC and ARXML as description files. If the recordings arriving from the bench are not all MDF, that difference matters more than any feature comparison.

Standards & references

Check the source.

These primary sources define the formats and regulatory context discussed above. They do not certify or endorse VehicleLab products.

Questions

Frequently asked.

Is asammdf free?

Yes. asammdf is open source and free to use, and it is actively maintained. For scripted extraction from MDF files it is the standard choice in Python.

Does MDX use asammdf?

Yes. asammdf is used internally by the MDX backend for file parsing. The difference is what is built on top of it — indexing, the oscilloscope surface, run comparison, event detection and agent access.

When should I just use asammdf?

When the task is a script: pull a known set of channels out of a known file, hand them to pandas, done. Adding a commercial tool to that would be the wrong call.

What does MDX read that asammdf does not?

Vector BLF and ASC CAN logs, CSV and Excel, with DBC and ARXML loaded as description files to decode bus frames into named signals.

Can I keep using both?

Yes, and most teams should. MDX exposes a REST API and a Python SDK, so existing asammdf work carries on while the interactive analysis moves to the instrument.

Next step

Open one of your own files with us.

Send a measurement, an A2L or an EHANDBOOK container. We will open it in the instruments on a call, with your engineers in the room.