Skip to content
Projects

ebroecker/canmatrix has 1,094 GitHub stars and 440 forks. Star changes are not measured yet. Last checked 2026-11-09 10:23 UTC. Last push 2026-10-28.

How these counts are measured

Converting Can (Controller Area Network) Database Formats .arxml .dbc .dbf .kcd ...

Measured star growth

in 24h
Update delayed
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Canmatrix is a python package to read and write several CAN (Controller Area Network) database formats.

PyPI PyPI - Python Version Coverall GitHub issues

About

Canmatrix implements a "Python Can Matrix Object" which describes the can-communication and the needed objects (Boardunits, Frames, Signals, Values, ...) Canmatrix also includes two Tools (canconvert and cancompare) for converting and comparing CAN databases.

  • Multiple formats automotive related communication matrix file parsing.
  • CAN message encoding and decoding.

Supported file formats for import:

.dbc candb / Vector
.dbf Busmaster (open source!)
.kcd kayak (open source!)
.arxml autosar system description
.yaml structured export/import (same structure as json)
.xls(x) excel xls-import, works with .xls-file generated by this lib
.sym peak pcan can description
.xml (fibex or CANopen eds)
.ldf (lin bus) 
.odx (diagnostic file)
.eds

Supported file formats for export:

.dbc
.dbf
.kcd
.xls(x)
.json Canard (open source!)
.arxml (very basic implementation)
.yaml structured export/import (same structure as json)
.sym
.xml (fibex)
.lua (wireshark script)
.scapy 

Project Homepage: https://github.com/ebroecker/canmatrix

Documentation: https://canmatrix.readthedocs.io

Installation

https://canmatrix.readthedocs.io/en/latest/installation.html

Chinese Translation / 安装中文方法解释及注意事项

Contributing

Source Code, Documentation, Examples, Report issues and Any other contributions are extremely appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Explore related projects