Decode any trouble code
Quick answer
A trouble code has five characters. The letter gives the system, P for powertrain, B for body, C for chassis and U for network. The first digit says whether the code is a generic SAE definition (0) or a manufacturer defined one (1). The second digit names the subsystem, and the last two digits identify the specific fault within it.
This is a generic code, so its definition is the same on every vehicle. The fault behind it is not: several different faults set the same code, and that is what diagnosis is for.
Generic codes mean the same thing on every manufacturer. Manufacturer defined codes do not, and looking one up in a generic list is how people end up chasing the wrong system entirely.
TOPDON TopScan Lite OBD2 Scanner, Bidirectional Scan Tool, 8 Resets & AI
Live data and full system access are what most of the answers above depend on. A basic reader gives you the code number and nothing to check it against.
Coverage varies by tool and by model year, so check a specific tool against a specific vehicle before buying.
Tools that read what you decoded
- Autel
Autel AL319 Professional OBD2 Scanner, Enhanced Check Engine Code Reader
$27.99 Check pricePrices change often - TOPDON
TOPDON Carpal OBD2 Scanner Bluetooth - All System Diagnostic Tool with AI
- full system
- wireless
$40.99 Check pricePrices change often - AUTOPHIX
AUTOPHIX OM126P OBD2 Scanner, Check Engine Light Code Reader for OBD2 Cars
$49.99 Check pricePrices change often
Common questions
What is the difference between a P0 and a P1 code?
A P0 code is a generic definition set by the SAE standard, so it means exactly the same thing on every manufacturer. A P1 code is manufacturer defined, which means the same number can describe completely different faults on two different makes. Looking up a P1 code in a generic list is a common way to end up diagnosing the wrong system.
Why can my scanner not read a B or C code?
Generic OBD-II is an emissions regulation, so what it guarantees access to is emissions related powertrain data. Body, chassis and network modules sit outside that guarantee. Reading them requires a tool with full system access, which is a real capability step rather than a marketing difference, and it is the main reason to move past a basic reader.
Does the last part of the code tell me which part failed?
No. The final digits identify a specific fault condition within a subsystem, such as a circuit reading low or a sensor disagreeing with another. They describe what the computer observed, not which component caused it. A circuit low code is set just as reliably by a corroded connector as by a failed sensor.
Are codes the same on cars sold outside the United States?
The generic SAE definitions are widely shared, and the European EOBD system uses the same code structure. What differs is which codes are mandated, which manufacturer-specific ranges are used and how the readiness monitors behave. The decoding structure here applies, but availability of any particular code does not.
What does a pending code mean?
A pending code is one the computer has seen on a single drive cycle but has not yet confirmed. Most emissions monitors need the fault to appear on two consecutive drive cycles before the lamp comes on and the code becomes stored. A pending code is genuinely useful: it is an early warning that is often still cheap to act on.
