How to Read OBD2 Codes at Home
The first time a warning light comes on and stays on, most people do one of two things: they ignore it and hope, or they book a diagnostic appointment at a garage and pay forty to eighty pounds to be told which code has stored.

The first time a warning light comes on and stays on, most people do one of two things: they ignore it and hope, or they book a diagnostic appointment at a garage and pay forty to eighty pounds to be told which code has stored. A basic OBD2 scanner costs between twenty and fifty pounds and does the same read in thirty seconds from your driveway. This article explains how to use one, what the codes actually mean, and what to do next.
What OBD2 is and why your car has it
OBD2, which stands for On-Board Diagnostics version 2, is a standardised system fitted to every petrol car sold in the UK from 2001 and every diesel from 2003. The system monitors hundreds of sensors throughout the car: the oxygen sensors before and after the catalytic converter, the mass airflow sensor, the throttle position sensor, the coolant temperature sensor, and many more. When a reading falls outside its expected range for long enough, the system stores a fault code and switches on the warning light.
The codes are five characters: a letter followed by four digits. P codes are powertrain, covering the engine and gearbox. B codes are body. C codes are chassis. U codes are network communication faults. The first digit after the letter tells you whether the code is a generic OBD2 code (0) or a manufacturer-specific one (1, 2 or 3). A P0300 is a generic random misfire. A P0456 is a small evaporative emission system leak. A P1234 on a Ford may mean something different on a Vauxhall.
How to connect a scanner and pull codes
The OBD2 port is a 16-pin trapezoid socket. On most cars it is under the dashboard on the driver's side, usually within arm's reach of the steering wheel. Some cars hide it behind a small flap or inside the glovebox. If you cannot find it, search the make and model: the location is fixed by the manufacturer and the same on every example of that car.
Plug your scanner in with the ignition off. Turn the key to position two, which is the position where the dashboard lights come on but the engine has not started. The scanner will power up from the socket. On a Bluetooth scanner paired to your phone, open the app at this point. Navigate to the read codes function. The scan takes a few seconds. Write down every code the scanner returns before you clear anything.
Some codes are current and some are pending. A current code triggered the warning light. A pending code has been seen once or twice but not enough times for the system to commit to it. Clear the codes, drive for a few days, and check again. If the pending code promotes itself to current, it is a real fault. If it disappears, it may have been a transient reading.
Reading the codes without panicking
The codes themselves are not diagnoses. A P0420 code says the catalytic converter efficiency is below threshold on bank one. It does not tell you whether the catalytic converter is failing, whether an oxygen sensor upstream of it is giving bad data, or whether someone put the wrong fuel in. A P0171 says the system is running lean, which means many things from a vacuum leak to a failing fuel pressure regulator. The code is the start of the investigation, not the end.
For common codes, the process is to look up what the code covers, then look up what typically causes it on your specific make and model. Many codes have known common causes that a mechanic would check first. P0420 on a pre-2010 Toyota often means the rear oxygen sensor is weak rather than the cat. P0171 on early VW TDI often means the mass airflow sensor is dirty. Knowing the typical cause for your car saves diagnostic time and stops you replacing the expensive part first.
Manufacturer-specific codes, the 1xxx series, need to be looked up for your exact make. The manufacturer publishes what these mean in their workshop data, and most is available through forums dedicated to specific marques. A P1340 on a BMW is documented. A P1340 on a Renault means something entirely different.
When to clear codes yourself and when to leave them
Clearing a code without fixing the fault is not dangerous by itself, but it has a cost. Modern ECUs track readiness monitors, which are self-test routines that confirm each emission-related system has completed a full test cycle. When you clear codes, you also reset the readiness monitors to incomplete. The monitors take one to three drive cycles to complete, depending on the system. An emissions test at an MOT station will fail a car that has not completed its readiness monitors, regardless of whether a fault is present.
Clear codes only when you have identified the fault and addressed it, or when you are deliberately monitoring whether a code returns. Do not clear codes on a car you are about to take to a garage. They need to see what stored while the fault was present, and arriving with a cleared ECU makes their job harder and your bill potentially larger.
Some faults are better left to a shop regardless of what the code says. Anything that touches brake hydraulics, steering geometry, or airbag systems should not be on a home mechanic's first list. A code in those systems is diagnostic information for a professional, not a trigger for a Saturday repair session. For engine and emissions codes on a car you drive regularly and know well, home diagnosis is entirely reasonable.
For the next step after pulling codes, see the diagnostics category for symptom-based guides, and tools worth buying for home diagnostics if you want to go further than a basic code reader.
Live Data: What It Tells You That Codes Do Not
A basic code reader shows you what the ECU has stored. A scanner with live data capability shows you what is happening right now, while the engine is running. These are different kinds of information, and the gap between them is where a lot of useful diagnosis happens.
Live data lets you watch oxygen sensor voltages as the engine runs. A functioning upstream sensor switches between high and low voltage many times per minute as the ECU cycles between rich and lean mixtures. A sensor that is stuck at a fixed reading, or one that switches too slowly, is failing even if no code has stored yet. Watching the coolant temperature sensor rise from cold confirms the thermostat is opening at the correct point. Watching the MAF sensor reading at idle tells you whether airflow values are plausible for the engine size. These checks take a few minutes with the engine running and a Bluetooth scanner paired to your phone.
The most useful live data checks for a home mechanic are short-term and long-term fuel trims, which show you how much the ECU is adjusting fuel delivery to compensate for a real-world reading that differs from the expected model. A positive long-term fuel trim of more than ten percent on a petrol engine tells you the system is compensating for a lean condition: too little fuel or too much unmetered air. A negative trim tells you the opposite. The trim values will point you toward a category of fault even before a code appears, and they confirm whether a repair has addressed the underlying cause or just cleared a symptom.
More in Diagnostics
Diagnostics
Diagnosing a Misfire Without a Scanner
A misfire is one of the most common faults a petrol engine produces, and it is also one of the more diagnosable ones without...
Diagnostics
Mechanics Who Play Games and Why That Matters
Workshop culture does not often make it into discussions about hobby habits, but there is a pattern that anyone who has spent...
Diagnostics
Odds, Probability and Car Repair Estimates
Every car repair estimate is a probability statement in disguise.