Tachoparser is a command-line toolkit written in Go for parsing and verifying digital tachograph data files. Tachographs are legally required recording devices fitted to commercial vehicles across the EU — they capture driving times, speeds, and rest periods. The raw data they produce is stored in binary DDD files that follow a tightly specified EU regulatory format. Tachoparser reads those files from stdin, decodes the binary TLV/TV structures, verifies cryptographic signatures using official ERCA certificates, and outputs structured JSON.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/traconiq/tachoparser/llms.txt
Use this file to discover all available pages before exploring further.
Supported formats
Tachoparser handles all three generations of EU tachograph data for both vehicle unit (VU) and driver card files.| Format | Generation | Tag prefix | VU data | Driver card |
|---|---|---|---|---|
| Digital Tachograph | 1st gen | 0x7601 | ✓ | ✓ |
| Smart Tachograph | 2nd gen | 0x7621 | ✓ | ✓ |
| Smart Tachograph v2 | 2nd gen v2 | 0x7631 | ✓ | ✓ |
Executables
The repository builds five executables, each serving a different use case.dddparser
The main CLI. Reads a DDD file from stdin (or a file path) and outputs a fully decoded JSON structure, including all activity records, events, faults, and verified signatures. Requires
-vu or -card to indicate the file type.dddsimple
A lightweight byte-matching parser that extracts only identification numbers and driver names without full decoding. Useful when you only need to identify a file quickly.
dddserver
A gRPC server that exposes tachograph parsing as a network service. Listens on port 50055 by default. The Docker image packages this executable exclusively.
dddclient
A basic gRPC client for connecting to
dddserver. Useful for testing the server or as a reference implementation for building your own client.dddui
A minimal desktop UI built with zenity. Lets you select an input file, an output file, and the file type (VU or card) without using the command line.