OBD2 code directory

OBD2 trouble codes: what every generic code means

All 2,693 generic SAE J2012 codes that the Brimly iPhone app carries in its offline dictionary — powertrain, body, chassis and network. Type a code to jump straight to it, or browse by system and range below.

Most searched codes

How to read a trouble code

Every code has five characters, and each position narrows it down. Once you know them you can place any code in the right neighborhood before looking it up.

P
System

Powertrain. Engine, transmission, fuel and emissions — the codes behind the check engine lamp.

0
Standard

Generic code: defined by SAE, the same on every make.

4
Subsystem

Auxiliary emission controls.

20
Fault

The specific fault within this range.

P0420: a powertrain code, generic, in the auxiliary emission controls range, fault 20.

Browse by system and range

Powertrain (P)

Engine, transmission, fuel and emissions — the codes behind the check engine lamp.

Manufacturer-specific codes

Codes with a 1 in the second position (P1xxx, B1xxx, C1xxx, U1xxx), as well as B2/B3, C2/C3, U2 and P30xx–P33xx, are defined by each carmaker, so the same number can mean different things on a Ford and a Toyota. They aren’t in this directory. Brimly reads them too and labels them as manufacturer-specific; the assistant can often explain one once it knows your car.

Read the codes from your own car

Plug an inexpensive Bluetooth LE or Wi-Fi OBD2 adapter into the port under the dashboard, and Brimly on your iPhone reads the stored, pending and permanent codes, explains each one offline and clears them once the fault is fixed. OBD diagnostics are part of Brimly Forever, a one-time purchase.

Download on the App Store

Requires iOS 18.1 or later. Free to download, with optional in-app purchases.

Frequently asked

What is an OBD2 code?

A five-character diagnostic trouble code (DTC) that a car’s control module stores when one of its self-tests fails. Every gasoline car sold in the US since 1996 supports OBD2 (in the EU: gasoline cars since 2001, diesels since 2004), so any OBD2 scanner or adapter can read the codes from the 16-pin port under the dashboard.

What’s the difference between generic and manufacturer-specific codes?

Generic codes — P0xxx, P2xxx, P34xx–P39xx, B0xxx, C0xxx, U0xxx and U3xxx — are defined by the SAE J2012 standard and mean the same on every make. Manufacturer-specific codes (P1xxx, P30xx–P33xx, B1–B3, C1–C3, U1–U2) are defined by each carmaker, so their meaning depends on the brand.

Can I read the codes myself?

Yes. A Bluetooth or Wi-Fi OBD2 adapter plugged into the port under the dashboard and a phone app read the stored codes in a couple of minutes; many auto parts stores will also read them for free. On an iPhone the adapter has to be Bluetooth LE or Wi-Fi — classic Bluetooth adapters can’t pair with iOS.

Does clearing a code fix the problem?

No. Clearing erases the record and turns the lamp off, but the car keeps running the same self-test and stores the code again if the fault is still there. It also resets the emissions readiness monitors, so a freshly cleared car fails an inspection until it has been driven enough to re-run them.