Product
One tool, in the browser and on your bench.
The online app and the desktop app are the same CAN Data Extract. Use the online app to analyse and share traces. Use the desktop app when there is a CAN adapter on your desk and a car or an ECU on the other end.
Online app
Analyse and share in the browser
At app.candataextract.com. Your team's traces, transforms and simulator configs in one place.
Live monitor
A frame table built for high bus load: time, interface, ID, DLC, direction, payload and decoded text in fixed columns. It virtualises, so a long capture scrolls as fast as a short one.
24 px rows · virtualised · follow live
Screenshot placeholder · Online app
Live monitor
The frame table during a diagnostic session: several hundred frames, one response row selected, the inspector open beside it.
public/screenshots/monitor-light.png · monitor-dark.png
ISO-TP reassembly
Multi-frame requests and responses are stitched back into whole messages, so a 20-byte VIN read is one line, not four frames.
First, consecutive and flow-control frames
Screenshot placeholder · Online app
ISO-TP reassembly
The streams view with multi-frame ISO-TP messages reassembled, for example a ReadDataByIdentifier 0xF190 VIN response shown as one message.
public/screenshots/isotp-light.png · isotp-dark.png
Byte decoder
One payload shown three ways that stay in step. Hover a field to see its bytes, hover a byte to see its field. The arithmetic is written out.
Frame literal · byte cells · decoded fields
Screenshot placeholder · Online app
Byte decoder
The byte decoder for one response: the frame literal, byte cells with offsets, and decoded fields, with one field hovered so its bytes are highlighted.
public/screenshots/decoder-light.png · decoder-dark.png
CEL transforms
Write an expression that picks a signal out of a payload, see every match highlighted in the table, and save it for the team.
Common Expression Language · saved per namespace
Screenshot placeholder · Online app
CEL transforms
The transform panel with a CEL expression that extracts a value from a payload, and its matches highlighted in the table.
public/screenshots/transforms-light.png · transforms-dark.png
Collections and ECU trees
Group traces by car and session, browse the ECUs a car exposes, and keep the naming data
that turns 7E0 into "Engine".
Traces grouped by vehicle, ECU, session
Screenshot placeholder · Online app
Collections and ECU trees
The explorer with a collection of traces for one vehicle open, and the ECU tree listing named ECUs.
public/screenshots/collections-light.png · collections-dark.png
Teams
Private and team namespaces with invite-based access. Sign in with your company's Google or Microsoft Entra ID account.
Namespaces · invites · Google · Microsoft Entra ID
Screenshot placeholder · Online app
Teams
The namespace selector open with a private and a team namespace, and the account menu with its sign-in methods.
public/screenshots/teams-light.png · teams-dark.png
Desktop app
Everything above, plus the hardware
For Windows, macOS and Linux. It opens your CAN adapter directly.
Record
Capture frames from a USB CAN adapter plugged into a car or a bench harness, at the bitrate you set. Save locally or stream the capture to your namespace in the cloud.
SocketCAN on Linux · PCAN on macOS and Windows
Screenshot placeholder · Desktop app
Record
The desktop app capturing live: the interface selector set to a real adapter (can0 or PCAN_USBBUS1) at 500 kbit/s, the live indicator on, and frames arriving.
public/screenshots/record-light.png · record-dark.png
Scan
Connect to a car, read its VIN, find the manufacturer's ECUs, and read their data identifiers and fault codes in one pass.
VIN · ECU discovery · DIDs · DTCs
Screenshot placeholder · Desktop app
Scan
The result of scanning a car: VIN, the list of discovered ECUs, their data identifiers and fault codes with status badges.
public/screenshots/scan-light.png · scan-dark.png
Simulate
Answer diagnostic requests as one or many ECUs on a real CAN interface. Sessions, timing, padding and CAN FD framing are configurable per ECU.
One or many ECUs · YAML · CAN and CAN FD
Screenshot placeholder · Desktop app
Simulate
The ECU simulator running on an interface: several simulated ECUs and the last requests they answered.
public/screenshots/simulate-light.png · simulate-dark.png
Traces to simulator
Turn a recorded session into a simulator config. Request and response IDs are paired automatically, and ECU names are filled in from the naming data.
candump · PCAN TRC · VCDS · ODIS · MF4
Screenshot placeholder · Desktop app
Traces to simulator
The ECU config editor for a simulator config built from a recorded trace, with paired request and response IDs and named ECUs.
public/screenshots/sim-config-light.png · sim-config-dark.png
Compare
Which one do you need?
| Feature | Online app | Desktop app |
|---|---|---|
| Frame table, ISO-TP reassembly, byte decoder | ● | ● |
| CEL transforms, saved and shared | ● | ● |
| Collections, ECU trees, team namespaces | ● | ● |
| Import candump, PCAN TRC, VCDS, ODIS and MF4 traces | ● | ● |
| Sign in with Google or Microsoft Entra ID | ● | ● |
| Record from a local CAN adapter | – | ● |
| Scan a car: VIN, ECUs, DIDs, DTCs | – | ● |
| Simulate ECUs on a CAN interface | – | ● |
| Build simulator configs from traces | – | ● |
| Stream captures to the cloud | – | ● |