QuartChartOil, coolant and fluid capacities for the exact year, make and model.

Every OBD-II Code Is Five Characters, and Each One Means Something

P0301 is a powertrain code, defined by SAE, in the ignition group, for cylinder 1. All of that is readable from the number before you look anything up.

Five characters, four questions
Five characters, four questions

P0301 is a powertrain code, defined by SAE, in the ignition and misfire group, for cylinder 1.

Every one of those facts comes from the five characters themselves. Learning to read them takes about a minute and saves looking up codes that were never going to apply to your vehicle.

Character one: which area

Letter Area What sits there
P Powertrain engine, transmission, and the emissions equipment attached to them
B Body airbags, seats, climate control, central locking, lighting
C Chassis braking, steering, suspension, stability control
U Network communication between the modules themselves

A U-code almost never means a failed component. It means one module stopped hearing from another — which is usually a wiring, connector, power or ground problem, or a module that has lost power for its own reasons.

Character two: who wrote the definition

This is the one that matters most and the one most people skip.

  • 0 and 2 — the definition comes from SAE. It is identical on every vehicle sold in the US since 1996.
  • 1 and 3 — the definition comes from the manufacturer. The same five characters can mean unrelated things on two different marques.

So P0171 means "system too lean, bank 1" on a Honda, a Ford and a Volkswagen alike. P1171 means whatever the manufacturer decided, and a definition found for the wrong marque is worse than no definition, because it reads plausibly and sends you somewhere irrelevant.

Every generic code on this site carries the SAE definition. Where a code is manufacturer-defined, the page says so.

Character three: which system

Within the P codes, the third character narrows further, and the ranges are set by the standard rather than by convention:

Range System
P00xx Fuel and air metering, auxiliary emission controls
P01xx Fuel and air metering
P02xx Fuel and air metering — injector circuits
P03xx Ignition system or misfire
P04xx Auxiliary emission controls — EGR, EVAP, catalyst, secondary air
P05xx Vehicle speed control, idle control, auxiliary inputs
P06xx Computer output circuits and internal module faults
P07xx–P08xx Transmission
P09xx Hybrid propulsion

This is why a glance at P0442 tells you it is an emissions-control fault and P0301 tells you it is ignition-related, before reading a description.

Characters four and five: the specific fault

The last two identify the individual fault within that system. They are also where the sequencing conventions live, and those conventions are useful.

Misfires are the clearest case. P0300 is a random or multiple-cylinder misfire; P0301 to P0312 name the cylinder directly — the last two digits are the cylinder number. P0304 is cylinder 4.

Oxygen sensor codes follow a bank-and-sensor pattern in blocks, which is why P0135 and P0141 are both "O2 sensor heater circuit" but one is bank 1 sensor 1 and the other is bank 1 sensor 2. Any code list that drops those suffixes has thrown away the part you needed.

Bank 1, bank 2, sensor 1, sensor 2

Bank 1 is the side of the engine containing cylinder 1. Bank 2 is the other side. An inline engine has only bank 1, so a bank 2 code on a four-cylinder is either a manufacturer quirk or a misread code.

Which physical side is bank 1 varies by engine, and getting it wrong means replacing a perfectly good sensor on the other side. It is worth confirming against the manufacturer's own information rather than assuming.

Sensor 1 is always the one before the catalytic converter, sensor 2 the one after. Sensor 1 is the one the fuelling actually uses; sensor 2 mostly watches the converter. A code naming sensor 2 rarely affects how the engine runs, which is exactly why people ignore it until an emissions test.

Hexadecimal, not decimal

The last three characters are hexadecimal, so codes run 0–9 then A–F. P035A is a real code that sits between P0359 and P035B. It is not a typo, and a list that stops at P0359 is incomplete rather than authoritative.

What the number cannot tell you

The structure tells you which system reported the fault. It does not tell you which component failed, how urgent it is, or what it costs. A P0442 small evaporative leak and a P0455 large one are next to each other in the numbering and can be a two-dollar fuel cap or a cracked charcoal canister.

The number narrows the search. The freeze frame, the live data and a test of the circuit finish it.

Work it out

Q
QuartChart

Oil, coolant and fluid capacities for the exact year, make and model. — QuartChart. Editorial policy