Common Toyota Fault Codes

Toyota and Lexus vehicles share a common diagnostic architecture that produces predictable fault patterns across the lineup — from the Yaris and Corolla through to the Land Cruiser, Tundra, and the Prius hybrid range. Understanding how Toyota structures its fault codes, which systems fail most commonly, and where manufacturer-specific codes differ from generic OBD-II will save significant diagnostic time on any Toyota platform.

How Toyota fault codes are structured

Toyota uses the standard SAE OBD-II P, C, B, and U code categories for generic faults. In addition, many Toyota fault codes follow a pattern where the manufacturer-specific prefix identifies the system: C-codes for chassis (ABS, VSC, steering), B-codes for body (SRS, keyless entry, power windows), and U-codes for network communication faults. Toyota Techstream, the OEM diagnostic software, surfaces more detail than generic OBD-II readers — including sub-type information, freeze frame data, and system-specific live data PIDs that are not available via standard Mode 01 requests.

Toyota’s SAS (Steering Angle Sensor) calibration requirement after every wheel alignment is one of the most commonly missed procedures — see steering angle sensor calibration explained for the procedure and when it is required.

Chassis and ABS fault codes

ABS and VSC (Vehicle Stability Control) codes on Toyota platforms are diagnosed through the ABS ECU, not the engine ECU. Generic OBD-II readers often cannot read these codes — a Toyota-capable tool or Techstream is required. Common chassis faults include:

  • C1241 — Low battery voltage detected by the ABS ECU. This code sets when supply voltage drops below the ABS ECU’s minimum threshold — often caused by a weak battery, a poor charging system, or excessive accessory load. The ABS system self-disables when voltage is marginal. See why low voltage causes multiple DTC codes.
  • C1380 — ABS solenoid or actuator fault. Appears on platforms with electronically controlled brake actuators. Typically requires confirmation with hydraulic actuator testing.
  • C0455 / C0600 / C0601 — Steering angle sensor faults or calibration not performed. Set after alignment work, SAS replacement, or battery disconnection on sensitive Toyota/Lexus platforms.

SRS and airbag fault codes

Toyota SRS codes split into two categories that require completely different diagnostic approaches: circuit faults (resistance high, resistance low, short, open — genuine wiring and component faults) and crash record codes (post-collision deployment records that require SRSCM replacement, not circuit diagnosis). Never approach a crash record code as a circuit fault — it is a historical record of a collision event.

Common SRS codes include squib (initiator) resistance faults on specific seating positions, pre-tensioner circuit faults, and B-code crash deployment records on vehicles that have been in collisions. Toyota’s SRSCM stores these records permanently until the module is replaced or cleared with dealer-level tools after an approved repair process.

Hybrid and EV system codes

Prius (all generations), RAV4 Hybrid, Camry Hybrid, bZ4X, and Lexus hybrid models use Toyota’s Hybrid System (THS) and produce a set of hybrid-specific codes not found on conventional platforms:

  • P0A0A — High voltage interlock fault. The HV interlock circuit monitors that all high-voltage connectors are fully seated. An open in this circuit disables the hybrid system as a safety measure.
  • P3000-series codes — Hybrid battery (HV battery) assembly faults. These range from individual cell group voltage deviation (P3011–P3030) to cooling fan faults and battery temperature extremes.
  • P3190 — Engine fails to start on hybrid systems. Typically caused by a failed starter generator (MG1) or a fault in the power management system preventing engine start-up from the hybrid system.

High voltage system repairs require HV safety training and insulated tools. Any work near the orange HV cabling must follow Toyota’s high-voltage interlock isolation procedure before opening any HV circuit.

Network and communication codes

Toyota uses a multi-bus CAN architecture with separate powertrain CAN, chassis CAN, and body CAN networks on most platforms. U-code communication faults on Toyota are frequently caused by low battery voltage affecting CAN bus timing — the first diagnostic step on any Toyota U-code is battery voltage and charging system confirmation. Toyota’s shared sensor ground (the SG circuit) is also a known failure point: a corroded SG connection produces multiple circuit high codes across several sensors simultaneously, because all sensors on the SG bus share the same ground reference. See engine and chassis ground testing for the voltage drop procedure.

Toyota and Lexus vehicles also follow predictable patterns on body electrical faults. The BCM (Body Control Module) communicates over BEAN (Body Electronics Area Network) on older platforms and CAN on newer ones — generic readers cannot access BEAN, making body fault diagnosis impossible without Toyota-capable software on models prior to 2008. On CAN-based platforms, a fault in any node that pulls the CAN bus low will silence multiple modules and generate U-code cascades that look superficially like module failures. Battery state and CAN bus termination resistance (approximately 60Ω measured at OBD port pins 6 and 14) rule out the most common root causes before any module is condemned.

Browse Toyota fault codes

The AutoDTCs database contains diagnostic guides for Toyota-specific fault codes drawn from real scan reports. Each guide covers symptoms, causes, and diagnostic steps for the specific code on Toyota and Lexus platforms.

Platform-specific patterns: Camry, Corolla, Prius and 4×4

Toyota’s broad model range means fault patterns shift significantly between platforms. Knowing which codes are most common by model prevents unnecessary diagnostic time chasing low-probability causes.

Camry and Avalon 2.5 and 3.5 (A25A-FXS, 2AR, 2GR) — The 2.5 A25A-FXS in the 2018+ Camry hybrid and Avalon hybrid develops oil pressure control codes (P0010, P0011, P0012, P0016, P0017) related to Dual VVT-i camshaft timing. These are caused by oil sludge in the OCV (Oil Control Valve) screens, particularly on vehicles that have exceeded service intervals or used non-Toyota-spec oil. Diagnosis starts with live data confirmation of cam timing offset at operating temperature, not parts replacement. OCV screen cleaning restores correct valve timing on most affected units.

Prius (all generations) brake system — The Toyota hybrid brake system uses regenerative braking supplemented by friction brakes, controlled by a hybrid brake ECU separate from the conventional ABS ECU. Codes C1259, C1310, and C1336 relate to the hybrid brake actuator and skid control ECU — these require Techstream or a hybrid-capable scan tool for full diagnosis. A common pattern on high-mileage Gen 2 and Gen 3 Prius is the ABS actuator pump motor degrading, producing a noise during first brake application and eventually setting C0226 or C1391. Actuator replacement is the correct repair — relay or wiring faults are rare on this code.

Land Cruiser, 4Runner, and Hilux — KDSS and TEMS — Body-on-frame Toyota trucks and SUVs with Kinetic Dynamic Suspension System (KDSS) produce C-codes for hydraulic suspension circuit pressure faults if air enters the KDSS lines or a solenoid fails. These codes do not appear in generic OBD-II; Techstream or a compatible enhanced tool is required. TEMS (Toyota Electronic Modulated Suspension) on older Land Cruiser 80 and 100 series stores body ECU codes for height sensor and actuator faults, which are often misread as chassis codes by non-Toyota tools.

GR86, Supra and Gazoo Racing platform — The GR86 (ZN8) and Supra (A90) share chassis and powertrain systems with Subaru BRZ/Toyota GR86 and BMW Z4/G29 respectively. Toyota Techstream reads Toyota-side modules on these platforms; the BMW-derived B58 engine on the Supra requires ISTA+ or compatible BMW tool access for engine ECU faults not mapped to standard OBD PIDs.

Toyota OBD-II codes most commonly seen across the fleet

The following SAE codes appear with above-average frequency on Toyota and Lexus platforms based on real scan report data in the AutoDTCs database. Each links to a full diagnostic guide with Toyota-specific testing procedures.

  • P0171 / P0174 — System lean, Bank 1 and Bank 2. Common on Camry 2.4 and 3.5 with intake manifold carbon buildup or vacuum hose cracks near the PCV system.
  • P0300–P0308 — Random and cylinder-specific misfires. GDI engines (2AR-FSE, D-4ST) develop injector deposits causing lean misfires at idle; fuel system cleaning or injector service is required before coil replacement.
  • P0420 / P0430 — Catalyst efficiency below threshold, Bank 1 and Bank 2. High prevalence on high-mileage 1MZ-FE V6 and 2AZ-FE 4-cylinder. Confirm with post-catalyst oxygen sensor live data before assuming catalyst failure — a lean condition or coolant leak can cause this code without catalyst damage.
  • P0335 / P0339 — Crankshaft position sensor circuit fault. Common on older 1ZZ-FE and 2ZZ-GE engines with worn sensor reluctor wheel teeth or oil contamination of the sensor air gap.
  • C1241 — ABS low voltage. Almost always battery or charging system — see the C1241 guide for the full procedure.

Related articles

Frequently asked

Do I need Techstream to diagnose Toyota fault codes?

Not always. Generic OBD-II tools read most P-code engine and emissions faults without issue. But for ABS/VSC C-codes, SRS B-codes, and body/network systems, a Toyota-capable enhanced tool is required — generic readers cannot access those modules. Capable aftermarket tools (Autel, Launch, Snap-on with Toyota coverage) reach most systems. Techstream remains necessary for a few advanced procedures including certain SRS code clears and hybrid system service functions.

Why do so many Toyota codes appear after a low battery or jump start?

Toyota’s CAN bus and module architecture is sensitive to voltage fluctuations. A low battery, an under-charged battery after sitting, or a jump start with the vehicle running can create voltage spikes that trigger communication timeouts across multiple modules simultaneously. The result is a cascade of U-codes, B-codes, and even some C-codes that are entirely voltage-related. Charge or replace the battery, clear all codes, and retest before diagnosing individual codes from a low-voltage event.