OBD-II: what the standard actually guarantees, and what it does not
Almost every disappointment people have with a scan tool comes from the same misunderstanding: OBD-II is an emissions regulation that turned out to be useful for diagnosis, not a diagnostic system that happens to cover emissions.
Everything else in this article follows from that one sentence. It explains why a £20 reader finds nothing while the airbag light is on. It explains why the same code number means slightly different things on two cars. It explains why the standard mandates the shape of the socket and says nothing whatsoever about how to fix anything.
None of which makes it less useful. It is the reason a corpus like the one on this site can exist at all — before 1996 a fault code was a manufacturer's private property, read by flashing a lamp a manufacturer-specific number of times, through a connector nobody else had. What OBD-II bought was a common language for the part of the car that governments cared about. Knowing exactly where that language stops is what stops you misreading its silence.
What it actually is
A law. In the United States, OBD-II has been required on every car sold since the 1996 model year. Europe followed with EOBD — the same idea, its own regulation — on petrol cars from 2001 and diesels from 2003–04, and most other markets adopted one or the other later, which is why an older or grey-import car may have a socket that looks right and answers nothing.
What the regulation demands is narrow and specific: the car must monitor the things that affect its emissions, detect when any of them has degraded far enough to push emissions past a threshold, tell the driver with a single standard lamp, store a standard code saying what it found, and let any tool read that code through a standard socket using a standard request.
That is the whole mandate. Emissions. Not "tell the owner what is wrong with the car".
The four things it guarantees
A socket you can find. The connector is standardised as SAE J1962 — sixteen pins, a distinctive trapezoid — and it must be in the passenger compartment, reachable from the driver's seat, and accessible without tools. Hidden behind a panel that unclips is common; behind a panel that needs a screwdriver is not supposed to happen.
A conversation any tool can hold. The car must answer a defined set of requests, called modes or services. There are ten, and this site lists them with the data each one returns. Underneath them sat five different signalling protocols in the early years, which is why old tools were fussy; since 2008 every new car sold in the US has been required to use CAN, and the rest of the world converged on it too, so protocol incompatibility is now largely a problem of the past.
A code format. One letter and four characters — P0301, C0035, U0100. The letter is the area: P powertrain, B body, C chassis, U network and communication. What comes after it is covered below, and it is the part most worth understanding, because it tells you who wrote the definition you are reading.
A lamp with a defined meaning. Which brings us to the one piece of OBD-II that every driver sees and almost nobody has been told the important half of.
The warning lamp, and the half nobody is told
The malfunction indicator lamp — the engine-shaped outline, sometimes the words CHECK ENGINE — has two states, and they mean very different things.
Steady: a fault is stored that affects emissions. The car is generally drivable. Get the code read, and do not assume the fault is small just because nothing feels wrong — a large share of the faults in the corpus produce no sensation at all.
Flashing: a misfire severe enough to be damaging the catalytic converter right now. Unburnt fuel is reaching the converter and burning inside it. Reduce load immediately, and stop as soon as it is safe to. Continuing turns a spark plug or coil into an exhaust system.
That distinction is standardised, it is the same on every car, and it is the single most actionable thing in the whole specification. P0300 and its numbered siblings are what will be stored behind it.
Reading the code number
The second character is the one that matters, because it says who defined this code:
| Second character | Who wrote it | What that means for you |
|---|---|---|
| 0 | The standard | Same meaning on every car. P0171 is a lean bank on a Ford and on a Toyota |
| 1 | The manufacturer | Defined by whoever built the car. P1131 on one marque is unrelated to P1131 on another |
| 2 and 3 | Mixed | Mostly standardised, with manufacturer-defined regions inside them |
The third character is the subsystem — fuel and air metering, ignition, emissions, transmission and so on — though what each digit means depends on the block it sits in, which is a detail this site's corpus is built around rather than something you need to memorise.
The practical version is short. A code beginning P0 has a definition you can look up and trust. A code beginning P1 needs the manufacturer's own documentation, and a generic reader's guess at it is often wrong — sometimes confidently and in detail, which is worse than no answer.
What it does not guarantee, which is the important half
Anything that is not an emissions system. This is the big one and the source of most confusion. ABS, airbags and the rest of the restraint system, most of the transmission, power steering, climate control, body electronics, the immobiliser — none of it is inside the OBD-II mandate. A basic reader that reports "no faults found" while the airbag lamp is lit is not broken and is not lying. It asked the emissions question and got an honest answer to it.
Reaching those systems needs a tool that speaks the manufacturer's own protocols. That is what separates a £20 dongle from a workshop scanner, and it is most of the price difference. The corpus here documents the B, C and U codes those systems produce, but reading them off your car is a tool question.
What the manufacturer had to do to set the code. This is subtler and it matters more than it sounds. The standard fixes the code's number and title. It does not fix the test behind it — the thresholds, the conditions that have to be met before the monitor even runs, how many drive cycles it takes to confirm. Those are the manufacturer's, and they differ.
So two cars can store the same code for measurably different underlying conditions, and this is the honest limit of every generic code reference, including this one. A page here can tell you what
P0420means and what usually causes it. Only the manufacturer's own service information gives you the threshold that particular engine applies, and any source that claims otherwise is guessing.
Repair information. The standard says nothing about what to do. Not a word. Everything on this site beyond the code's title is authored, not read off a specification.
Live data beyond a short list. A handful of parameters are required; the rest are "supported if the manufacturer supports them". Two cars of the same age can offer very different lists, and a missing reading usually means the car does not publish it rather than that anything is wrong. Reading live data covers what to do with what you get.
That the code is current. A stored code is a record of something the car once saw. Confirming it is still true is diagnosis, which is the work the code exists to start rather than to replace.
The modes, and the two people skip
Ten of them, listed here with their data. Most tools expose three — read codes, clear codes, live data — and quietly hide the rest. Two are worth knowing about by name.
Mode 06 — on-board monitoring test results. The raw numbers behind the pass/fail decisions. Where a code tells you a monitor failed, Mode 06 shows you the measurement and the limit it was tested against, so you can see a catalyst that is drifting toward failure while still technically passing. It is the closest thing OBD-II has to a health check, and consumer tools present it so badly that almost nobody uses it.
Mode 0A — permanent codes. Required on US cars from around 2010, and the answer to a question people ask constantly: why has the light come back when I cleared it?
A permanent code cannot be cleared by a scan tool, and cannot be cleared by disconnecting the battery. Only the car itself can remove one, by running the relevant monitor again and passing. That is deliberate — it exists specifically to stop a car being cleared in the car park before an emissions inspection. If you have a permanent code, there is no shortcut; the fault has to actually be fixed and the car has to be driven until it re-tests.
Clearing codes, and why it is usually the wrong move
Clearing the fault memory is the most common thing people do with their first scan tool, and it destroys more information than it solves.
It does not repair anything — it deletes the record and the lamp returns when the fault recurs. Along with the code it discards the freeze frame, the snapshot of engine conditions at the moment the fault set, which is often the most diagnostically useful thing the car has. And it resets every readiness monitor to incomplete, so the car cannot pass an emissions test until it has been driven enough for all of them to run again. Inspecting a used car covers the other end of that: no codes plus incomplete monitors, on a car somebody is selling, is a specific and informative combination.
Read the code, write it down with the freeze frame, and then decide.
What this site does with all this
Worth stating plainly, since it is the boundary the article is about.
- The corpus documents the standardised codes — the ones whose meaning does not depend on the badge. That is why it is useful and also why it stops where it does.
- Every valid code number has a page, including the ones nobody has written up yet, because a code with no page is a question that cannot be asked.
- /diagnose runs the other direction, from a sentence describing what the car is doing to the codes and components that match it — for when you have a symptom and no reader.
- What is authored is authored. The title of a generic code comes from the standard. Everything else — causes, severity, what to check first — is written here and can be argued with.
The short version
- OBD-II is emissions law. Its silence about your airbag light is not a fault in your reader.
- A flashing engine lamp means stop, not "book it in next week".
P0codes mean the same thing on every car.P1codes do not.- The code number is standardised; the test behind it is the manufacturer's. That is the limit of any generic reference.
- Clearing codes deletes the freeze frame and resets the monitors. Read first.
- A permanent code cannot be cleared by a tool — only by fixing the fault and letting the car re-test.
Информация, а не инструкция
CarGeek — это справочник, а не руководство по ремонту. Его страницы составлены по открытым источникам и по опыту других людей, но не по сервисной документации производителя, поэтому для вашего конкретного автомобиля они могут быть неверными или неполными. Часть описанного связана с реальной опасностью: высокое напряжение, топливо под давлением, накопленная энергия, горячие и движущиеся детали.
Всё, по чему вы собираетесь действовать, сначала проверьте с человеком, имеющим техническую подготовку, по собственной процедуре производителя для вашего автомобиля. Ничто здесь не заменяет эту процедуру.