Diagnostic Trouble Codes
Every code on this site is the SAE J2012 generic definition — the wording the standard itself uses, not a paraphrase. Where a code is defined by the manufacturer rather than by SAE, the page says so, because a definition found for the wrong marque is worse than no definition at all.
Where these definitions come from
Every generic code on this site carries the SAE J2012 definition, cross-checked against two independent public code tables before publication. Where those tables disagreed, the code was left out rather than guessed at.
That sounds like a small thing until you see what the widely-copied lists actually contain. The dataset that ranks first for "OBD trouble codes" on GitHub — and which has been forked into commercial products — has its descriptions shifted against their code numbers: it gives P0420 as a secondary air injection relay fault and P0300 as a cylinder 12 contribution fault. Both are wrong, and both would send someone to replace a part that is working.
How to read a code number
The first character gives the area: P powertrain, B body, C chassis, U network. The second says who defined it — 0 and 2 are SAE definitions, identical on every vehicle; 1 and 3 are the manufacturer's own, and the same number can mean unrelated things on two marques.
The third character narrows the system, and the last two identify the specific fault. So P0301 is a powertrain code, SAE-defined, in the ignition and misfire group, for cylinder 1.
91 articles
- P0301 Code: Cylinder 1 Misfire Detected, Where Cylinder 1 Is, the Swap Test, and What the Bulletins Found on Cylinder 1
P0301 names cylinder 1, and cylinder 1 is a specific place with its own neighbors: the timing chain end of the engine on most inline fours, the front of a bank on a V engine. That location matters, because a few causes live there and nowhere else. The swap test still comes first.
- P0135 Code: Oxygen Sensor Heater Circuit, Bank 1 Sensor 1, the Heater That Fails Before the Sensor, and the Ram Connector Case
P0135 is about a resistor inside the oxygen sensor, not the sensor's reading. The computer heats the sensor so it works from the first minute after a cold start, and it monitors the heater's current. When the heater reads open or its current is wrong, this code sets. The sensor's oxygen signal may be perfect, and on Chrysler's Cummins trucks the sensor was fine and the connector was not.
- P0300 Code: Random or Multiple Cylinder Misfire, How the Computer Counts It, What Makes It Random, and Eight Bulletins From Plugs to Software
P0300 is a misfire the computer could not assign to one cylinder. That single fact is the diagnosis: whatever is wrong touches all of them. Fuel pressure, a vacuum leak, a coil supply, valve timing, worn plugs across the board, or the software doing the counting. The single-cylinder codes point at a part; P0300 points at a system.
- P0011 Code: Intake Camshaft Timing Over-Advanced or System Performance, Bank 1, the Oil Behind It, and the Bulletins That Say Not to Replace the Solenoid First
P0011 is a phaser that would not obey. The computer asked the intake cam to move and it stayed advanced, or moved late. Phasers run on engine oil through a small solenoid with a fine screen, and the manufacturers' bulletins say the same thing three ways: clean before you replace, because the oil and its debris are the cause far more often than the parts.
- P0455 Code: EVAP Large Leak Detected, What "Large" Means, the Cap That Is Usually Not It, and Four Bulletins on Where the Leak Really Was
P0455 is the code everyone associates with the gas cap, and on most vehicles that set it the cap is fine. A large leak means the system could not seal at all, which a missing cap does, but so does a purge valve stuck open, a vent valve stuck open, a split hose or a canister cracked by a fill nozzle. The bulletins add a fifth: a computer that misread a short drive.
- P0401 Code: EGR Flow Insufficient, How the Computer Measures Flow It Cannot See, and Why Carbon, a Filter, or the Calibration Comes Before the Valve
P0401 is measured indirectly. No sensor reads EGR flow; the computer opens the valve and watches manifold pressure, oxygen sensors, or a temperature sensor for the change it expects. When the change is too small, the valve gets the blame. Carbon in the passages, a plugged cooler or filter, or a calibration set wrong produce the same small change, and three of them are in the bulletins.
- P0420 Code: Catalyst Efficiency Below Threshold, How the Test Works, What Kills a Converter, and Seven Manufacturer Bulletins Where the Converter Was Not the First Fix
P0420 is the most replaced-and-returned code in the list. The converter is expensive, the code names it, and the test that set it is easy to misread. The manufacturers' own bulletins are the corrective: on seven different vehicles the first step was software, an oil control valve, an engine inspection or a warranty part, and only then the converter.
- P0128 Code: Coolant Temperature Below Thermostat Regulating Temperature, the Stuck-Open Thermostat, and the Vehicles Where the Fix Was Software
P0128 is the warm-up code. The engine computer knows how long a healthy engine should take to reach its thermostat's opening temperature, and when the coolant lags behind that curve it blames the thermostat. Most of the time the thermostat deserves it. Sometimes the curve itself was wrong, and three manufacturers changed it.
- U0256 Code: Lost Communication With Front Controls Interface Module, and the Chafed Harness at the Steering Column
U0256 names the module behind the buttons on the dash. When it drops off the bus, the climate and audio controls stop responding and other modules log the silence. On GM's crossovers the silence had a physical cause: a harness rubbed through where the steering shaft passes it, and water finding its way into the connectors below.
- P008A Code: Low Pressure Fuel System Pressure Too Low, the Filter, the Lift Pump and the Sensor, in That Order
P008A is the supply-side code. Before fuel reaches the high-pressure pump it has to get there at a modest pressure from a lift pump through a filter, and a sensor on that side reports when it does not. A clogged filter, a tired lift pump, air in the system and a sensor that reads low all set the same code.
- U0199 Code: Lost Communication With Door Control Module A, the Driver's Door Module and the Wire Through the Door Jamb
U0199 names the module inside the driver's door. Its wiring passes through the door jamb and flexes every time the door opens, which is why this code is so often a broken wire. Two manufacturers add a twist: on one the fix is a module, on another the code is left behind by a pin pulled for shipping.
- P0826 Code: Up and Down Shift Switch Circuit, the Tap-Shift Input and the Transmission Connector GM Says to Check First
P0826 is about the paddles or the plus-and-minus gate on the shifter. It sounds like a shifter code and often is. On GM's newest trucks it is also one of a dozen transmission codes set by a connector on the side of the case that has lost its grip, which is why GM's instruction is to check that connector before any internal work.