Data bytes: one column or one per byte
One column keeps the payload as a hex string such as 8F 02 11. One per byte adds D0, D1 and onward, sized to the longest frame in the log.
Export raw frames, not decoded signals: a CSV for Excel, pandas or a database, with the byte layout, ID format and file size under your control.
Step 1 of 3 · Upload logs
Drop your BLF file here
or.blf files up to 150 MiB, up to 5 at a time. Conversion runs in your browser, so files stay on your computer.
A trace is for reading one stretch of a capture. A table is for asking questions of all of it.
Sort by ID, keep one channel, or pivot a count of frames per ID to see which messages dominate the bus.
One row per frame means a group-by on the ID column gives message counts, and a diff on the time column gives each ID's real cycle time.
With one column per byte, a rolling counter or a status flag is a column you can chart or filter, with no slicing of hex strings.
A CSV opens anywhere. A colleague or a supplier can read your frames without CANoe, a BLF reader or a script.
Four choices decide how the CSV reads. The defaults are the compact form; the others are there for spreadsheets.
One column keeps the payload as a hex string such as 8F 02 11. One per byte adds D0, D1 and onward, sized to the longest frame in the log.
Hex matches what a DBC and CANoe show. Decimal is easier to sort, join and compare in numeric tools.
Seconds from the first frame start every capture at zero. Unix epoch keeps the wall-clock time when the BLF recorded it.
Excel stops at 1,048,576 rows. The split option writes parts of 1,000,000 rows, each with its own header row.
Every row is one frame as the logger recorded it. Nothing is decoded or filtered.
| Time (s) | Channel | ID (hex) | Length | Data (hex) |
|---|---|---|---|---|
| 0.000000 | 1 | 1A0 | 8 | 8F 02 11 00 00 00 00 3C |
| 0.010003 | 1 | 3E8 | 8 | 00 40 1F 00 01 00 00 00 |
| 0.012180 | 2 | 18DAF110 | 12 | 62 F1 90 57 41 55 … |
| Column | Example | Meaning |
|---|---|---|
| Time (s) | 0.012180 | Seconds from the first frame, with microsecond precision, or Unix seconds if you choose that. |
| Channel | 2 | The channel number, counted from 1 as CANoe does. |
| ID (hex) | 18DAF110 | The arbitration ID without 0x. A 29-bit ID shows all of its digits. |
| ID format | 29-bit | 11-bit for standard IDs, 29-bit for extended ones. |
| Type | CAN FD | CAN, CAN FD, Remote or Error. |
| Length | 12 | Payload length in bytes, up to 64 on CAN FD. |
| Data (hex) | 62 F1 90 … | The payload in hex: one column, or D0, D1 and onward. |
The file is UTF-8 with a header row, so it opens without an import wizard.
Double-click the file. If you chose Excel-safe parts, load them together with Data, Get Data, From Folder. Set the ID column to Text so an ID such as 1E3 is not read as a number.
import pandas as pd
df = pd.read_csv("drive.csv",
dtype={"ID (hex)": str})
# cycle time of one ID
df[df["ID (hex)"] == "1A0"]
["Time (s)"].diff().describe()Read the ID as a string so values like 1A0 and 257 stay in one column type.
SELECT "ID (hex)", count(*) AS n
FROM 'drive.csv'
GROUP BY 1 ORDER BY n DESC;Query the file where it is, with no import step.
A frame table gets large quickly. These are the numbers to plan around.
With one file, a log with more frames stops with a message. With Excel-safe parts, one log can hold up to 5,000,000 frames as long as the CSV stays under about 400 MB.
The hex layout is the smaller one. One column per byte on CAN FD is the larger. A part of 1,000,000 rows is about 90 to 140 MB.
Each BLF becomes its own CSV, or its own set of parts, and keeps its name.
This page writes the frames as recorded. For decoded signals with units, the BLF to MAT converter applies your DBC.
Excel cannot read BLF directly. Export it to CSV here and open the CSV. If the capture has more than 1,048,576 frames, choose Excel-safe parts so each file fits on a sheet.
Excel reads 1E3 as scientific notation and shows 1000. Import the ID column as Text, or export the IDs in decimal instead.
This page writes the raw frames: ID, length and bytes. BLF to MAT applies a DBC and writes decoded signal values with units. Use the frames when you want to inspect the bus, and the signals when you want physical values.
By default they are seconds from the first frame. If the BLF recorded wall-clock time and you choose Unix epoch, the first frame keeps its real time. A log without wall-clock time falls back to seconds from the first frame.
Yes. The Type column says CAN, CAN FD, Remote or Error, and the Length column shows up to 64 bytes. Error frames have no ID.
No. The file is read and the CSV is written in your browser tab, so a capture from a prototype vehicle never leaves your computer.
A spreadsheet cannot slice a hex string such as 8F 02 11 cleanly. With D0, D1 and onward, a single byte is a column you can convert, chart or filter on its own.
The next job after this one, each on its own page.