Support
JLR DecoderJLR Decoder

JLR DTC Codes: The Complete Jaguar Land Rover Fault Code List (2017–2026)

Look up any JLR DTC code from the full factory diagnostic index — 10,992 unique fault codes across 91 control modules, with plain-English meanings and the failure type behind every 7-digit code.

10,992unique fault codes
91control modules
20,394module-level entries
2017–26DOIP model years

What Are JLR DTC Codes?

JLR DTC codes are diagnostic trouble codes that Jaguar Land Rover control modules store when they detect a fault. Each code pinpoints the failing system, the circuit or component involved, and how it failed.

Every modern Jaguar and Land Rover runs dozens of networked computers. When one of them spots a problem — a short circuit, a missing message, an implausible sensor value — it logs a code and often turns on a warning light. Because of this, reading these codes is always the first step in any diagnosis.

Unlike generic OBD-II lists, the JLR factory index goes far beyond engine codes. It covers body, chassis and network faults that generic scanners never see. That matters, because most warnings on a 2017+ Range Rover, Defender or Discovery come from these newer systems. You can browse the full set of JLR DTC codes in the tables below. For background on the underlying standard, see the OBD-II overview on Wikipedia.

How to Read a 7-Digit JLR Fault Code

A JLR fault code has two parts: a 5-digit base code that names the system and component, plus a 2-digit failure type byte that describes the exact failure — such as a short to battery (-12) or a missing message (-87).

Take U0001-88 as an example. The letter U means network. 0001 identifies the high-speed CAN bus. The suffix -88 means the bus went bus-off. Therefore, one look tells a technician what failed, where, and how.

Generic scan tools only show the first five digits. As a result, they miss the failure detail that makes factory-level diagnosis possible. The table below lists the suffixes you will see most often in JLR DTC codes.

SuffixMeaning
-11Circuit short to ground
-12Circuit short to battery
-13Circuit open
-19Circuit current above threshold
-1CCircuit voltage out of range
-23Signal stuck low
-49Internal electronic failure
-4AIncorrect component installed
-4BOver temperature
-54Missing calibration
-56Invalid / incomplete configuration
-62Signal compare failure
-64Signal plausibility failure
-87Missing message
-88Bus off
-92Performance or incorrect operation

Code Categories: P, B, C and U Explained

JLR DTC codes fall into four families: P codes for powertrain, B codes for body, C codes for chassis, and U codes for network communication. Powertrain codes are the largest group, with 4,706 unique entries in the factory index.

However, the split may surprise you. Over half of all JLR fault codes live outside the engine. Body and network codes dominate modern vehicles, because almost every feature — from seat modules to the tailgate — now runs on its own computer.

PrefixSystemCoversCodes in database
P0xxxPowertrainEngine, transmission, emissions, fuel & hybrid systems4,706
B0xxxBodyAirbags, seats, doors, HVAC, lighting, infotainment4,179
C0xxxChassisABS, suspension, steering, brakes, terrain response1,168
U0xxxNetworkCAN bus, module communication, configuration & VIN data939

The Most Common JLR Fault Codes

The most common JLR fault codes are network and configuration codes. U3000-49 (control module internal failure) tops the index — it appears in 70 of the 91 module sections — followed by software and central-configuration codes such as U0300-00 and U2300-56.

Many of these appear after a low battery, a software update, or a module replacement. So before replacing parts, check whether the code points to configuration rather than hardware. The table shows the 15 codes listed most often across the 91 modules.

DTC CodeFault descriptionTimes listed across modules
U3000-49Control Module – Internal Electronic Failure70
U0300-00Internal Control Module Software Incompatibility – No Sub-Type Information60
U2300-56Central Configuration – Invalid / Incompatible Configuration54
U2300-54Central Configuration – Missing Calibration54
U0001-88High Speed CAN Communication Bus – Bus Off47
U2300-64Central Configuration – Signal Plausibility Failure41
U2300-55Central Configuration – Not Configured39
U0140-00Lost Communication with Body Control Module – No Sub-Type Information36
U3003-62Battery Voltage – Signal Compare Failure35
U2100-00Initial Configuration Not Complete – No Sub-Type Information35
U0001-87High Speed CAN Communication Bus – Missing Message34
U2101-00Control Module Configuration Incompatible – No Sub-Type Information33
U0010-88Medium Speed CAN Communication Bus – Bus Off29
U3000-4BControl Module – Over Temperature28
U3002-81Vehicle Identification Number – Invalid Serial Data Received26

Fault Codes by Control Module

The powertrain control module holds the largest share of JLR DTC codes — 3,405 entries — followed by the transmission, ABS and body control modules. In total, the factory index spans 91 control modules on 2017–2026 DOIP vehicles.

Knowing which module logged a code narrows the diagnosis fast. For instance, a U-code from the gateway module points to network wiring, while the same code from the instrument cluster may follow a battery drain.

Control moduleDTC records
Powertrain Control Module (PCM)3,405
Transmission Control Module (TCM)1,351
Anti-Lock Brake System Control Module (ABS)1,119
Body Control Module (BCM)963
Battery Energy Control Module (BECM)751
HVAC Control Module (HVAC)750
Restraints Control Module (RCM)623
Audio Amplifier Module (AAM)527
Transfer Case Control Module (TCCM)494
Near Field Sensing Module (NFSM)390

How to Scan Codes on 2017+ Models

To scan fault codes on a 2017 or newer Jaguar or Land Rover, you need a DOIP-capable diagnostic interface and JLR-compatible software. Connect to the OBD port, run a full-vehicle scan, and read each module — a basic OBD scanner will only show generic powertrain codes.

DOIP — Diagnostics over Internet Protocol — replaced the old CAN-based session on all JLR vehicles from roughly 2017 onward. Consequently, older SDD-era cables cannot talk to these cars. A DOIP interface such as a JLR ENET cable or a dedicated VCI is required.

A typical workflow

First, connect the interface and run a full scan. Next, record every code with its failure type byte before clearing anything. Then fix the root cause — wiring, battery voltage or configuration. Finally, clear the codes and re-scan to confirm the repair. For suitable hardware, see our JLR diagnostic tool range or check your vehicle first with our free VIN compatibility check.

Frequently Asked Questions

What does a JLR DTC code mean?

A JLR DTC code is a diagnostic trouble code stored by a Jaguar Land Rover control module when it detects a fault. Each 7-digit code identifies the affected system, the component or circuit, and the exact failure type — for example, U0001-88 means the high-speed CAN bus has gone bus-off.

How many JLR fault codes are there?

Our database indexes 10,992 unique JLR fault codes across 91 control modules, covering DOIP-based vehicles from 2017 to 2026. Because the same code can be reported by several modules, the full index contains 20,394 module-level entries.

How do I read JLR DTC codes?

You need a diagnostic tool that supports JLR DOIP (Diagnostics over Internet Protocol) for 2017 and newer vehicles. Connect the interface to the OBD port, run a full vehicle scan, and the tool will list every stored and pending code with its module. Generic OBD scanners only read basic powertrain codes and miss most body, chassis and network faults.

What is the difference between 5-digit and 7-digit JLR codes?

Generic scan tools display only the first 5 digits, such as U0001. JLR factory diagnostics add a 2-digit failure type byte, such as U0001-88. The suffix explains how the fault manifested — for example a short to battery, an open circuit, or a missing message — which is essential for pinpoint diagnosis.

Can I drive with a JLR fault code stored?

It depends on the code. Network and configuration codes (U-codes) are often stored after a low battery event and may not affect driving. Powertrain codes that trigger a red warning or limp mode should be investigated immediately. Always record the code before clearing it, because freeze-frame data aids diagnosis.

Why does my JLR store U-codes after a battery change?

Low or interrupted voltage during a battery change causes modules to log communication and configuration codes such as U3000-49 or U2300-56. In most cases a full scan and code clear after the new battery is fitted resolves them. If they return, the affected module may need reconfiguration with a JLR-capable diagnostic tool.

Need the Complete JLR Fault Code Database?

Get all 10,992 JLR DTC codes with full diagnostic guidance — searchable by code, module or symptom. Ideal for workshops, resellers and serious DIYers.

Contact Us for Access

Last updated: 10 September 2026 · Compiled from the JLR factory diagnostic trouble code index for DOIP vehicles (2017–2026), including Defender, Discovery, Discovery Sport, Range Rover, Range Rover Sport, Velar, Evoque and Jaguar XE / XF / F-Pace platforms. Maintained by the JLR Decoder technical team.