J1939 DBC File CAN Bus Database PGN SPN

J1939 DBC File - Decode Heavy Duty Data [PGN & SPN Database]

The SAE J1939 DBC file contains decoding rules for converting raw J1939 data to 'physical values' (km/h, %, ...). This lets you easily decode data from heavy duty vehicles (trucks, buses, tractors, ...).

DBC is a CAN database format used in most automotive tools - incl. our CAN software/APIs.

The download includes a legal J1939 DBC & license, based on the J1939 Digital Annex Excel file (also included). We offer this in collaboration with SAE. For company-wide quotes, contact us.

The DBC revision is 2021-08.

Tip: Contact us for a free 'sample conversion' of a CLX000/CANedge log file.

New: Check out the 4 min intro video.

Buy now - or learn more below!

Regular price
500 EUR
Unit price
per 
In stock | Prices ex VAT | PDF quotation  
 i  To get a PDF quotation, you can go through the normal purchase process via our webshop.

Under 'Payment Method', you can select 'PDF Quotation (Advance Payment)'. Once you submit your request, we will send the PDF quotation in <24 hours.

If you prefer, you can of course also contact us.




Decode Data From Heavy Duty Truck DECODE J1939

Convert J1939 data in wide range of software/API tools

The Database Includes PGN and SPN Information 1800+ PGNs

The extensive DBC contains 1800+ PGNs and 12000+ SPNs

You can review the DBC PGN list via our converter REVIEW FIRST

Use our CAN ID converter to check if your PGNs are covered

The DBC is crowd-tested for precise decoding rules CROWD INPUT

Benefit from free corrections based on large user base

You save time vs. creating your own database SAVE HOURS

Avoid manually constructing the DBC file from scratch

The DBC file includes the SAE Digital Annex LEGAL LICENSE

Includes Digital Annex Excel + license (price: 250$)





What is a DBC file?

A DBC file is a standardized method for storing the "rules" on how to interpret raw CAN bus data. In particular, it contains details on what 'signals' (e.g. RPM, Vehicle Speed, …) are contained within which 'messages' (i.e. CAN IDs).

In the J1939 standard, messages are referred to as Parameter Group Numbers (PGN) and signals as Suspect Parameter Numbers (SPN).

Further, a DBC file includes names, descriptions, positions and lengths of the signals - as well as how to offset & scale them.


Software supports DBC files with PGN and SPN decoding rules for heavy duty trucks
The SAE DA Digital Annex 2021 Bundle

This DBC file download includes:

  • An SAE J1939 DBC file with ~1800+ PGNs and 12000+ SPNs
  • The J1939 Digital Annex Excel file (with additional PGNs/SPNs and description details)
  • One legal license (1 user, 1 PC) matching the DA license (stand-alone price: 250$)

CSS Electronics acts as a re-seller for the Society of Automotive Engineers (SAE) for the J1939 database file. Terms include the SAE terms related to purchase.





When is the database useful?

The J1939 protocol is used across most heavy-duty vehicles, including commercial trucks, tractors, transit buses etc. Because the protocol is standardized, you can use the J1939 DBC file to decode data across the majority of heavy-duty vehicle brands/models.

For basics on J1939 data logging, see our J1939 telematics intro.


In our experience, the DBC typically lets you decode 60-80% of the J1939 signals (SPN) from a J1939-based heavy duty vehicle, with the rest being proprietary OEM-specific data. In most cases, this lets you extract the most critical signals, e.g. information related to speed, rpm, fuel data, temperatures, pressure data, GPS (if the vehicle supports it) etc. With that said it depends a lot vehicle-by-vehicle, so we always recommend to perform tests for the specific heavy-duty vehicles you need to record J1939 data from.


If you're using our CAN loggers, we can offer to decode a sample log file with the DBC before you decide whether to purchase the J1939 DBC file (this sample conversion is 100% free). This way you can see exactly what data parameters you can extract from a specific vehicle (or multiple vehicles) before deciding. Simply contact us with your data samples.

If you do not have one of our CAN bus data loggers, you can perform an evaluation by parsing the unique CAN IDs from your application (e.g. logged with another logger) into our CAN ID to PGN converter to check which of your CAN IDs are matched by the DBC file.







What PGNs are in the DBC?

If you have a list of CAN IDs from a J1939-based vehicle, you can paste them in our 'CAN ID to J1939 PGN converter':

  • Convert raw CAN IDs to PGNs
  • Convert PGNs to raw CAN IDs
  • Check if the PGNs are in the DBC

See also our FAQ for details on PGN vs. SPN coverage.



Try sample data & DBC

Below you'll find a J1939 data log from a truck recorded with the CANedge2. The sample also contains a demo J1939 DBC with EngineSpeed + WheelBasedVehicleSpeed.

You can load the raw data & DBC in the free asammdf GUI, decode it to human-readable form and plot it.

data & DBC sample Download asammdf
asammdf software GUI and API for J1939 DBC Conversion

Check out the tech specs and FAQ above - or buy now!

Do you have any questions?

Contact us

GENERAL
Standard(s) J1939 Digital Annex (2021-08) - corresponds mainly to J1939-71
#PGNs 1800+
#SPNS 12000+
Multipacket Multipacket syntax is used for the multipacket PGNs included in the DBC
Multiplex Some multiplexed messages are included, but with "regular" syntax (not multiplex)
Descriptions Partial SPN descriptions included in DBC (full included in Digital Annex)
Attributes SPN ID, VFrameFormat
Value tables Only partially included
Network nodes Not included



The SAE j1939 standard is used across most heavy duty vehicles (trucks, buses, tractors, excavators, …) regardless of manufacturer and brand. This means that a large set of standard data parameters will typically be available on any given heavy duty vehicle - and can be converted using the DBC file. With that said, each brand typically also includes a set of proprietary PGNs (which are not covered by the DBC).

If you need to log data from a heavy-duty vehicle, then this DBC file is relevant for you. Most CAN bus software/API tools support decoding of raw CAN bus data from trucks, buses etc if you provide a J1939 DBC file for the tool.

Of course, you can create your own DBC file, though based on our experience this will be many times more expensive in terms of staff hours vs. purchasing this DBC file as your basis. Instead, we recommend that you spend the time to expand and edit this DBC file to implement e.g. specific proprietary PGNs and SPNs relevant to your application.


We've taken the full J1939 PGN list and corresponding SPN list from the SAE J1939 Digital Annex Excel file and added them to the DBC file format. This involves extensive data cleaning and ensuring that the restructuring of the details is done correctly as per the proprietary DBC specification. The resulting DBC file has then been tested versus previous versions and via various CAN bus software tools.


In the most recent version, the DBC file includes 1800+ PGNs and 12000+ SPNs. You can see a full list of the included/excluded PGNs in our "CAN ID to PGN" tool:

CAN ID to J1939 PGN Converter


The free, open source asammdf GUI/API supports the loading of J1939 DBC files natively. This means that it's easy to decode raw J1939 data from the CANedge series - as well as e.g. exporting/plotting the decoded data.

Examples also include our free CANvas & Wireshark plugin software (excl. Multipacket messages) and the software tools of e.g. Kvaser, Vector, PEAK.


We've excluded some special case PGNs and SPNs, primarily those that require detailed lookups in sub standards incl. J1939-12, J1939-21, J1939-31, J1939-73, J1939-76, J1939-81, ISO 11783 and NMEA 2000. In future launches we may add support for these depending on demand.

Note also that 'value tables' that include descriptions of various states (e.g. trouble codes) have not been included directly in the *.DBC file for now to keep it simple. Similarly, a number of attributes (e.g. SPN signal types) have been excluded for now. However, you can look up this information quickly in the Digital Annex Excel file included in the bundle. Depending on demand for these added data, we may include them in future updates - let us know your thoughts.


Most likely not. As mentioned above, some PGNs are excluded for now. But more importantly, most manufacturers utilize proprietary PGNs for some of their data. In practice this means that you'll typically be able to convert a large set of standard parameters across most heavy duty vehicles - but not necessarily all the data. The coverage is application specific. However, if you are able to record/identify the raw CAN IDs from your application, you can use our above converter to identify which PGNs are supported in the latest DBC.


Not necessarily. A PGN may include e.g. 4 SPNs in the SAE J1939 standard - and hence in our DBC file - yet, in your specific application it could be that e.g. only 1 of these SPNs is used.

When converting the data from such a case using the DBC file, some tools may still return converted data for all 4 SPNs. However, upon inspection you'll find that the data of invalid SPNs is typically outside the valid min/max range and constant.


Multiplexed messages utilize a multiplexer signal to switch the interpretation of subsequent data bytes. In the DBC file, multiplex messages can be integrated using a slightly different notation than regular PGN / SPN combinations.

For now, we've decided to simplify the inclusion of multiplexed messages. This means that we've used the "standard format" for these, without the multiplexer notation. There are pros and cons to this: The DBC file is simplified and can be used in a wider array of CAN bus software tools as some do not support the multiplexed notation. The con is that you'll have to "manually" identify and handle the multiplexed messages. I.e. using our J1939 DBC file, two entries of a multiplexed message may come out with a consistent signal name. You'll then have to look at the value of the multiplexor and ex post adjust your interpretation/mapping of the signal names.

We may update this in the near future, depending on feedback.


Yes, but be aware that the format is proprietary with no open spec. Further, even small errors in spaces etc. will lead to the file not rendering properly. Various DBC editor tools allow editing, e.g. Vector's CANDB++ or Kvaser's Database Editor. Be aware, however, that simply saving the DBC file via one of these tools may change the format and structure.

We do not recommend editing the DBC file unless you're an advanced user. While we can offer some basic support on your DBC file, we can't help with detailed editing of the file.


We'll inform you if there is an update to a DBC file revision that you've purchased within the same J1939 Digital Annex license. For example, if you've bought a DBC file corresponding to the SAE J1939 Digital Annex 2019 July release, you'll be able to get updates for this version.

However, the legal license for the underlying SAE J1939 details is linked to each publication. As such, you would need to make a separate purchase if you want to get updated to a more recent publication of the SAE J1939 Digital Annex (J1939DA), e.g. a 2021 July release.


The J1939 protocol provides 19 diagnostic messages (DM) that can be used to read and clear diagnostic information in the network ECUs. The diagnostic messages are described in the SAE J1939-73 Application Layer - Diagnostics standard, which also includes a J1939 fault code list.

No, the J1939 diagonstic trouble code information is not contained in the J1939 DA (Digital Annex) and hence not in the J1939 DBC. The J1939 DBC also does not contain a J1939 SPN FMI code list (Failure Mode Indicator), though you can find such online.

If you need to decode J1939 diagnostic messages like DM1, DM2 etc you can purchase the J1939-73 standard from SAE and manually add the relevant decoding information to our J1939 DBC file. We may also later add the J1939-73 standard as a separate J1939 DBC file - you can join our newsletter to be notified.


We are very open to requests for additions - if you're looking for specific aspects of the J1939 standard to be added, let us know and we'll get back to you asap. For any further questions, please contact us - we always aim to get back in < 24 hours.


The construction of the DBC is done based on public information regarding the DBC structure and syntax. Further, it is based on the J1939 Digital Annex, which requires a large number of re-mappings of variables, units etc in order to construct the DBC. As such, errors can potentially exist in the J1939 DBC (similarly to how they might in the underlying J1939 Digital Annex). With that said, the DBC is used by hundreds of end users on a regular basis - and any reported issues are immediately resolved from our end and a patched DBC will be sent out. We believe this is the best approach to ensure any edge cases are discovered quickly. Should you identify any issues, please contact us.