cantools
- Software
- Cars
- Library
Python 3 tools for CAN bus work: parsing CAN database files, encoding and decoding CAN messages, and generating C code. It also includes a CAN bus monitor and signal plotting.
Made by cantools.
Source on GitHub: github.com/cantools/cantools (opens in a new tab). Facts read at commit 8d88413 (opens in a new tab).
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit 8d88413 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Parses DBC, KCD, SYM, ARXML 3 and 4, and CDD database files.
- Encodes and decodes CAN messages, including simple and extended signal multiplexing.
- Decodes diagnostic DID data and frames captured with candump.
- Generates C source code (structs, pack/unpack and encode/decode functions) from a database.
- Provides a text-based CAN bus monitor and a command line tool for dumping, listing and plotting databases and traffic.
- Can be used from Python scripts, with python-can for sending and receiving messages.
Written by Robotheca from the project's README (opens in a new tab) at commit 8d88413.
Getting started
- Difficulty
- Intermediate
- Hardware it needs, as the project states it
- Requires a computer with Python 3.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 14 Oct 2026 on master
- Latest release
- 45.0.0 (13 Oct 2026)
Checked on GitHub on 16 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.