Back To Blog Academy

MIL, Pending, Confirmed, Permanent, History and OEM DTCs

By R&D
Published on January 2nd, 2024

As an Amazon associate, we earn from qualifying purchases.

Format for OBD2 DTC Trouble Codes

A trouble code consists of one letter and four numbers. Examples would be P0301, P1234, & P2543.

Types of DTC Codes

Generic Codes

Generic DTCs are represented by 0 following the letter in the DTC. For example, P0301. The following are the main types of DTCs:

  • MIL DTC - A confirmed Diagnostic Trouble Code (DTC) identified in the Freeze Frame data that is most likely responsible for commanding the Malfunction Indicator Lamp (MIL) ON. This code identifies the vehicle issue that should be corrected first.
  • Pending DTC - A Diagnostic Trouble Code (DTC) set on the "first trip" of a "two trip" code. If the fault that caused the DTC to be set is not found on the subsequent (second) trip, the code is cleared automatically.

    Pending Diagnostic Trouble Codes (FTCs) are “two-trip” fault codes for emission-related components and systems that are detected during a current or most recently completed drive cycle. If a test initially fails during a current drive cycle, a pending DTC associated with the test is set. If the same test fails during the next subsequent drive cycle when the test is run, the Malfunction Indicator Lamp (MIL) is commanded on and a confirmed (stored) DTC is set indicating the faulty component or system. Test results reported by pending fault codes do not necessarily indicate a faulty component or system. The intended use of pending fault codes is to assist the technician following a vehicle repair when clearing diagnostic information and reporting test results after a single drive cycle.
  • Confirmed DTC - A Diagnostic Trouble Code (DTC) is saved on the "first trip" during which the failure is found, and the Malfunction Indicator Lamp (MIL) is commanded on.

    Confirmed Diagnostic Trouble Codes (DTCs) are “one-trip” fault codes for emission-related components and systems that are detected during a single drive cycle. In cases where the test for a given component or system fails during a drive cycle, a confirmed (stored) DTC associated with the failed test is set, and the Malfunction Indicator Lamp (MIL) is commanded on.
  • Permanent DTC - Permanent Diagnostic Trouble Codes (PDTCs) are similar to confirmed (stored) Diagnostic Trouble Codes (DTCs). However, PDTCs cannot be cleared using an On-Board Diagnostic (OBD) scan tool or reset by disconnecting the vehicle’s battery. To clear a PDTC , the underlying problem that caused the PDTC to set must be corrected, and the vehicle must be operated (driven) for a period of time sufficient to allow the monitor that identified the problem to rum. When the monitor completes without detecting a problem, the PDTC is cleared automatically.
  • History Codes - History codes (HDTCs) that once had a fault, but have either been repaired or aren't considered a problem because they do not affect a vehicle's overall condition. History codes are important in helping trace back a problem's source during a repair.

OBD2 scanners, like Innova's 1000 Dongle, detect History Codes because it's necessary to leave a trace behind so that a repair technician can create a repair flow for a more straightforward evaluation. History codes are beneficial for diagnosing intermittent vehicle failures that may occur in your vehicle.

Note: If you ever decide to clear history codes, write them down or check them out thoroughly so that you can quickly diagnose intermittent failures. If you need more help in deleting codes while using the Repair Solutions 2 App visit the Reading and Clearing Codes article.

Find the perfect scanner in 1 minute

Manufacturer Specific Diagnostic Trouble Codes (OEM)

Manufacturer Specific Codes, or OEM codes, are unique codes that don't start with a 0 following the letter after the DTC. For example, P1234 or P2543. This type of DTC demonstrates that it's specifically for your vehicle's year, make, and model set by the manufacturer.

The Four Categories of OBD2 Trouble Codes Systems

  • B codes (Body) - Covers functions inside the passenger compartment, including parts that offer assistance, comfort, and safety to drivers like BCM, HVAC, SRS, and Stereo.
  • C codes (Chassis) - Covers functions outside the passenger compartment, including mechanical systems like breaks, steering, and suspension. 
  • P Codes (Powertrain) - Covers engine, transmission, and accessory functions associated with the drivetrain.
  • U codes (Network) - Covers computer modules and system functions in your vehicle. 

Breakdown of Code Groupings

MIL, Pending, Confirmed, Permanent, History and OEM DTCs.png__PID:607e0140-22ea-4591-9d95-b04b39c5a365

Back To Blog Academy

Have Questions?

Hop in the discussion board on our community site!
It's a place where we help each other answer questions. Like Reddit but for automotive lovers.

Visit Community