MECCANIC

OBD-II Trouble Codes Explained (and What to Do)

Diagnostics · Beginner · 15 minutes · Updated June 1, 2026

When the check engine light comes on, your car has stored a diagnostic trouble code (DTC). A cheap OBD-II scanner reads that code so you know where to start instead of guessing.

A code points to a system, not always the exact broken part. Use it as a starting point for diagnosis.

What you'll need

Steps

  1. Find the OBD-II port

    Locate the 16-pin OBD-II port, usually under the dashboard on the driver's side, near the steering column.

  2. Plug in the scanner

    With the engine off, plug in the scanner. Then turn the key to the ON position (or start the engine if your scanner requires it).

  3. Read the codes

    Use the scanner to read stored codes. Write down every code exactly, e.g. P0301.

  4. Decode the format

    The first letter is the system: P = powertrain, B = body, C = chassis, U = network. The numbers narrow it to the specific fault.

  5. Research the specific code

    Look up your exact code for your make and model. For example, P0300 means random misfire; P0171 means the system is running lean.

  6. Decide: drive or stop

    A flashing check engine light means stop driving — it signals a misfire that can damage the catalytic converter. A steady light is usually safe to drive to a shop, but get it checked soon.

  7. Clear codes only after a fix

    Don't just clear the code and hope. Clearing it without repair will let the light return and may erase data a mechanic needs.

Stuck or want a second set of eyes?

Get a real, certified mechanic on a live video call to walk you through your specific car, step by step — no shop visit needed.

Get live help from a mechanic

Frequently asked questions

Is it safe to drive with the check engine light on?
A steady light is usually okay for a short trip to get it diagnosed. A flashing light means a serious misfire — stop driving as soon as it's safe to avoid catalytic converter damage.
Can I clear the code myself?
Yes, most scanners can clear codes, but only do so after fixing the underlying problem. Otherwise the code returns and you lose useful diagnostic data.
Does a code tell me exactly what's broken?
Not always. A code identifies the affected system or circuit. For example, an oxygen-sensor code can be a bad sensor or an exhaust leak. It's a starting point for diagnosis.