KWP2000 — ISO 14230

KWP2000 Request / Response Playground

Choose CAN (ISO-TP wrapped) or K-Line (ISO 14230-2 physical layer with FMT/TGT/SRC/LEN/CS) and exercise the full KWP2000 service catalogue — diagnostic sessions, identification, security access, data and memory I/O, routines, and bulk download.

Compose request

Quick presets

Response

[ idle — send a request to begin ]

Positive responses use SID + 0x40; negative responses are 7F <SID> <NRC>. CAN frames are ISO-TP single frames padded to 8 bytes; K-Line frames carry a trailing XOR checksum byte.

Service Catalog

KWP2000 — ISO 14230 · 25 service (sid)s
Service (SID)NameDescriptionRequest formatExample
0x10StartDiagnosticSessionBegin a diagnostic session and set timing.
Session: 0x81=default, 0x85=programming, 0x89=stand-by, 0x90=EOL.
10 SessionType81
0x11ECUResetForce the ECU to reboot.
01=power-on, 02=key-off-on, 03=soft.
11 ResetMode01
0x14ClearDiagnosticInformationErase DTCs (group code).14 Group(2)FF 00
0x18ReadDTCByStatusRead DTCs filtered by status mask.18 Status Group(2)02 FF 00
0x1AReadECUIdentificationRead identification record (e.g. VIN, HW/SW version).
0x90=VIN, 0x91=Vehicle Mfr ECU HW Number, 0x92=ECU SW Number, 0x9B=ECU ident.
1A IdentOption90
0x20StopDiagnosticSessionReturn ECU to default session.20
0x21ReadDataByLocalIdentifierRead a value by its local ID.21 LID01
0x22ReadDataByCommonIdentifierRead a value by its common (16-bit) ID.22 CID(2)F1 90
0x23ReadMemoryByAddressRead raw memory.23 Addr(3) Size(1)00 80 00 04
0x27SecurityAccessSeed/key authentication for protected services.27 AccessMode [Key]01
0x2CDynamicallyDefineLocalIdentifierCompose a local identifier from multiple sources.2C LID DefMode …F0 01 22 F1 90 01
0x2EWriteDataByCommonIdentifierWrite a value addressed by 16-bit CID.2E CID(2) DataF1 90 01 02 03
0x2FInputOutputControlByCommonIdentifierDrive an actuator or freeze a sensor reading.2F CID(2) CtrlByte [State]01 00 03 01
0x31StartRoutineByLocalIdentifierRun a vendor-defined routine.31 RID [Param]01
0x32StopRoutineByLocalIdentifierStop a routine.32 RID01
0x33RequestRoutineResultsByLocalIdentifierRead routine result.33 RID01
0x34RequestDownloadTester announces an upcoming download.34 Addr(3) Format Size(3)00 80 00 00 00 10 00
0x35RequestUploadTester requests an upload from ECU.35 Addr(3) Format Size(3)00 80 00 00 00 10 00
0x36TransferDataSend/receive a block of data.36 BlockSeq Data…01 DE AD BE EF
0x37RequestTransferExitEnd data transfer.37
0x3BWriteDataByLocalIdentifierWrite a value by local ID.3B LID Data01 AA BB
0x3DWriteMemoryByAddressWrite raw memory.3D Addr(3) Size(1) Data00 80 00 02 AA BB
0x3ETesterPresentKeep the diagnostic session alive.
0x01=respond, 0x02=no response.
3E ResponseType01
0x85ControlDTCSettingEnable / disable DTC storage.85 OnOff01
0x86ResponseOnEventTrigger response when an event occurs.86 EventType …03 01 22 F1 90