Check Engine light just came on in your Toyota and the scan tool spit out a code you don't recognise? This page is a working reference for auto-electricians, diagnosticians and informed owners. It collects the most common DTCs encountered on Toyota Corolla, Camry, RAV4, Prius, Highlander, Land Cruiser, Hilux, Avensis, Yaris, Vitz, HiAce and other popular models — with a short decoding, the most realistic causes specifically for Toyota, the symptoms a driver actually feels, and a step-by-step approach to the check.
Every code in the table is mapped to a real component or circuit you should test first — not vague advice like "inspect the sensor". Where it matters, we point out which engine family or market version (JDM, EUR, GEN, USA) changes the diagnostic logic: P0171 on a 1ZZ-FE is not the same story as P0171 on a 2GR-FE, and a P1135 on a 2AZ-FE Camry behaves differently from one on a Prius NHW20.
What you'll find on this page
- A practical DTC reference covering P0xxx, P1xxx, P2xxx, U-codes and Toyota Flash codes for KD/CD diesel engines — grouped by system: intake & fuel, ignition & misfires, emissions (EGR, EVAP, catalyst), transmission, ECM/PCM internals, Common Rail diesel.
- Toyota-specific causes, not generic OBD-II copy-paste: e.g. why P0420 on a 2AZ-FE Camry is so often the rear A/F sensor and not a dead catalyst, or why P1135 in winter usually points to the heater filament rather than the sensor itself.
- Step-by-step diagnostic logic: what to check first, which companion codes confirm the same root cause, and which codes will clear themselves once the primary fault is repaired.
- A direct link from each code to the wiring diagram and ECM pinout in MotorData Auto-Electrics — so you can move from "what does this code mean" to "which wire and which pin do I probe" in one click.
- Toyota Flash code coverage for pre-OBD-II vehicles and 1KD-FTV / 2KD-FTV diesel engines — including how to read them through the DLC1 connector without a scan tool.
Why a generic OBD-II description usually isn't enough
A trouble code points to a fault zone, not to a specific failed part. On Toyota platforms, the same DTC can be triggered by several different root causes — and conversely, one physical defect (a poor ECM ground, a vacuum leak after the MAF, a weak battery on a CAN-equipped car) can throw a whole cluster of codes from completely different subsystems. Treating each code in isolation is the fastest way to replace expensive parts that were never broken.
That's why each entry below is written with three things in mind: what the ECM actually measures to set the code, which Toyota-specific failure modes are statistically the most common, and how the wiring diagram of the relevant system narrows the search to a single connector or pin. When the cause is mechanical (low compression, a worn cat, a clogged EGR passage), we say so explicitly so you don't waste time chasing electrical ghosts.
Browse all Toyota models in MotorData → · MotorData Professional features · Pricing & subscription
Intake & Fuel Delivery — Gasoline Engine Codes
P0101 — MAF Sensor: Out-of-Range / Performance Issue
What the ECM sees: the Mass Air Flow sensor is producing a signal, but its value does not correlate with engine RPM, load and throttle angle. In other words, the signal is "alive" but unrealistic.
Typical on: Corolla E120/E150, Camry XV30/XV40, RAV4, Hilux Surf, Avensis.
Most likely causes on Toyota:
- Oil-and-dust film on the hot-wire element (the classic cause — comes from the PCV system).
- Unmetered air leak downstream of the MAF — a cracked intake boot, a loose clamp, a perished gasket.
- Drift / loss of sensitivity of the MAF itself.
- A heavily restricted air filter element.
- Less often — open or chafed wiring, oxidised pins in the connector.
What the driver feels: rough idle, stumble on tip-in, increased fuel consumption, harder cranking, MIL on.
Diagnostic shortcut: before condemning the sensor, clean the hot-wire with a dedicated MAF cleaner, clear the code and re-test. Always inspect the intake boot between the MAF and the throttle — and the PCV hoses, which are the source of the oil contamination on the sensor in the first place.

P0105 — Manifold Absolute Pressure (MAP) Sensor Circuit
What the ECM sees: the MAP signal is missing, stuck or out of plausible range.
Typical on: Hilux 1KD/2KD diesel, Land Cruiser diesel, HiAce, Dyna — and on turbocharged petrol Toyotas where the MAP is used together with the MAF.
Most likely causes: open or short on the signal wire; failed pressure transducer; a vacuum reference passage clogged with carbon (especially on EGR-equipped diesels); intake leak; ECM driver fault (rare).
Symptoms: hard start, unstable idle, black smoke on diesels, limp-home with reduced power.

P0110 — Intake Air Temperature (IAT) Sensor Circuit
What the ECM sees: implausible IAT reading. On most Toyotas the IAT is integrated into the MAF housing; on turbo and diesel applications it sits separately in the intake manifold.
Most likely causes: open / short in the sensor circuit; failed thermistor; oxidised connector pins; a failed combined MAF/IAT module.
Symptoms: slightly elevated fuel consumption, mild hesitation on acceleration, occasional hard cold-start. Rarely affects idle quality.
Tip: look up the IAT pinout and reference resistance values in the PinData section of MotorData, and verify wiring continuity from the connector back to the ECM using the interactive color wiring diagram.

P0120 — Throttle Position Sensor "A" Circuit (TPS / ETCS-i)
What the ECM sees: channel "A" of the throttle position sensor is reporting a value outside the calibrated range. On Toyotas with ETCS-i (electronic throttle), P0120 frequently appears together with P1125, P1128 or P1129.
Typical on: Camry XV40/XV50, Corolla E150/E160, RAV4, Prius, gasoline Hilux.
Most likely causes: worn resistive track on a mechanical-cable TPS; faulty ETCS-i throttle body assembly; open / short in the harness or connector; loss of the +5 V reference at the ECM (worth checking against PinData); rarely — the ECM itself.
Symptoms: jerky tip-in, RPM hangs between shifts, idle hunting, cruise control disabled, MIL plus VSC warning.
Tip: when P0120 appears together with P2102/P2103, suspect the throttle body assembly. Always verify the +5 V reference and sensor ground at the ECM — distribution of the reference voltage across multiple sensors is the reason a single short can produce a constellation of TPS / MAP / APP codes at once.
P0130 / P0133 / P0134 — Front Oxygen Sensor (Bank 1, Sensor 1)
What the ECM sees: the upstream wideband A/F or oxygen sensor (depending on year and engine) is reporting an out-of-range signal (P0130), a slow response (P0133) or no activity at all (P0134).
Typical on: Corolla, Camry, RAV4, Prius, Highlander — practically all gasoline Toyotas.
Most likely causes: end of natural service life (~100,000 km); heater circuit fault (see also P0135); silicone / RTV poisoning; oil or coolant entering the exhaust ahead of the sensor; exhaust leak before the sensor; harness or connector damage; secondary causes — vacuum leak, weak fuel pressure, leaking injectors.
Symptoms: elevated fuel consumption, rough running, loss of power, frequently accompanied by P0171.
P0135 / P0141 — Oxygen Sensor Heater Circuit (B1S1 / B1S2)
What the ECM sees: the heater element of the upstream (P0135) or downstream (P0141) O₂ sensor draws no current, or current outside the expected window. The heater is what brings the sensor up to its working temperature (~300 °C) within seconds of start-up.
Most likely causes: open heater filament inside the sensor (by far the most common); blown fuse on the heater feed; failed heater relay (some Toyotas use a dedicated relay for the O₂ heater bank); harness fault between fuse and sensor; ECM driver fault (rare).
Symptoms: elevated fuel consumption during the first minutes of a cold trip; possible P0171; idle hunt during warm-up. Symptoms get markedly worse in winter.
Tip: measure heater resistance directly at the sensor connector — most Toyota O₂ sensors fall in the 2–15 Ω range. If the sensor reads correctly, check the +12 V feed and the ECM-side ground using the wiring diagram for the model.
P0171 — System Too Lean (Bank 1)
What the ECM sees: long-term fuel trim has hit the rich-correction limit — the engine is consistently getting more air than the calibration expects. P0171 is one of the single most common Toyota codes.
Typical on: Corolla E120/E150/E160, Camry XV30 through XV50, RAV4 XA20–XA50, Prius NHW20 / ZVW30, Vitz, Yaris — virtually any gasoline Toyota.
Most likely causes on Toyota:
- Vacuum / intake leak — split intake boot, cracked PCV hose, leaking intake manifold gasket.
- Contaminated MAF (the same hot-wire problem as in P0101).
- Stuck-open EVAP purge VSV.
- Low fuel pressure — tired pump, clogged in-tank strainer or fuel filter.
- Faulty fuel pressure regulator.
- Clogged or leaking injectors.
- Drift of the upstream A/F sensor.
Symptoms: rough idle, hot-start hesitation, increased consumption, occasional misfires, MIL.
Tip: in live data, a warm 2.0–2.4 L Toyota at idle should show roughly 2.5–4.0 g/s on the MAF and an LTFT in single digits. LTFT above +10 % at idle and below +5 % at cruise → vacuum leak. LTFT high across all loads → MAF or fuel-pressure issue.
P0201–P0204 — Injector Circuit Open, Cylinders 1–4
What the ECM sees: no current draw on the injector driver circuit for the cylinder in question.
Most likely causes: open injector winding; bad pin contact in the injector connector (corrosion, water ingress); harness fault between ECM and injector; ECM driver failure (uncommon, but documented on certain 1ZZ-FE / 5S-FE applications).
Symptoms: a clear single-cylinder misfire, vibration, MIL — almost always logged together with P030X.
Misfires
P0300 / P0301–P0304 — Random or Cylinder-Specific Misfire
What the ECM sees: non-uniformity in crankshaft acceleration between combustion events. P0300 = misfires across multiple cylinders, P0301…P0304 = isolated to a specific cylinder.
Typical on: all gasoline Toyotas — especially Corolla 1ZZ-FE, Camry 2AZ-FE / 2GR-FE, RAV4 2AZ-FE, older 3S-FE.
Most likely causes on Toyota: worn or fouled spark plugs (the no. 1 cause — replacement interval is shorter than many owners realise); failing individual ignition coil; low fuel rail pressure; clogged or leaking injector; low compression on a single cylinder (rings, valves, head gasket); valve timing drift on engines with VVT-i (P0011 / P0014 will usually appear too); intake leak; lean condition (the classic P0171 + P0300 pair); CKP / CMP signal issue.
Symptoms: shake at idle, hesitation, loss of power, fuel smell from the tailpipe, sudden jump in fuel consumption. A flashing MIL means active catalyst-damaging misfires — pull over.
Tip: swap coils between cylinders. If the misfire follows the coil, it's the coil. If it stays on the same cylinder, you've already isolated the cylinder — move to plugs, then injector, then compression.
Exhaust, Catalyst & Emissions (EGR, EVAP)
P0401 — Insufficient EGR Flow
What the ECM sees: the EGR valve is commanded open, but the expected change in MAP (or MAF) does not happen — flow is below threshold.
Typical on: Corolla, Camry, Prius, RAV4, Avensis (gasoline) and the Hilux / Land Cruiser diesel range.
Most likely causes: carbon build-up on the valve seat (the classic cause, very common on diesels); coked-up EGR passages in the intake manifold; failed EGR control solenoid or vacuum modulator; open in the control circuit; failed EGR position sensor.
Symptoms: usually only the MIL; sometimes a faint loss of power and occasional knock under load. On diesels — visible smoke and a flat mid-range.
Tip: activate the valve through the scan tool and watch MAP/MAF change in real time. Most Toyota EGR valves can be cleaned rather than replaced.

P0402 — Excessive EGR Flow
What the ECM sees: EGR flow is happening when it shouldn't, or stays open after the command goes away.
Most likely causes: EGR valve stuck open (carbon under the seat); EGR lift sensor or its circuit; faulty EGR VSV; routing fault in the vacuum lines.
Symptoms: rough idle (especially when warm), hesitation under light load, occasional stall.
P0420 — Catalyst Efficiency Below Threshold (Bank 1)
What the ECM sees: the downstream O₂ sensor is mirroring the switching pattern of the upstream sensor — meaning the catalyst is no longer storing oxygen.
Typical on: any gasoline Toyota past 7–10 years of service.
Most likely causes:
- Genuine catalyst end-of-life.
- Catalyst poisoning — oil consumption, antifreeze from a leaking head gasket, leaded fuel.
- Lazy or aged downstream O₂ sensor mimicking a dead cat (responsible for 30–40 % of P0420 cases on Toyota — always verify before replacing the converter).
- Exhaust leak between the catalyst and the rear sensor — air enters, the rear sensor reads lean, the algorithm trips.
- Long-ignored P0300: unburned fuel literally melted the substrate.
Symptoms: usually no driveability issue — only the MIL. Severe substrate breakdown can cause power loss and exhaust restriction.
Tip: in live data, the rear O₂ should sit fairly steady around 0.6–0.75 V at cruise. If it's swinging like the front sensor, the rear sensor is either tired or the cat really is gone — confirm with a temperature measurement before / after the converter, or with a back-pressure test.
P0440 / P0442 / P0443 — EVAP System: General Fault / Small Leak / Purge Valve Circuit
What the ECM sees: P0440 — generic EVAP fault; P0442 — leak on the order of a 1 mm / 0.040 in opening; P0443 — open or short in the canister purge VSV circuit.
Typical on: all 1996+ Toyotas — Camry, Corolla, RAV4, Prius, Highlander, Yaris.
Most likely causes: fuel filler cap not sealing (the cheapest fix); failed purge VSV (most often an open winding for P0443); faulty vent VSV; cracked or detached EVAP hoses; leaking charcoal canister; faulty fuel-tank pressure sensor.
Symptoms: MIL only. Occasionally a faint fuel smell.
Tip: start with the gas cap. For small leaks, a smoke machine pays for itself in one job. Pinout for the fuel-tank pressure sensor is in the MotorData PinData section.

Vehicle Speed & Transmission
P0500 — Vehicle Speed Sensor (VSS) Circuit
What the ECM sees: no plausible vehicle-speed signal. On modern Toyotas the speed signal is generated by the ABS module from the wheel-speed sensors and broadcast on CAN.
Most likely causes: failed wheel-speed sensor or transmission output VSS (older models); harness fault; ABS module fault; CAN-bus issue between ABS and ECM.
Symptoms: dead speedometer, cruise control disabled, VSC / TRAC off, sometimes harsh AT shifting.
P0750 / P0753 — Shift Solenoid "A": Functional / Electrical
What the ECM sees: P0750 — the solenoid is electrically OK but the gear change is not happening as expected; P0753 — open or short in the solenoid circuit.
Typical on: Camry, RAV4, Corolla, Hilux, Land Cruiser with the A140E, A241E, A750E and similar automatic transmissions.
Most likely causes: failed solenoid (open winding or stuck plunger); contaminated valve body / dirty ATF; harness fault to the transmission case connector; failed TCM.
Symptoms: transmission stuck in one gear, harsh shifts, limp-home (3rd-gear hold), MIL plus AT light.
Engine Control Module — Internal Codes
P0606 — ECM/PCM Internal Processor Fault
What the ECM sees: a self-test inside the control unit failed — processor or firmware sanity check did not pass.
Typical on: RAV4 XA30, Corolla E150, Camry XV40, Prius — particularly 2006–2012 model years.
Most likely causes: internal ECM defect; low supply voltage caused by a poor power or ground connection; a short on one of the actuator drive lines that overloaded the driver; a sagging battery during cranking. Replace the ECM only after every power and ground circuit has been verified.
Symptoms: MIL, sometimes simultaneous failure of several systems, erratic engine behaviour.
P1135 — A/F Sensor Heater Circuit (Bank 1, Sensor 1)
What the ECM sees: the wideband A/F sensor used upstream of the catalyst on most 2002+ Toyotas is not reaching its operating temperature in the expected time — current draw on the heater is wrong.
Typical on: Camry 2AZ-FE / 2GR-FE, RAV4, Highlander, Prius and other Toyotas with wideband A/F sensors.
Most likely causes: open heater filament inside the sensor (the dominant failure mode); oxidised sensor connector; blown integration relay or fuse; sensor itself drifting out of range.
Symptoms: elevated consumption at the start of the trip, possible P0171, hunting idle on a cold engine. Worse in cold weather.
Toyota KD / CD Series Diesel Codes (Common Rail)
The 1KD-FTV (2.7 L), 2KD-FTV (2.5 L) and the older 1CD-FTV / 2CD-FTV diesels were used across the Hilux, HiAce, Land Cruiser Prado, Fortuner, Innova and several other Toyota models. They run a Denso Common Rail system and have a number of manufacturer-specific codes that don't appear in generic OBD-II readers — these also have legacy two-digit Flash codes that can be read through the DLC1 connector.
P0190 — Fuel Rail Pressure Sensor Circuit (Flash code 49)
What the ECM sees: implausible signal from the rail pressure sensor — the sensor on which all rail-pressure regulation depends.
Typical on: Hilux 1KD/2KD, Land Cruiser Prado 120/150, HiAce diesel, Fortuner.
Most likely causes: failed rail pressure sensor; open / short in the sensor harness; real drop in rail pressure (worn high-pressure pump, sticking SCV valve); restricted fuel filter; air ingress into the low-pressure circuit; poor-quality fuel.
Symptoms: hard start, black or white smoke, limp-home, unstable idle.
P1233 / P1234 — Common Rail Pressure Control Lost (Flash codes 83/84)
What the ECM sees: rail pressure is no longer trackable — either it doesn't change in response to commands (P1233), or the system detects a generic loss of control (P1234).
Most likely causes: worn HP pump; sticking SCV; clogged inlet strainers on the HP pump; high-pressure leak (cracked line, leaking injector return).
Symptoms: hard start, rough running, smoke, power loss, limp-home.
P1141 — SCV Stuck Closed (Flash code 58-1)
What the ECM sees: the Suction Control Valve that meters fuel into the HP pump is stuck closed.
Most likely causes: SCV contamination by wear debris; water in the diesel fuel corroding the valve needle; long-term operation on poor fuel quality.
Symptoms: no-start or hard start, stalling at idle, hesitation under load.
Tip: in many cases the SCV cleans up successfully without replacing the pump. Always drain the fuel filter / water separator first.
P1250 / P1252 / P1255 / P1256 — Variable-Geometry Turbo Faults (Flash code 34)
What the ECM sees: the VGT vane actuator either does not respond, does not reach the commanded position, or reports an out-of-range feedback signal.
Most likely causes: coked-up VGT vanes (the dominant failure mode after 150,000 km); failed vane stepper motor (P1252); faulty boost pressure sensor (P1405 will also appear); intercooler pipe leak; clogged EGR causing incorrect boost calculation; failed MAF.
Symptoms: power loss in the 1500–2500 RPM band, slow acceleration, black smoke. Sometimes limp-home.
Tip: before condemning the turbo, try to free the vanes through scan-tool actuation, or with a chemical decoke. For P1252 — verify the stepper motor power supply and control signal pin-by-pin against the wiring diagram in MotorData.
Frequently Asked Questions
Q: The Check Engine light just came on in my Toyota — should I keep driving?
Steady MIL: not an emergency, but plan a diagnosis soon — codes like P0011 or P0420 only get more expensive the longer they're ignored. Flashing MIL: stop and call for help. A flashing light means active misfire, and the unburnt fuel will destroy the catalytic converter within minutes of continued driving. Read the codes first; then decide.
Q: Can I just clear the code with a scan tool and forget about it?
Clearing the code only resets the counter; the underlying fault is still there and the code will return after a few drive cycles. On Toyota there's a second cost to clearing: it also wipes the long-term adaptations (fuel trim, ETCS-i, transmission learning), so the car will actually drive worse for a couple of trips while the ECM relearns. And some codes — P0420, P0011, the diesel turbo group — are warnings about deterioration that progresses whether the MIL is on or off.
Q: Why does P0420 keep coming back after I replaced the catalytic converter?
Three usual suspects: the rear oxygen sensor was the real fault all along (it has a Toyota-specific habit of "going lazy" before it goes fully dead); there's an exhaust leak ahead of the rear sensor allowing fresh air to skew its reading; or the original cat-killer (misfires, oil consumption, coolant in the exhaust) was never repaired and is now eating the new converter too. Always test both O₂ sensors and check for leaks before you specify another catalyst.
Q: Why do P0171 and P0300 so often show up together?
It's a cause-and-effect pair, not two separate problems. A lean mixture (P0171) destabilises combustion, which the ECM detects as misfires (P0300). Once you fix the lean condition — most often a vacuum leak after the MAF, a contaminated MAF element, or a tired fuel pump — the misfire counter usually clears too. Diagnose P0171 first, P0300 second.
Q: What are Toyota Flash codes and how do they differ from OBD-II DTCs?
Flash codes (also called "blink codes") are Toyota's pre-OBD-II self-diagnostic system. They're two-digit codes (for example, 31 = MAF problem) that you read by counting the flashes of the Check Engine light after bridging the right terminals on the diagnostic connector — no scan tool required. OBD-II codes are the modern five-character format (P0105, P0420, etc.). On 2000s-era KD/CD diesel Toyotas both schemes exist in parallel: the ECM stores the OBD-II code, but a Flash-code map is also published and is sometimes the only way to get a clean readout in the field. MotorData lists both — generic OBD-II and Toyota manufacturer codes — for every supported model.
Q: How do I read Toyota Flash codes without a scan tool?
On pre-2000 Toyotas with a DLC1 connector under the hood: with the ignition on and engine off, bridge terminals TE1 and E1. The Check Engine lamp will start blinking — long flashes count tens, short flashes count units. Three long + one short = code 31, and so on. From the year 2000 onwards Toyota moved to the DLC3 (standard OBD-II 16-pin) connector, and a scan tool is required.
Q: How many Toyota DTCs are documented in MotorData?
MotorData currently holds more than 60,000 trouble codes across all supported makes, of which several thousand are Toyota-specific. The database covers generic OBD-II codes (P0, P1, P2, P3, plus C, B and U families), Toyota manufacturer codes including the legacy Flash codes for KD/CD diesels, and codes from the ABS, SRS, automatic transmission, immobiliser and body-electronics modules. Each entry includes the setting condition, the realistic causes and a recommended diagnostic procedure, with direct links to the wiring diagram and to PinData for the relevant ECU.
Q: Which Toyota models are covered with wiring diagrams in MotorData?
The MotorData catalogue includes Corolla, Camry, RAV4, Prius, Highlander, Land Cruiser (70/80/100/200 series), Land Cruiser Prado, Hilux, Hilux Surf, HiAce, Fortuner, Innova, Avensis, Auris, Yaris, Vitz, Aygo, C-HR, Verso, Sienna and many JDM-only models — across JDM, EUR, GEN and USA market versions. Coverage runs from the late 1980s through current production. The full, always-up-to-date model list with availability per generation is at motordata.net/en_en/models/toyota/.
Closing Thoughts
Reading a code is the easy part. The skill is in turning a five-character DTC into a ranked list of suspects, and then cutting that list down with measurements that the wiring diagram, the live data and the freeze-frame frame for you. On Toyota specifically, the vast majority of "expensive" repairs that follow a misread DTC come from skipping that step — replacing a catalytic converter when the rear A/F sensor was lazy, or replacing an ECM when the real culprit was 0.4 V of voltage drop on a corroded ground point.
MotorData Auto-Electrics ties together everything you need to make that call: interactive color wiring diagrams for Toyota Corolla, Camry, RAV4, Prius, Highlander, Land Cruiser, Hilux and the rest of the line-up from the late 1980s onwards; full ECU pinouts (PinData); the 60 000+ DTC database with Toyota-specific descriptions and Flash code cross-references; and component test procedures with reference values. One subscription, one window — code, schematic, pin, value.
See what's inside MotorData Professional → · Plans & pricing · All Toyota models in MotorData
