AI Diesel Tech
J1939 SPN/FMI Reference

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.

FMIMeaning
0Data valid but above normal operational range (most severe)
1Data valid but below normal operational range (most severe)
2Data erratic, intermittent, or incorrect
3Voltage above normal or shorted high
4Voltage below normal or shorted low
5Current below normal or open circuit
6Current above normal or grounded circuit
7Mechanical system not responding or out of adjustment
8Abnormal frequency, pulse width, or period
9Abnormal update rate
10Abnormal rate of change
11Root cause not known
12Bad intelligent device or component
13Out of calibration
14Special instructions
15Data valid but above normal operational range (least severe)
16Data valid but above normal operational range (moderately severe)
17Data valid but below normal operational range (least severe)
18Data valid but below normal operational range (moderately severe)
19Received network data in error
31Condition exists (general fault, no specific failure mode)

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).