DTC codes / How to read codes
A diagnostic trouble code is the engine computer's note to whoever plugs in next: it records which test failed and, through freeze frame data, the conditions at that moment. It points you at a circuit or a system rather than at a single failed part, which is why the code alone is the start of a diagnosis, not the end of one.
Every OBD-II vehicle has a 16-pin diagnostic socket inside the cabin, almost always under the dashboard on the driver's side, within reach of the steering column. Plug the reader in, turn the ignition on (the engine can stay off unless your tool asks for it running) and choose the option to read codes. OBD-II became standard on petrol cars sold in the United States from 1996, and the European equivalent, EOBD, applies to petrol cars from 2001 and diesels from 2004.
The letter names the system: P for powertrain (engine, transmission, emissions), C for chassis (brakes, steering, suspension), B for body (airbags, doors, lights) and U for the network that lets the control modules talk to each other. A 0 in second place means a generic code that carries the same meaning on every vehicle, while a 1 means the manufacturer defined it, so the same number can describe completely different faults on a Ford and a Toyota. For powertrain codes the third character narrows things down further: 1 and 2 cover fuel and air metering, 3 the ignition system and misfires, 4 auxiliary emission controls such as EGR, EVAP and the catalyst, 5 idle and vehicle speed, 6 the computer and its outputs, and 7 to 9 the transmission.
| Type | What it means |
|---|---|
| Pending | A test failed once. Many faults have to fail on two separate drive cycles before the warning light comes on, so a pending code is an early warning that often appears before the light does. |
| Confirmed (stored) | The fault repeated and the computer has switched the check engine light on. This is what most basic readers show as "the code". |
| Permanent | Fitted to vehicles from around 2010 onwards. A scanner cannot erase these; they clear themselves only after the car has re-run the failed test and passed it, which stops anyone wiping a fault just before an emissions test. |
When a code sets, the computer saves a snapshot of engine speed, load, coolant temperature, fuel trims and road speed at that instant. That snapshot tells you whether the fault happened on a cold start, at idle, or under hard acceleration on the motorway, which often separates two possible causes faster than any part swap. Write the freeze frame down before you clear anything, because clearing codes erases it as well.
A steady check engine light means a fault has been stored and should be looked at soon. A flashing light means an active misfire bad enough to damage the catalytic converter, because unburned fuel is reaching it and overheating it. Ease off, avoid hard acceleration, and get the car checked before driving any distance.
The computer runs self-tests, called monitors, on systems such as the catalyst, EVAP, oxygen sensors and EGR. Each one reports "ready" only after it has completed under the right driving conditions, which can take several days of mixed driving. Many emissions inspections fail a car with too many incomplete monitors even when no code is present, so a car that has just had its codes cleared or its battery disconnected is likely to be sent away.
Clearing a code switches the light off but fixes nothing, and it throws away the freeze frame and the completed monitors with it. It makes sense once a repair is finished, to confirm the fault does not come back. Clearing before the fault is found only hides the evidence, and if the code returns within a drive or two you have learned the fault is still there without learning anything about its cause.
When a scan returns a list, look for one fault that explains the rest before chasing each code separately. A weak battery or a poor ground can set network and sensor codes across several modules, a single vacuum leak can set lean codes on both banks, and a failed sensor can trigger follow-on codes in the systems that rely on it. Fix the root fault, clear the codes, drive the car and scan again.
Type it into the scanner to see what it means and what to check first.
Get the app
Quick access from your home screen.