You scan your car and get a code like P0171. You might wonder what the letters and numbers mean — and why some codes look up the same way on every car while others seem to depend on the brand. The answer comes down to one digit: the number right after the letter. That single digit tells you whether you’re looking at a generic code (standardized, with the same meaning everywhere) or a manufacturer-specific code (defined by the automaker, different from brand to brand).
This guide explains how to read a diagnostic code, what generic and manufacturer-specific codes are, and how to handle each type when they show up on your scanner.
How to read an OBD2 code
Every OBD2 code follows the same format: one letter followed by four digits. Take P0171 as an example. Each position means something specific:
- The letter tells you which system the code belongs to:
- P — Powertrain (engine and transmission)
- B — Body (airbags, climate control, lights)
- C — Chassis (brakes, steering, suspension)
- U — Network (communication between computers)
- The first digit tells you who wrote the definition:
- 0 — Generic, standardized by the industry, the same meaning in every car
- 1 — Manufacturer-specific, defined by the automaker
- The second digit tells you the subsystem:
- 1 — Fuel and air metering
- 2 — Fuel and air (injector circuit)
- 3 — Ignition and misfire
- 4 — Auxiliary emissions controls
- 5 — Vehicle speed and idle control
- 6 — Computer and output circuits
- 7 or 8 — Transmission
- The last two digits pinpoint the specific fault.
Here’s the same breakdown in a table:
| Position | Example: P0171 | What it means |
|---|---|---|
| Letter | P | Powertrain — engine or transmission |
| First digit | 0 | Generic code — standardized |
| Second digit | 1 | Fuel and air metering |
| Last two digits | 71 | Specific fault — system too lean |
So P0171 reads as: “Powertrain, generic, fuel and air metering, system too lean.” Almost every OBD2 code you’ll ever see is a P code, because the engine is the system that gets monitored most closely.
Generic codes: the universal language
Generic codes — the ones with a 0 in the first position, like P0xxx — are defined by an industry standard. Because they’re standardized, a P0420 (catalyst efficiency) or a P0300 (random misfire) means the same thing whether it’s in a Ford, a Toyota, or a Chevrolet.
Why does that matter? Because you can look up a generic code in any plain-English reference — including the code pages on this site — and trust the description. The definition won’t change depending on the brand. Most of the codes a home mechanic will ever see fall into this group, because most emissions-related problems are covered by generic definitions:
- P0171 — system too lean (too much air, not enough fuel)
- P0300 — random misfire detected
- P0420 — catalyst efficiency below threshold
- P0128 — coolant thermostat below regulating temperature
- P0135 — O2 sensor heater circuit malfunction
Generic codes are also the ones used by state emissions tests, since they mean the same thing in every car.
Manufacturer-specific codes: the automaker’s own language
Manufacturer-specific codes have a 1 in the first position (P1xxx). Some P2xxx codes and most P3xxx codes are also manufacturer-defined. The critical thing to understand: these codes do not have a universal meaning. A P1xxx code on a Ford can mean something completely different from the same code on a Honda or a BMW.
A well-known example: P1684. On many Chrysler, Dodge, and Jeep vehicles, P1684 means “battery was recently disconnected” — an informational code, not a fault. On another brand, the same number could point to something unrelated. If you look up a manufacturer-specific code in a generic database, you may get a wrong or useless answer.
You’ll run into manufacturer codes when the problem involves something the automaker didn’t want to standardize — brand-specific systems, unusual sensors, or diagnostic routines unique to that model. Some are serious; some are informational. The only way to know is to look up the code for your specific make, model, and year.
How to tell which type you have
It’s simple:
- P0xxx — generic. A standard reference applies.
- P1xxx — manufacturer-specific. Search by your vehicle’s brand.
- P2xxx — mixed. Some are standardized, some are not. If the generic description doesn’t match your symptoms, search by brand.
- P3xxx — manufacturer-specific.
Your scanner can read all of these codes — generic scanners don’t “skip” manufacturer codes. The difference is only in how you interpret them. A basic scanner may just display the number, while some brand-specific or professional tools include definitions and extra data, like the exact sensor reading that triggered the code.
Why the difference matters for your diagnosis
Here’s how knowing the difference changes your approach:
- A generic code is a starting point you can trust. If you see a P0xxx code, the plain-English description applies to your car, and the common causes (like a vacuum leak for P0171) are usually worth checking.
- A manufacturer-specific code needs brand-specific research. Look up the meaning using your car’s make and model, service manuals, or automaker bulletins. A generic search can send you down the wrong path.
- Manufacturer codes are sometimes informational. On some cars, a P1xxx code just records an event (like a battery disconnect or a low-voltage condition) rather than an active fault. That’s not to say you should ignore them — just that they need different handling.
- Codes can come in pairs. It’s common to see a generic code plus a manufacturer code pointing at the same problem. For example, a generic P0135 (O2 sensor heater circuit) might appear alongside a manufacturer code that narrows the fault to a specific wire or connector.
What to do when you see a manufacturer-specific code
- Write down the full code — letter and all four digits. Codes with a 1 in the second position are easily confused between brands.
- Search with your make and model. A query like “P1684 Chrysler meaning” gives you brand-specific results; a generic search may not.
- Check forums and service manuals for your specific vehicle. Owners of the same car often document the exact fix.
- If the code is serious — performance codes, misfire-related codes, emissions-related codes — treat it like any other code: check the obvious causes first, then decide whether it’s a DIY job or a shop visit.
- Don’t clear it and assume it’s gone. A manufacturer code that keeps returning is a real fault, and some informational codes simply come back the next time the event happens.
The bottom line
The first digit after the letter is a label that tells you who wrote the definition. P0xxx codes are standardized and mean the same thing in every car — look them up anywhere with confidence. P1xxx codes (and many P2 and P3 codes) are written by the automaker, so their meaning depends on your make and model. Both types are readable by any OBD2 scanner; only the interpretation changes. When in doubt, note the exact code, note your car’s make and model, and look up the code in a source that accounts for both.
Frequently asked questions
What does the 0 or 1 right after the letter mean? It tells you who defined the code. 0 means generic — standardized so it means the same thing in every car. 1 means manufacturer-specific — the automaker defined it, so the meaning can differ by brand.
Can a basic scanner read manufacturer-specific codes? Yes. Any OBD2 scanner reads every code your car’s computer stores, including P1xxx codes. The scanner displays the number; it just may not include a definition for codes that aren’t standardized. That’s why you look those up by make and model.
Are manufacturer-specific codes more serious than generic ones? Not necessarily. Some P1xxx codes are purely informational (like a battery-disconnect record), while others point to real faults. The same is true of generic codes. What matters is the meaning for your specific vehicle — look it up before judging how urgent it is.
