J1939 SPN/FMI Diagnostic Codes

SAE J1939 reference for heavy-duty trucks, buses, and off-highway equipment. Uses SPN (Suspect Parameter Number) paired with FMI (Failure Mode Identifier) over the CAN bus.

SAE J1939 is the diagnostic and communication standard heavy-duty Class 7 and 8 commercial vehicles use to talk over the CAN bus. Faults are reported as a two-part code — an SPN (Suspect Parameter Number) identifying what is being monitored, paired with an FMI (Failure Mode Identifier) describing how it is failing. Use the SPN tables below to look up common fault parameters, the FMI table to decode failure modes, or jump to any specific code from the main Diagnostic Code Reference.

About J1939 Codes

SAE J1939 is the diagnostic and communication standard used on heavy-duty Class 7 and 8 commercial vehicles, including most diesel trucks, transit buses, and off-highway equipment. Faults are reported as a two-part code: an SPN identifying the parameter or component (e.g., SPN 100 = Engine Oil Pressure) and an FMI describing the nature of the failure (e.g., FMI 1 = below normal operating range).

During FMCSA Level I and II roadside inspections, inspectors may query the J1939 9-pin or Type II Green (Deutsch) diagnostic connector using a heavy-duty scan tool. Active DTCs related to brakes, emissions aftertreatment (DPF, DEF, SCR), and lamp circuits can contribute to out-of-service decisions under 49 CFR 393 and 396.

Common J1939 SPNs

Frequently cited Suspect Parameter Numbers on commercial diesel vehicles.

10 SPNs
Common J1939 SPN codes
SPN Parameter Typical Concern
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

J1939 FMI Codes

Failure Mode Identifiers — the second half of every J1939 DTC.

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

Reading a J1939 DTC

A full J1939 fault code is written as SPN XXX FMI Y. For example, SPN 100 FMI 1 means engine oil pressure, data valid but below normal operating range (most severe) — a condition that would typically trigger an immediate inspection during a roadside stop.

Some OEMs (Cummins, Detroit Diesel, Volvo, PACCAR, International) also overlay a proprietary fault code number on top of the J1939 SPN/FMI pair. Shop-level diagnostic tools resolve both. Our database focuses on the standardized SAE J1939 codes — for OEM-specific numbers, consult the manufacturer's service documentation.

Featured J1939 Codes

A starter set of J1939 SPN/FMI diagnostic codes from our reference. Click any code for the full meaning, severity, and related diagnostic guidance.

More J1939 codes in our database

Sorted by FMCSA inspection citations. Click any code for the full meaning, severity, and related diagnostic guidance.

Frequently asked questions about J1939 codes

What does SPN and FMI mean?
SPN (Suspect Parameter Number) identifies what is being monitored — the parameter, sensor, or component. FMI (Failure Mode Identifier) describes how it is failing — out of range, short circuit, intermittent, etc. A complete J1939 fault is always written as the pair, e.g. SPN 100 FMI 1 means engine oil pressure (SPN 100) is below normal operating range, severe (FMI 1).
Where is the J1939 connector on a truck?
Heavy-duty Class 7 and 8 trucks built after roughly 2007 use a green 9-pin Deutsch connector (Type II) typically mounted under the dash near the steering column. Older trucks used a 6-pin Deutsch connector. Some trucks have both. The connector exposes the J1939 CAN bus the engine, transmission, and ABS modules talk on.
Can a single fault produce multiple SPN/FMI codes?
Yes, frequently. A failed sensor often sets one code from the engine ECM and another from the transmission or ABS module that depends on the same signal. When diagnosing, always note the full set of codes that came up at the same time — the pattern often points to the root cause faster than any single code in isolation.
Are J1939 codes the same across all manufacturers?
Mostly. The SAE J1939 standard defines a common SPN/FMI dictionary that every compliant manufacturer uses. Cummins, Detroit Diesel, Volvo, PACCAR, and International all emit standardized J1939 codes. They also overlay proprietary fault numbers (Cummins Fault Codes, Detroit Diesel codes, etc.) on top — those are OEM-specific and not part of the public standard.
Why do roadside inspectors care about J1939 codes?
Inspectors plug into the J1939 port to confirm two things: (1) the engine and aftertreatment systems are reporting no active emissions faults — a triggered DEF, DPF, or SCR fault is grounds for citation under 40 CFR 1037, and (2) the ABS system is alive and reporting no active brake faults. Both are checked under the FMCSA Level I inspection protocol.

Related pages

Data sources & freshness

TruckCodex aggregates official public-sector datasets. See the Source registry for dataset-level coverage and the Freshness log for last-import timestamps.

Census, SAFER, SMS, Licensing & Insurance (L&I), roadside inspections, crashes, and authority history.

Refreshed daily.

Vehicle recall campaigns, defect investigations, and consumer safety complaints (SCRS).

Refreshed daily.
EIA

Retail diesel and gasoline price history and state fuel-tax tables.

Refreshed weekly.

Cross-border carrier registry and Canadian recall campaigns where applicable.

Refreshed weekly.

TruckCodex is an independent aggregator; it is not affiliated with FMCSA, NHTSA, EIA, or Transport Canada. Always verify compliance-critical information directly with the originating agency.