OBD-II Code Types Explained - P, B, C, U Codes

reference 4 min read Updated 2026-03-29

The Four Types of OBD-II Codes

Every OBD-II diagnostic trouble code starts with a letter that tells you which vehicle system has the problem. P-codes (Powertrain) cover the engine, transmission, and drivetrain. B-codes (Body) cover interior systems like airbags, climate control, and lighting. C-codes (Chassis) cover the braking system, steering, and suspension. U-codes (Network) cover communication between the vehicle's computer modules.

Generic vs. Manufacturer-Specific Codes

The second character in the code tells you whether it's generic or manufacturer-specific. Codes starting with 0 (like P0300) are generic SAE codes that mean the same thing on every vehicle. Codes starting with 1 (like P1300) are manufacturer-specific and may have different meanings depending on whether you drive a Toyota, Ford, or GM vehicle. Codes starting with 2 or 3 can be either generic or manufacturer-specific depending on the specific code.

P-Codes: Powertrain (Most Common)

P-codes are by far the most common type, making up about 80% of all check engine light triggers. They cover everything from misfires (P0300-P0312) and oxygen sensors (P0130-P0167) to transmission problems (P0700-P0799) and fuel system issues (P0170-P0175). When your check engine light comes on, there's a high chance it's a P-code.

B-Codes: Body Systems

B-codes cover non-powertrain interior and exterior systems. These include airbag/SRS faults (B0001-B0099), lighting problems (B1000-B1099), HVAC/climate control issues (B1200-B1299), power window and door lock faults (B1300-B1399), and instrument cluster errors (B1400-B1499). B-codes usually don't trigger the check engine light but may trigger other warning lights like the airbag light.

C-Codes: Chassis Systems

C-codes cover the vehicle's braking, steering, and suspension systems. ABS faults (C0035-C0273), traction and stability control (C0196-C0242), power steering (C1200-C1260), and suspension/ride control (C1300-C1360) fall into this category. C-codes typically trigger the ABS or traction control warning light rather than the check engine light.

U-Codes: Network Communication

U-codes indicate communication problems between the vehicle's electronic control modules. Modern vehicles have dozens of computers that talk to each other over a CAN bus network. When one module can't communicate with another, a U-code is set. Common examples include U0100 (lost communication with ECM/PCM) and U0121 (lost communication with ABS module). These can be caused by wiring problems, failed modules, or a dead battery.

Frequently Asked Questions

What is the most common OBD-II code?

P0420 (Catalyst System Efficiency Below Threshold) is consistently one of the most common codes. Other frequently seen codes include P0300 (Random Misfire), P0171 (System Too Lean), P0442 (EVAP Small Leak), and P0128 (Coolant Thermostat).

Can a basic scanner read B, C, and U codes?

Most basic OBD-II scanners (under $50) only read P-codes (engine/transmission). To read B-codes (body), C-codes (chassis), and U-codes (network), you need a scanner that supports 'all systems' or 'full system' diagnostics, which typically costs $100 or more.

How many OBD-II codes exist?

There are thousands of OBD-II codes. The SAE standard defines about 1,500 generic codes, and each manufacturer adds their own proprietary codes. Car Code Finder currently covers over 5,000 codes across all categories and manufacturers.