Skip to main content

What is a DTC code?

May 6, 2025

5 minute read

dtc code illustration

Key Insights

  • Diagnostic trouble codes (DTCs) are standardized codes generated by a vehicle's on-board diagnostics system (OBD) to signal issues in various systems and components. 
  • Each DTC consists of a combination of five letters and numbers, with each character representing a specific problem within the vehicle.
  • There are three levels of DTC code severity — minor, moderate and severe.

When one of your fleet vehicles malfunctions, the first step to fixing it is learning what’s wrong. Diagnostic trouble codes (DTCs) can help with that by helping you understand common issues in your vehicles so you can quickly address them. Understanding DTCs can also be beneficial for keeping your fleet vehicles in proper working condition. 

 

Learn everything about DTCs, where they come from, the different types of DTCs and how to interpret their meaning. Also, explore how you can use telematics to interpret and monitor DTCs and benefit from telematics solutions.

What is a DTC code? 

DTCs are standardized codes generated by a vehicle's on-board diagnostics system (OBD) to signal issues in various systems and components. Created by the Society of Automotive Engineers (SAE), these codes help identify malfunctions and enable timely maintenance and repairs. 

 

DTCs are a combination of five letters and numbers, where each character represents a specific problem within the vehicle:

  • The first character is the system identifier.
  • The second character represents the code type.
  • The third character is the sub-system indicator for affected sub-systems.
  • The fourth and fifth characters are specific fault identifiers.

The difference between OBD and J1939 systems

OBD systems and J1939 are the two main standards of DTCs since they generate these codes. These systems continuously monitor vehicle performance and generate DTCs when they detect anomalies and malfunctions. 

 

Here are the key differences between the two:

  • Usage: OBD is most common in passenger vehicles and light-duty trucks, while the J1939 protocol is used in heavy-duty vehicles, buses and industrial equipment.
  • Focus: OBDII is the latest standard for OBD, which provides comprehensive diagnostic capabilities and supports a wide range of vehicles. J1939 codes offer robust remote diagnostic information for commercial trucks and other fleet vehicles, focusing on engine, transmission and chassis systems. 

How to read a DTC code

The most common way to read a DTC code is to plug an OBDII scanner or a J1939 data logger into the vehicle’s port after the check engine light comes on. You will usually find OBDII ports under the dashboard below the steering wheel and J1939 ports in accessible areas of heavy-duty vehicles. 

 

A faster way to read DTC codes at scale is to use a telematics system. You can simply put a vehicle tracking device inside the vehicle, and the telematics system will automatically read and report DTCs. These systems also provide real-time alerts and detailed diagnostics, so you can instantly recognize problems and schedule maintenance to resolve them.

How to interpret an OBDII DTC code

An OBDII DTC consists of five characters, and each is important to understand the vehicle’s issue.

An example of a P0303 DTC code breaking down which each letter and number means.

The first character (a letter) is a system identifier, which indicates the location of the anomaly:

  • P: Powertrain (engine, transmission, fuel/ignition systems)
  • C: Chassis (brakes, suspension, steering)
  • B: Body (airbags, HVAC, door controls)
  • U: Network (communication issues between modules)

The second character (digit) represents the code type:

  • 0: Generic (SAE‑standard code used across all manufacturers)
  • 1: Manufacturer-specific (unique to a particular vehicle maker)

The third character (digit) is the sub-system indicator, which identifies the sub-system in which the issue has occurred. For example:

  • 1 is for fuel and air metering
  • 2 is for the injector circuit
  • 3 is for ignition systems or misfires

The fourth and fifth characters (digits) are specific fault identifiers, which:

  • Range from 00-99
  • Pinpoint the specific fault in the vehicle (for example, 01 represents a misfire in cylinder 1 of the engine)

Based on the above information, the OBD code P0301 would indicate a misfire in cylinder 1 of your vehicle's engine. 

 

Here’s a Diagnostic Trouble Code list of common codes with descriptions, possible causes and diagnostic aids you can refer to. This DTC lookup can help you better understand how to read them.

How to interpret a J1939 DTC

J1939 DTCs consist of four fields that provide information about a DTC code. 

 

These fields include:

  • Suspect Parameter Number (SPN): Identifies the specific parameter or system where an issue occurs
  • Failure Mode Identifier (FMI): Represents the nature of the problem, such as a calibration error, sensor malfunction or other data that does not make sense
  • Occurrence Counter (OC): Shows the frequency of error and increases by 1 for each error occurrence
  • SPN Conversion Method (CM): Defines the byte alignment inside the DTC and shows how to address SPN and FMI

For example, the code J1939 DTC with SPN 102, FMI 4 means that the sensor that monitors how much air the engine is drawing isn’t sending the proper signal. Its reading is abnormally low, suggesting a potential sensor or wiring issue.

 

To break it down for you:

  • SPN 102 refers to the engine’s intake manifold pressure system.
  • FMI 4 indicates that the sensor’s voltage is lower than normal (it’s too low or “shorted” to a low voltage).

How to understand DTC severity

Many DTCs vary in severity, from minor issues that merit prompt attention to critical faults demanding immediate action. Understanding DTC severity can help you better prioritize maintenance and keep your drivers and vehicles safe. 

 

Here are the three levels of DTC code severity:

  • Minor: Issues that do not immediately impact vehicle performance (e.g., minor sensor malfunctions) but should be resolved before they cause significant problems
  • Moderate: Problems, such as a moderate engine misfire, that affect vehicle performance but do not pose an immediate risk to the driver or vehicle
  • Severe: Critical faults like high-temperature engine overheating that require urgent attention to help reduce vehicle damage and avoid risk to the driver and others nearby

This three-level system helps denote severities easily, such as:

  • 1 of 3 — minor issue
  • 2 of 3 — moderate issue
  • 3 of 3 — severe issue

So, a DTC severity 2 of 3 signals that, while not immediately catastrophic, the problem should not be ignored, and you should schedule the repair soon.

Click here to learn how Geotab can help you optimize your fleet maintenance program.

Common DTC codes and what they mean

DTCs serve as an early warning and help pinpoint issues across various systems. Understanding what each common DTC means allows you to troubleshoot vehicle fault codes and quickly identify potential problems. It allows you to take appropriate actions, whether it's a simple fix like tightening a gas cap or more in-depth repairs.

 

Here are some common DTC codes and what they mean:

Code 

System 

Meaning

P0101OBDThere’s a fault in the vehicle’s mass air flow sensor or circuit.
P0110OBDThe intake air temperature sensor circuit has suffered a malfunction.
P0442OBDA system leak has been detected in the vehicle’s evaporative emission control system.
P0300OBDMultiple cylinders are misfiring intermittently.
P0171OBDThe engine is receiving too much air or not enough fuel in the first bank of cylinders.
SPN 5246J1939Issue with the heavy vehicle’s after-treatment 1 inlet NOx sensor.
SPN 639J1939The engine control unit in a heavy vehicle is experiencing an internal fault.

How to clear a DTC code

Clearing DTCs is an essential step after addressing vehicle issues, as it resets the vehicle's monitoring systems and allows you to verify that repairs were successful. However, make sure to clear DTCs only after resolving the underlying problems; otherwise, the codes will likely reappear, indicating unresolved issues.

 

There are three proven ways to clear a DTC code: 

  1. Telematics systems: Many telematics solutions enable you to remotely clear DTC codes after resolving a specific issue.
  2. OBDII scanner or a J1939 data logger: Once repairs are completed, you can clear DTC codes by plugging in handheld scanners. All OBD management devices aren’t the same, so pick one that meets your needs.
  3. Disconnecting the vehicle battery: You can also clear codes manually by disconnecting the battery. Doing this will reset all vehicle systems and may erase data.

Note: Simply using an OBDII scanner to clear codes or disconnecting the battery will not erase permanent DTCs. The vehicle must validate the repair through its monitoring systems.

Using telematics to interpret and monitor DTC codes

Telematics devices can read and interpret DTCs in real time, making them much faster than manually plugging in an OBDII scanner or a J1939 data logger. This saves a lot of time, helping you recognize vehicle malfunctions immediately so you can schedule fleet maintenance proactively and reduce vehicle downtime. 

 

By using telematics to understand and manage DTCs, you can optimize your fleet and track DTCs at scale to identify recurring problems and avoid future issues.

Click here to request a demo of Geotab fleet management software and see how you can streamline your performance monitoring.

Frequently Asked Questions

Other Stories

View last rendered: 05/15/2025 03:20:25