An OBD II diagnostic connector under a dashboard

Check Engine Light Codes: 22 OBD-II Codes, 5 Families, How to Read Any

An alphabetical list of several thousand codes is useless at the roadside. Check engine light codes are readable from their four characters, and the 22 here are grouped by what they cost.

Iqbal TaherWritten byIqbal Taher

Photo: Jose Ricardo Barraza Morachis · Pexels

Built from3 sources
Maker documents2 docs
Last verified

Last verified

What this date means

The day somebody went back and checked the facts on this page: the prices, the documents, the intervals. It isn't the day the page was last edited. Turning a paragraph into a list doesn't move this date; re-reading a source does.

Short answer

A code names the test that failed, not the part

Read the four characters instead of looking the code up. The third one tells you which system, and six families cover most of what a car stores. Addressing a check engine light averaged $554 in the United States in 2025.

OilAndMiles.com - A check engine light code is an OBD-II code, or a DTC, which is what a shop means by a diagnostic trouble code. Every page about check engine light codes hands you the same thing: an alphabetical list of several thousand of them with a sentence each. It's a reference, and it's useless in the moment, because you don't have several thousand codes. You have one.

If it is the shape of the lamp you're unsure about rather than the code, start at the symbol board. The four characters are readable. They were designed to be, and the design is written into federal regulation rather than left to each manufacturer.

What the lamp above them is reporting, and why it waited before saying anything, is in our guide to check engine light meaning. Ten minutes with the structure is worth more than any list, because it works on the code you've now and on every code you'll ever see.

A technician in the driver's seat with a diagnostic laptop open, its screen listing a reading for each cylinder

The part a free code read leaves out

The code came off the same socket in seconds. What is on the screen is the next hour: a reading taken from each cylinder in turn, which is the step that turns four characters into a named part. Photo: Fatih Erden, Pexels

What do check engine light codes mean?

Codes cluster by system, which is the same way the national repair data clusters. Learn six ranges and most of what you meet will already be familiar.

The evaporative family is the cheapest of the six, and the one most often misdiagnosed. Our guide to whether a P0456 clears itself works through why it comes back after a repair. Two of the others are worth reading together, because one causes the other.

A misfire left alone is how a converter dies, so a P0300 ignored long enough becomes a P0420 later, and the bill goes from about $256 to about $1,511. Our guide to the P0420 code works that chain through in full.

Some of those generic codes are less about the part they name than about what their failure blocks. P0128, the thermostat code, is the clearest case: its first failure condition is that the engine never got warm enough for the car to run its other tests at all.

How do I get a code read?

Every code is a letter and four digits. Each position narrows the search, and the third one does most of the work.

P0420PowertrainB is body, C is chassis, U is the networkP0420GenericSame on every car. A 1 here means the maker defined itP0420Auxiliary emission controls3 would be ignition and misfire, 7 the transmissionP0420The fault itselfCatalyst efficiency low, bank 1. P0430 is bank 2

Every OBD-II code is built the same way, so reading one is the same job every time. Here's P0420 one character at a time, in the order the drawing rings them:

  • P names the area. P is powertrain, which is the engine and transmission and almost everything that turns the light on. B is body, C is chassis, U is the network the modules talk over.
  • 0 decides whether a $20 reader can help you. A 0 means the code is generic, identical on every car sold here. A 1 means the manufacturer defined it, and its meaning is theirs.
  • 4 names the system, and it's the character worth memorizing. 1 and 2 are fuel and air metering, 3 is ignition and misfire, 4 is auxiliary emission controls, 5 is speed and idle control, 6 is the computer's own output circuits, 7 and 8 are the transmission.
  • 20 identifies the fault inside that system, and this is the only part you ever need to look up. On P0420 it reads catalyst efficiency low on bank 1, which is the side of the engine containing cylinder number one. An inline four has nothing else; a V6, a V8 or a flat engine has a second side, and that one is bank 2.

So P0420 reads as powertrain, generic, emission controls, fault 20. Even without knowing what 20 is, you already know it's an emissions problem on a standard code any reader can pull, and not a transmission or a network fault.

The industry didn't settle on this format. The regulations set it.

The EPA's on-board diagnostic rules are the OBD-II system everyone means by that name. At 40 CFR 86.1806 they name SAE J2012, the standard that defines what the characters mean, and require the results to be scan-readable in a standard format.

For evaporative emissions the rule goes further and names the codes it expects. It calls for a generic J2012 code specific to the fault, and gives P0456 as the example. The same rule sends the valves and sensors inside that system somewhere else, to be checked four different ways.

That's why P0446 and P0443, both valve codes, behave unlike the leak codes beside them.

That's why a reader bought once works on a Honda and a Ford and a twenty year old truck. It's also why the second position matters. The 0 codes are the part the regulation standardized.

The 1 codes are the part it left alone.

Worth knowing

A generic code is deliberately a direction rather than a destination. The regulation asks the car to report which monitor failed, so that any tool can read it. It doesn't ask for the component, because naming one would need a diagnosis the car can't do.

The gap between those two things is where the money in this subject sits.

Is it PO420 or P0420, and why does nothing come up?

It's a zero, never the letter O. On a scan tool display the two are drawn almost identically, and typing PO420 instead of P0420 is the easiest mistake in this subject to make.

What makes it expensive is the silence. A parts catalog or a service database returns nothing at all rather than correcting you, which reads as though the code doesn't exist and sends people back to the shop for a second reading they have already paid for. Nearly a hundred thousand searches a month in the United States are typed this way.

If you got here that way, you read the code correctly and only mistyped it.

The same applies to every code on this page: PO171 is P0171, PO300 is P0300, PO301 is P0301, PO456 is P0456. Every character after the letter is a digit.

The name of the system takes the same care. OBD-II is on-board diagnostics, generation two, and the II is a Roman numeral rather than two ones, which is where OBD11 comes from. OBD2 means the same thing and is what most people write.

Which codes come up most, and what does each one cost?

Every code Americans search for at least 8,000 times a month, grouped by the family its third character puts it in. That cut is the whole method, and it is a different claim from what fails most often. No source we can read ranks the codes themselves, and we aren't going to invent one.

The figure beside a family is the US average repair that family leads to. The figure beside a code is ours, from that code's own article. Where a cell is empty we haven't priced that code yet, and we would rather leave it blank than repeat a number we can't trace:

Which code is yours

The 22 OBD-II codes Americans search for most

Grouped by the family the third character puts them in. Thirteen have our own article and eight of those a price; the rest we haven't priced, and we would rather leave the cell empty than repeat a figure we can't trace.

4 Evaporative emissions P0440 to P0499family average $172, parts and labor

P0455Large leak in the fuel vapor system
$2.76 – $536parts only, at the counter
P0442Small leak in the fuel vapor system
P0456Very small leak in the same systemOften the gas cap, and it can clear itself
$3.93 – $225parts only, at the counter
P0441Purge flow wrong at the moment it was measured
P0496Purge flow too high
P0446Vent valve didn't do what it was told
$172parts and labor, US average

4 Catalyst efficiency P0420 and P0430family average $1,511, parts and labor

P0420Catalyst efficiency below threshold, bank 1Not a verdict on the converter. It's the sensor behind it reporting
$256 – $1,511parts and labor, the repairs it leads to
P0430The same measurement on bank 2
$142 – $1,257parts only, at the counter

3 Ignition and misfire P0300 to P0308family average $256 to $480, parts and labor

P0300Misfire, and the computer couldn't say which cylinderNot always the coils. It's the tier below that decides the bill
$256 – $1,511parts and labor, the repairs it leads to
P0301Misfire on cylinder 1
P0303Misfire on cylinder 3
P0302Misfire on cylinder 2
P0304Misfire on cylinder 4

1 Fuel trim P0171 to P0175family average $346, parts and labor

P0171Fuel trim ran out of correction, bank 1Not a shortage of fuel. It's the correction reaching its limit
$287 – $1,511parts and labor, the repairs it leads to
P0174The same limit reached on bank 2It rarely arrives without P0171: 11 of the 14 complaints name both
P0172The correction ran out the other way, too rich on bank 1

1 Coolant temperature P0128family average $324, parts and labor

P0128The engine never got warm enough for the test to run
$0.69 – $87parts only, at the counter

0 Outside the six families

P0113Intake air temperature sensor reading high
P0011Camshaft timing over-advanced, bank 1
P0700The transmission module has a fault of its own to reportNot a fault in itself. It points at a second code stored elsewhere
P0101Air flow reading outside the range the computer expected
P0340Camshaft position sensor circuit

Two codes that share repairs share numbers, which is why P0300 and P0420 read the same at both ends. The range is the cheapest and dearest repair each one leads to, not a price for the code.

How much does a check engine light cost to fix?

Addressing one averaged $554 in the United States in 2025. That average hides a wide spread, and the spread is the useful part:

What it costs

What a check engine light costs, and the range it hides

Nine separate repairs, so there's no total: a light leads to one of them, not the set. The middle row is the average of all of them.

Catalytic converterFirst on the national list, and what an ignored misfire turns into$1,511Parts and labor, US average
Fuel injectorsThe misfire the coils and the plugs didn't explain$572Parts and labor, US average
Any check engine lightThe 2025 US average across every repair a light led to$554Parts and labor, US average
Ignition coils and spark plugsBoth at once, which is how a shop usually sells the job$480Parts and labor, US average
Mass air flow sensorThe common fix behind a lean code, and an intake leak the common miss$346Parts and labor, US average
ThermostatP0128. It fails an emissions test rather than stopping the car$324Parts and labor, US average
Spark plugsThe cheap end of a misfire, and the first thing worth ruling out$299Parts and labor, US average
Oxygen sensorThe sensor reports on the exhaust, so it's often the messenger$287Parts and labor, US average
Ignition coilsFifth on the national list. Where a misfire is caught early$256Parts and labor, US average

CarMD Vehicle Health Index 2026, US averages across 39,116,755 repairs recommended in 2025, parts and labor together. The average isn't a price anyone pays: it sits between the cheap repair and the dear one.

How much does it cost to diagnose a check engine light?

Free at a parts counter, $20 to $30 for your own dongle, and a named fee at a shop. A code read and a paid diagnosis are two different purchases, and the gap between them is the whole answer:

Four ways to get a code read. Three of them hand you the same four characters, and only one tells you which part failed.
WhereWhat it costsWhat you actually get
A chain parts storeFreeRead in the parking lot and printed out. They sell parts too, so take the number as the reading and the advice as a pitch
A phone dongle$20 to $30Plugs in and stays there, pairs to an app, reads and clears. Worth having on a car that is past its warranty
A shop's diagnostic chargeA named feeThe testing that turns a code into a part. Ask the amount before it is incurred, and ask for the findings once it is
Clearing it yourselfFree, and costlyWipes the freeze frame the technician would have read, and resets the emissions monitors, which can fail an inspection for days

The OBD-II port is under the dash on the driver's side, within a hand's reach of the steering column. It's the same trapezoid with sixteen pins on every car, for the reason above.

Treating those as one purchase is how people end up buying a part on the strength of a number. Pulling OBD2 codes costs nothing. Finding out what one means on your engine is the work, and what a fair estimate for that work looks like is set out in our guide to reading a repair estimate.

One thing worth not doing: clearing the code before the repair. It wipes the freeze frame, which is the snapshot of what the engine was doing at the moment the fault was recorded and the most useful thing a technician gets for free. It also resets the emissions monitors, and a car with monitors not ready fails an inspection until they've run again, which can take days of ordinary driving.

Does the code tell me which part to replace?

No, and that's the expensive misunderstanding. A code reports a measurement outside its limits, and P0420 is the clearest case of it.

P0420 means catalyst efficiency below threshold on bank 1. It's a measurement of the converter's output, taken by the sensor behind it, and it reports that the catalyst has stopped storing oxygen. It doesn't say the converter is what broke, and often the converter is the victim: a misfire cooking it, an exhaust leak upstream of it, closer to the engine, letting in air that fools the sensor, or coolant getting past a head gasket and poisoning it.

Replace the converter without finding what killed it and the code comes back, on a new converter. That's the difference between a code and a diagnosis, and it's why the free reading at the parts counter is the beginning of the job rather than the end of it.

Can you keep driving with a code stored?

Usually, if the light is steady. Three exceptions are worth knowing:

  1. A flashing light. Blinking and flashing are the same thing, and it's not a stored fault at all. It means a misfire severe enough that the exhaust is being damaged right now, and it belongs in the stop group. Our guide to the flashing check engine light covers what it's counting down to.
  2. A code with a symptom attached. Overheating, a loss of power, a smell or a noise moves it out of wait-and-see whatever the code says. The other lamps worth recognizing on sight are in our guide to dashboard warning lights.
  3. An inspection coming up. A stored emissions code fails the test in states that run one, and so does a car whose monitors were cleared too recently to have finished running.

What should you do about the code you have?

Write the code down before anything clears it. 4 steps below:

  1. Read the characters, not just the number. The letter and the first two digits tell you the area, whether any reader can pull it, and which system reported the fault. That's most of what a shop is about to tell you.
  2. Check the three exceptions above. A flashing light, a symptom you can feel, or an inspection coming up moves this out of wait and see, whatever the code says.
  3. Read our page for that code if we have one. The index above links every code we have written up, and each one carries what the repair actually costs.
  4. Ask what test turned the code into a part. The code names a measurement that failed. Turning that into a component is a diagnosis, and a shop that skips it is guessing with your money.

From the documents

Why is a code the same on every car?

Because the federal rule adopts California's, and California's names the code list. That's the whole reason a $20 reader bought for one car works on another:

40 CFR 86.1806-17 (a), onboard diagnostics

Vehicles must comply with the 2013 OBD requirements adopted for California as described in this paragraph (a). California's 2013 OBD-II requirements are part of Title 13, § 1968.2 of the California Code of Regulations, approved on July 31, 2013

Read at source, Cornell Legal Information Institute, September 16, 2026. The federal rule does not write its own OBD-II specification; it adopts the California one.

40 CFR 86.1806-17 (b)(1), diagnostic trouble codes

the DTC(s) shall be a generic SAE J2012 DTC that is specific to an EVAP system very small leak (e.g., P0456, P04EE, or P04EF) or an equivalent manufacturer-specific DTC that we approve

Read at source, Cornell Legal Information Institute, September 16, 2026. The rule names SAE J2012 as the code standard, and names example codes in it.

So a generic P-code is generic by regulation rather than by convention, which is also why a manufacturer-specific code beginning with a 1 is the one your reader may not know.

Conclusion

Read the four characters, not the list

A code names the test that failed, not the part to replace. Four characters tell you the area, whether a $20 reader can pull it, which system reported the fault, and only then which fault. Six families cover most of what a car stores, and the third character is the one worth memorizing.

Which is why an alphabetical list of several thousand codes is useless in the moment. Addressing a check engine light averaged $554 in the United States in 2025, and the gap between the free code read and that figure is testing, not parts.

Oil & Miles works from documents and counter prices rather than estimates, across repair costs and symptoms.

Common questions

Asked most often

How do I get a code read?

Plug a reader into the socket under the dash on the driver's side and turn the ignition to on. Most chain parts stores in the United States will do it free, and a phone dongle costs about $20 to $30.

What do check engine light codes mean?

Each one names a test that failed and where. P is powertrain, the next digit says whether the code is standard or the maker's own, the third names the system, and the last two identify the fault.

Does the code tell me which part to replace?

No, and this is the expensive misunderstanding. A code reports a measurement outside its limits. P0420 says the catalyst isn't storing oxygen; it doesn't say the converter is what failed.

Are the codes the same on every car?

The generic ones are, and that's why a $20 reader works on anything. A 1 in the second position means the manufacturer defined that code themselves, and those vary by maker.

Can I clear the code myself?

You can, and it's usually a mistake before the repair. Clearing wipes the freeze frame data the shop would have used, and it resets the emissions monitors, which can fail an inspection for days afterward.

Can I drive with a check engine light code stored?

Usually yes if the light is steady. A flashing light is the exception and means damage is happening now. Any code that arrives with overheating, a loss of power or a noise is also not a wait-and-see.

How much does it cost to diagnose a check engine light?

A free code read gives you the number, not the diagnosis. A shop's diagnostic charge pays for the testing that turns a code into a named part, and addressing the light averaged $554 in 2025.

What is DTC in a car?

A diagnostic trouble code, which is the same thing as a check engine light code. Shops and scan tools write DTC, owners write code, and both mean the four characters the computer stored when a test failed.

What is OBD?

On-board diagnostics, the system in the car that runs the tests and stores the codes. OBD-II is generation two, required on every car sold in the United States since 1996, and it's why a $20 reader works on any of them. OBD2 and OBD-II are the same thing written two ways.

Sources

  1. 40 CFR 86.1806, EPA on-board diagnostics, read at source, for the fact that the code format is regulated rather than conventional, and for the evaporative paragraph that names P0456. Electronic Code of Federal Regulations, read August 25, 2026
  2. SAE J2012, Diagnostic Trouble Code Definitions, for the character structure. Its text is public because the federal rule above incorporates it by reference. SAE International, via the CFR incorporation by reference library
  3. CarMD Vehicle Health Index 2026, for the family averages, the cost box and the $554 figure. Prices beside individual codes come from those codes' own articles. CarMD sells diagnostic tools. CarMD.com Corp, read August 25, 2026

How this was compiled

The regulation was read rather than paraphrased, because a search summary of it overstated what it says: it claims the rule mandates the format universally, and what the section actually does is name the standard and require standardized, scan-readable results, with the explicit code naming appearing in the evaporative emissions paragraph. The prices come from a count of real repairs, which is why they're quoted to the cent. The mapping from a code family to a repair is mechanical, not statistical: P0420 is the catalyst monitor, so the catalyst row is the repair it points at.

What we didn't do

  • We give no ranking of which codes are most common. The index above ranks them by how often they're searched, which is a different claim and one we can show our working for. The repair index counts repairs, not codes, and no primary source we could reach ranks the codes themselves. Every such list on the web traces back to a company's own tool data without a method attached.
  • We didn't reproduce a full code lookup table. The index above stops at the codes Americans search for at least 8,000 times a month, because several thousand entries is a reference rather than an article, and the structure above makes most of them unnecessary.
  • We didn't read the California ARB on-board diagnostic regulation, which is where the full standardization requirement sits and which the EPA accepts in place of its own. What is above is what the federal section itself says.
  • We didn't test any code reader, and we recommend no brand.

Prices are US figures compiled in September 2026 and vary by region, engine and shop rate. The family averages and the cost box are national averages of parts and labor; the prices beside individual codes are taken from those codes' own articles and say on the row what they cover. Prices from $10 up are rounded to the nearest dollar, so $14.13 reads as $14 and $14.52 as $15. Below $10 they're exact. This article is general information, not advice about your specific vehicle, see the disclaimer.