J1939 SPN/FMI Diagnostic Codes

SAE J1939 is the standard diagnostic protocol for heavy-duty diesel engines and commercial vehicles. Codes consist of an SPN (Suspect Parameter Number) and FMI (Failure Mode Identifier).

Common SPNs in Commercial Vehicles

SPN 91
Accelerator Pedal Position
Throttle position sensor signal issues
SPN 100
Engine Oil Pressure
Low oil pressure alerts and sensor faults
SPN 102
Boost Pressure
Turbocharger boost pressure out of range
SPN 110
Engine Coolant Temperature
Overheating or sensor circuit faults
SPN 111
Coolant Level
Low coolant detection
SPN 171
Ambient Air Temperature
Intake air temperature sensor
SPN 190
Engine Speed
RPM signal faults
SPN 520
Alternator Voltage
Charging system issues
SPN 3226
Aftertreatment SCR Catalyst
DEF/SCR system efficiency
SPN 3251
Aftertreatment DEF Tank Level
Diesel exhaust fluid level

FMI (Failure Mode Identifier) Reference

FMI 0Data valid but above normal operational range - most severe
FMI 1Data valid but below normal operational range - most severe
FMI 2Data erratic, intermittent, or incorrect
FMI 3Voltage above normal, or shorted to high source
FMI 4Voltage below normal, or shorted to low source
FMI 5Current below normal or open circuit
FMI 6Current above normal or grounded circuit
FMI 7Mechanical system not responding or out of adjustment
FMI 12Bad intelligent device or component
FMI 14Special instructions (manufacturer defined)
FMI 31Condition exists

About J1939 Codes

A J1939 fault code combines an SPN with an FMI. For example, SPN 100 / FMI 1 means "Engine Oil Pressure - Data below normal range (most severe)."

During FMCSA inspections, inspectors may connect to the vehicle's 9-pin or 6-pin diagnostic port to read active J1939 fault codes. Active faults related to brakes (ABS), emissions (DPF/SCR/DEF), or steering can result in out-of-service orders.

To look up a specific code, navigate to /codes/J1939/{SPN-FMI}/.