J1939 SPN/FMI Decoder
for Heavy-Duty Trucks
Every heavy-duty truck fault code is a combination of an SPN (what broke) and an FMI (how it broke). AI Diesel Tech decodes both and tells you exactly what to test.
What Is J1939?
J1939 is the SAE standard communication protocol used in heavy-duty commercial vehicles. It defines how electronic control units (ECUs) on a truck communicate over the CAN bus — and how fault codes are structured and reported.
Every fault code in a J1939 system consists of two numbers: the SPN (Suspect Parameter Number) and the FMI (Failure Mode Identifier). Together, they tell you exactly what component has a problem and what kind of problem it is.
For example: SPN 5246 FMI 31 means the aftertreatment SCR operator inducement system has a general fault condition — the truck is in or approaching a derate because DEF quality or dosing is out of spec.
Complete FMI Reference Table
The FMI tells you the type of failure. Here are all standard J1939 FMI values and their meanings.
| FMI | Meaning |
|---|---|
| 0 | Data valid but above normal operational range (most severe) |
| 1 | Data valid but below normal operational range (most severe) |
| 2 | Data erratic, intermittent, or incorrect |
| 3 | Voltage above normal or shorted high |
| 4 | Voltage below normal or shorted low |
| 5 | Current below normal or open circuit |
| 6 | Current above normal or grounded circuit |
| 7 | Mechanical system not responding or out of adjustment |
| 8 | Abnormal frequency, pulse width, or period |
| 9 | Abnormal update rate |
| 10 | Abnormal rate of change |
| 11 | Root cause not known |
| 12 | Bad intelligent device or component |
| 13 | Out of calibration |
| 14 | Special instructions |
| 15 | Data valid but above normal operational range (least severe) |
| 16 | Data valid but above normal operational range (moderately severe) |
| 17 | Data valid but below normal operational range (least severe) |
| 18 | Data valid but below normal operational range (moderately severe) |
| 19 | Received network data in error |
| 31 | Condition exists (general fault, no specific failure mode) |
Most Common SPN Codes in Heavy-Duty Trucks
These SPNs account for the majority of diagnostic sessions in diesel shops.
SCR Operator Inducement
Aftertreatment
SCR Conversion Efficiency
Aftertreatment
DPF Soot Load
Aftertreatment
DEF Quality
Aftertreatment
DEF Dosing System
Aftertreatment
Fuel Rail Pressure
Fuel System
Engine Oil Pressure
Engine
Turbo Speed
Turbocharger
Engine Derate
Engine Protection
How AI Diesel Tech Decodes SPN/FMI
When you enter a fault code, AI Diesel Tech doesn't just look up a description. It runs the SPN/FMI through a diagnostic engine that understands the relationship between the fault, the vehicle's derate state, and the most likely root causes based on real-world repair data.
The system then generates a primary circuit test sequence — starting with the cheapest, fastest checks first. If the primary circuit is clean, it escalates to secondary causes. Every step tells you exactly what to measure and what result to expect.
SPN/FMI FAQ
What does SPN stand for in J1939?
SPN stands for Suspect Parameter Number. It identifies the specific parameter or component that has a fault — for example, SPN 100 is Engine Oil Pressure and SPN 5246 is Aftertreatment SCR Operator Inducement.
What does FMI stand for in J1939?
FMI stands for Failure Mode Identifier. It describes the type of failure — for example, FMI 3 means voltage above normal, FMI 4 means voltage below normal, and FMI 18 means data valid but below normal operating range.
How do I decode a J1939 SPN/FMI code?
Enter the SPN and FMI into AI Diesel Tech. The system looks up the parameter, interprets the failure mode, cross-references known root causes, and generates a step-by-step diagnostic workflow.
What is the difference between SPN and DTC?
SPN/FMI is the J1939 standard used in heavy-duty trucks. DTC (Diagnostic Trouble Code) is the OBD-II standard used in light-duty vehicles. Heavy-duty trucks use SPN/FMI; passenger cars use P/C/B/U DTCs.
What are the most common J1939 SPN codes?
The most common SPNs in heavy-duty trucks include SPN 5246 (DEF inducement), SPN 4364 (SCR efficiency), SPN 3031 (DPF soot load), SPN 157 (fuel rail pressure), SPN 100 (oil pressure), and SPN 3216 (DEF quality).