Skip to content

How to Read OBD2 Codes — Step-by-Step Guide

Reading OBD2 fault codes is easier than you think — you don’t need to visit a mechanic just to find out why your check engine light is on. This step-by-step guide shows you exactly how to read OBD2 codes using a scanner or phone app, what the codes mean, and what to do next.

What You Need

  • Option A (Handheld Scanner) — A dedicated OBD2 scanner like the Autel AutoLink AL319 (~$30) or Innova 3100j (~$50). Plug in, power on, read codes. No phone needed
  • Option B (Bluetooth Adapter + App) — A Bluetooth OBD2 adapter (e.g., Veepeak Mini ~$18 or OBDLink MX+ ~$99) paired with a free app (OBD Auto Doctor, Torque Pro, or Car Scanner)

Step-by-Step: How to Read OBD2 Codes

  • Step 1: Find the OBD2 port — It’s a 16-pin trapezoidal connector, almost always located under the dashboard on the driver’s side. On most cars it’s within arm’s reach of the steering wheel. No tools needed to access it
  • Step 2: Plug in your scanner — With the ignition off, plug your OBD2 scanner or Bluetooth adapter into the port. It should click in firmly
  • Step 3: Turn ignition on — Turn the key to position 2 (accessories on, engine off) or start the engine. The scanner will power on from the OBD2 port
  • Step 4: Connect (Bluetooth) or navigate (handheld) — For Bluetooth adapters, open your app and connect to the adapter. For handheld scanners, press “Read Codes” or navigate to the diagnostic menu
  • Step 5: Read fault codes — The scanner displays any stored Diagnostic Trouble Codes (DTCs). Write them down or screenshot them
  • Step 6: Look up the codes — Search each code on this site or in your scanner’s built-in code library for the meaning and common causes

Understanding OBD2 Code Format

Every OBD2 code is 5 characters. Here’s what each part means:

CharacterMeaningExample
1st letterSystem: P=Powertrain, B=Body, C=Chassis, U=NetworkP0420
2nd digit0=Generic (all makes), 1=Manufacturer-specificP0420
3rd digitSubsystem (1=Fuel/Air, 2=Fuel injector, 3=Ignition, 4=Emissions…)P0420
4th & 5th digitsSpecific fault number within that subsystemP0420

Types of Fault Codes

  • Stored/Confirmed codes — The fault has occurred. Check engine light is on
  • Pending codes — The fault occurred once but hasn’t happened enough times to trigger the light yet. Worth investigating
  • Permanent codes — Cannot be cleared with a scanner — the vehicle must go through a drive cycle to verify the fault is fixed. Introduced to prevent emissions test cheating
  • Freeze frame data — Snapshot of sensor readings (RPM, speed, temperature, fuel trim) at the moment the fault occurred. Very useful for intermittent faults

Should I Clear the Codes?

Only clear codes after you’ve fixed the underlying problem. Clearing codes without a fix just turns the light off temporarily — it will come back. Also note: clearing codes resets readiness monitors, which means your car may temporarily fail an emissions/MOT test even if it’s fixed. You need to drive through a complete drive cycle first.

Best Free OBD2 Apps

  • Car Scanner ELM OBD2 (iOS/Android) — Best free app with extended PIDs
  • OBD Auto Doctor (iOS/Android/Windows/Mac) — Clean interface, great for beginners
  • Torque Pro (Android, ~$5) — Best for live dashboards and data logging
  • FORScan (Windows/iOS/Android) — Best-in-class free tool for Ford/Lincoln vehicles

Ready to buy a scanner? See our Best OBD2 Scanners guide or Best Bluetooth OBD2 Scanners for recommendations at every price point.